桌面TCP流(java)

我想使用套接字流式传输桌面屏幕截图.
我不知道执行此操作的确切方法,所以我选择了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/

我想您也可以找到一些库来从图像创建视频流…

上一篇:python-Tweepy是否支持运行多个Streams来收集数据?


下一篇:SparkStreaming 介绍