实时屏幕共享到Java应用程序(localhost)

时间:2015-01-23 10:37:48

标签: java swing overlay screensharing

我正在寻找一种方法来为正在运行的 Windows 游戏添加叠加层,例如OBS(用于Twitch的游戏流应用)。

我虽然使用Robot课程每秒拍摄25/30个截图并显示它们,但我不确定这是否是正确的解决方案..

所以我的问题如下:我如何屏幕共享正在运行的应用程序到Java应用程序(localhost,同一台计算机),以便在它前面添加叠加层?

编辑:我尝试使用VLC Streaming,但这会让计算机变得非常滞后(i7 / 8Gb)......我也尝试使用FFMpeg,使用screen-capture-recordergdigrab ,电脑没有延迟,但视频实时降低了5/10 FPS。
在FFMpeg中,我使用了以下命令:ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30

我想拥有一台25/30 FPS的游戏电脑(i7 / 8Gb)..

2 个答案:

答案 0 :(得分:3)

试试java-screen-recorder,它是一个简单的屏幕截图和转换器。它不是非常消耗cpu / gpu。解决方案基于java.awt.Robot并重复捕获屏幕。

答案 1 :(得分:1)

我曾使用Robot&amp; amp ;;开发了SimRat(像Teamviewer这样的简单屏幕共享应用)。 CORBA。您可能能够获得查看代码的基本想法。这不是实现屏幕共享的最佳方式。 Java RMI对您有所帮助。