实时屏幕共享到 Java 应用程序(本地主机)

Real-time screensharing to Java app (localhost)

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

虽然我想使用 Robot class 每秒截取 25/30 的屏幕截图并显示它们,但我不确定这是正确的解决方案..

所以我的问题如下:我如何 screenshare 一个 运行 应用程序到 Java 应用程序(本地主机,同一台计算机),以便在它前面添加叠加层?

编辑:我试过使用 VLC 流媒体,但这让计算机真的很慢(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)..

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

我曾经使用 Robot & Corba 开发过 SimRat(一个简单的屏幕共享应用程序,如 Teamviewer)。您可能能够通过查看代码获得基本概念。这不是实现屏幕共享的最佳方式。 Java RMI 会对你有所帮助。