实时屏幕共享到Java应用程序(本地主机)
我正在寻找一种方法来为正在运行的Windows游戏添加覆盖图,例如OBS(用于Twitch的游戏流应用程序)。
我虽然关于使用Robot
类每秒钟截取25/30的截图并显示它们,但我不确定这是正确的解决方案。
所以我的问题如下:我如何屏蔽正在运行的应用程序到Java应用程序(本地主机,同一台计算机),以便在它前面添加覆盖图?
编辑 :我尝试使用VLC流媒体,但这使得电脑真的laggy(i7 / 8Gb)...我也尝试使用FFMpeg,使用screen-capture-recorder
和gdigrab
,电脑不是laggy,但视频像5 / 10 FPS实时。
在FFMpeg中,我使用了以下命令: ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30
。
我想有一个游戏机(i7 / 8Gb)的25/30 FPS ..
我曾经使用Robot&Corba开发SimRat(一个简单的屏幕分享应用程序,如Teamviewer)。 您可能会看到代码的基本想法。 这不是实现屏幕共享的最佳方式。 Java RMI对你有帮助。
尝试java-screen-recorder,它是一个简单的屏幕捕捉器和转换器。 这不是非常消耗CPU / GPU。 基于java.awt.Robot
解决方案和重复捕获屏幕。