有人建议我将未经修改的X显示器的副本定向到一个文件,然后将该文件转换为通用视频文件。在Kubuntu系统上,我将使用哪些命令来执行此操作?(编辑:他说过有关在文件上附加显示端口的内容。)如果不可能,对于不依赖快速硬件的高质量屏幕录制,我最好的选择是什么?
背景:我尝试将avconv与-f x11grab和一些GUI程序一起使用。但是,无论我如何尝试,最终产生的视频要么具有伪影/模糊性,要么变得断断续续(缺少帧)。这可能是由于CPU /内存限制。
目标:
- 视频质量不得与直接在屏幕上看到会话明显不同,因为其目的是演示动画应用程序。
- 最终视频必须采用可以发送给Windows用户并可以在网络上使用的通用格式。我认为H.264 MP4应该可以使用。
- 该解决方案不应假定很多先验知识。我熟悉命令行和基本的Linux命令,但是我仍在学习Linux,对视频编解码器了解不多。
我已经尝试过的
- 到目前为止最好的命令:
ffmpeg -f x11grab -s xga -r 30 -i :0.0 -qscale 0.1 -vcodec huffyuv grab.avi
,然后使用将其转换为mp4ffmpeg -i grab.avi -sameq -vcodec mpeg4 grab.mp4
。- 图像质量很好,但是在我的测试系统上,它落后于计算机。在较快的目标系统上,它不会滞后,但是显然会跳过帧,从而使视频不太流畅。
- 我仍在尝试找出如何将grab.avi文件保存到SHM,以查看是否有帮助。
- 使用Istanbul和RecordMyDesktop GUI记录器
- 简单命令:
avconv -f x11grab -s xga -r 25 -i :0.0 simple.mpg
使用avconv版本0.8.3-4:0.8.3-0ubuntu0.12.04.1 - 添加
-codec:copy
(失败:Requested output format 'x11grab' is not a suitable output format
) - 添加
-same_quant
(结果质量很高,但是非常不连贯/缺少许多帧) - 添加
-vpre lossless_ultrafast
(失败:Unrecognized option 'vpre'
,Failed to set value 'lossless_ultrafast' for option 'vpre'
) - 添加各种值
-qscale
- 添加各种值
-b
- 加
-vcodec h264
(重复输出:Error while decoding stream #0:0
,[h264 @ 0x8300980] no frame!
)- 注意:h264在
avconv -formats
输出中列出为DE h264 raw H.264 video format
- 注意:h264在