如何捕获Java中的标准视频输出

时间:2012-09-28 07:12:55

标签: java coordinates screenshot video-capture monitor

我想要捕获系统的标准输出,这是我们在监视器上可以看到的所有内容,从0,0坐标到x,y。我尝试使用50方法每秒进行Robot.createScreenCapture(Rectangle rectangle))屏幕捕获,但它使用了大量内存和CPU。相反,如果我可以捕获标准输出并在视频播放器中重现它(例如),我认为它应该使用更少的内存和CPU。有人能指出我的方向吗?

1 个答案:

答案 0 :(得分:0)

记录屏幕是一项特定于OS环境的特定任务。例如,在Linux上,可以通过使用XLib或类似库直接与X服务器通信来进行屏幕捕获。

如果你很幸运,有人用Java创建了一个抽象这项工作的库(比如Robot类),但是如果你找不到这样的库,那么你必须自己为每个平台做一个实现。

不幸的是,您可能不得不使用另一种语言而不是Java进行某些工作,因为可能不存在针对特定于操作系统的调用的Java绑定。

一个好的起点是查看现有项目。对于Linux,这可能是RecordMyDesktop: http://recordmydesktop.sourceforge.net/development.php

对于Windows,您可以查看:http://taksi.sourceforge.net/

总而言之:对于有问题的任务,Java可能不是“锤子”。