【发布时间】:2017-01-10 13:04:30
【问题描述】:
1.我们需要将屏幕截图录制成 2-3 fps 的视频。质量 - 使屏幕上的文本可读的最低限度,256 色。尽可能减小输出视频文件的大小很重要。
2.我们做了很多测试,目前最合适的方法是每300-500毫秒截图一次,保存为PNG格式,然后运行ffmpeg使用这些参数编码为H.267:
ffmpeg -f image2 -i "C:\png5min\image%04d.png" -y -an -vcodec libx264 -preset veryfast -crf 30 "C:\output.mp4"
3. 以 2-3fps 的截屏视频获得最小输出尺寸的最佳方法是什么?
4.输出文件播放速度非常快,编解码器默认关注图像代表 25fps。但它们实际上是 2fps。 好的,但是如果我们尝试降低输出帧速率,输出文件大小会增加大约两倍! (对于 3m:26s 的视频,从 3mb 到 6mb)。如果我们将输出帧速率设置为 2 - 视频根本不播放帧或仅播放 2 帧 3 分钟...:
-r 2 -f image2 -i "C:\png5min\image%04d.png" -y -an -vcodec libx264 -preset veryfast -crf 30 -r 2 "C:\image5min_2fps_crf30_test__R2-2.mp4"
那么,我们怎样才能在每帧之后增加一些延迟而不增加输出文件的大小???
【问题讨论】:
-
顺便说一句,如果我们尝试直接用 ffmpeg 录制屏幕,我们会得到一个更大的输出文件: ffmpeg -f dshow -r 2 -i video="screen-capture-recorder" -vcodec libx264 - crf 30 -preset ultrafast c:\output3.mkv 所以,看起来编解码器在压缩预定义的图像集时效果更好,是吗?
-
stackoverflow.com/a/43464269/6180077 访问此链接以获取有效的 FFMPEG c++ mp4 格式屏幕录像机应用程序。
标签: video ffmpeg h.264 video-capture libx264