【发布时间】:2012-07-06 09:07:06
【问题描述】:
我正在开发一个 Java 应用程序来记录屏幕。我正在使用机器人来截取几张屏幕截图,将它们保存到一个临时文件夹中,然后我使用 JpegImagesToMovie.java 将它们构建到 QuickTime 电影文件中。
我遇到的问题是,尽管我的脚本以 20fps 运行,但我只能达到 5fps 左右。我已将其跟踪到磁盘速度,因为将图像保存到磁盘需要很长时间,这会阻碍脚本的其余部分。
接下来,我修改了脚本以将图像存储在 BufferedImages 数组中,然后在录制停止后将它们写入磁盘以固定帧速率,但是在重新编码时,Java 将很快耗尽内存(几秒钟后记录)。
有没有人对此有任何想法或经验。我能想到的一种解决方案是,是否有办法增加 JPEG 图像的压缩率,但我不确定如何做到这一点。
任何帮助将不胜感激!
【问题讨论】:
-
要获得 20fps,您可能应该使用真正的视频编解码器,而不是在驱动器上爆破 JPEG
-
在Monte Media Library 看到的屏幕录像机可以以 20 FPS 的速度进行全屏(此处为 1920x1080 像素)视频捕捉。它使用 JMF & 直接编码为 MOV 或 AVI。
-
这看起来像我想要的!当我下班回家报告时会玩它。
标签: java performance disk frame-rate awtrobot