我想使用套接字流式传输桌面屏幕截图.
我不知道执行此操作的确切方法,所以我选择了AWT的机器人:)
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
问题是来自机器人的图像太大而无法生成流.
1440×900的捕获量约为0.3MB,我无法足够快地传输以创建流畅的24fps流.
目前,我正在使用TCP套接字,因为在将映像分割成多个部分并通过UDP发送时遇到了问题.
这可能不是正确的方法,但是什么呢?高清视频流如何传输?
提前致谢
解决方法:
我认为您将需要外部库来创建视频(可能取决于平台).
使用图像的方法很简单,但是您需要发送每个帧.使用视频编解码器时,它的尺寸较小,因为它发送的是全尺寸的帧,而另一些只包含图片的更改部分
看这里:
http://en.wikipedia.org/wiki/Key_frame
http://en.wikipedia.org/wiki/I-frame
这里是我刚刚搜索过的一些开源库:
https://code.google.com/p/java-screen-recorder/
http://www.xuggle.com/xuggler/
我想您也可以找到一些库来从图像创建视频流…