我正在寻找一种方法来为正在运行的 Windows 游戏添加叠加层,例如OBS(用于Twitch的游戏流应用)。
我虽然使用Robot
课程每秒拍摄25/30个截图并显示它们,但我不确定这是否是正确的解决方案..
所以我的问题如下:我如何屏幕共享正在运行的应用程序到Java应用程序(localhost,同一台计算机),以便在它前面添加叠加层?
编辑:我尝试使用VLC Streaming,但这会让计算机变得非常滞后(i7 / 8Gb)......我也尝试使用FFMpeg,使用screen-capture-recorder
和gdigrab
,电脑没有延迟,但视频实时降低了5/10 FPS。
在FFMpeg中,我使用了以下命令:ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30
。
我想拥有一台25/30 FPS的游戏电脑(i7 / 8Gb)..
答案 0 :(得分:3)
试试java-screen-recorder,它是一个简单的屏幕截图和转换器。它不是非常消耗cpu / gpu。解决方案基于java.awt.Robot
并重复捕获屏幕。
答案 1 :(得分:1)
我曾使用Robot&amp; amp ;;开发了SimRat(像Teamviewer这样的简单屏幕共享应用)。 CORBA。您可能能够获得查看代码的基本想法。这不是实现屏幕共享的最佳方式。 Java RMI对您有所帮助。