我想要捕获系统的标准输出,这是我们在监视器上可以看到的所有内容,从0,0
坐标到x,y
。我尝试使用50
方法每秒进行Robot.createScreenCapture(Rectangle rectangle))
屏幕捕获,但它使用了大量内存和CPU。相反,如果我可以捕获标准输出并在视频播放器中重现它(例如),我认为它应该使用更少的内存和CPU。有人能指出我的方向吗?
答案 0 :(得分:0)
记录屏幕是一项特定于OS环境的特定任务。例如,在Linux上,可以通过使用XLib或类似库直接与X服务器通信来进行屏幕捕获。
如果你很幸运,有人用Java创建了一个抽象这项工作的库(比如Robot类),但是如果你找不到这样的库,那么你必须自己为每个平台做一个实现。
不幸的是,您可能不得不使用另一种语言而不是Java进行某些工作,因为可能不存在针对特定于操作系统的调用的Java绑定。
一个好的起点是查看现有项目。对于Linux,这可能是RecordMyDesktop: http://recordmydesktop.sourceforge.net/development.php
对于Windows,您可以查看:http://taksi.sourceforge.net/
总而言之:对于有问题的任务,Java可能不是“锤子”。