积极的h.264压缩设置,专门用于非常长的场景,场景变化很小

时间:2010-12-11 22:15:05

标签: video encoding compression ffmpeg h.264

假设我的视频流在很长一段时间内(几分钟到几小时)都有非常少的场景变化,我使用像FFmpeg这样的东西将原始视频转码为h.264,我可以进行哪些设置为了利用大型冗余?

是否将设置最小关键帧间隔设置为最大值(无论是什么)这么简单?

h.264规范中是否有空间增强FFmpeg以进一步利用很长时间而没有场景变化?

1 个答案:

答案 0 :(得分:4)

首先,请注意FFmpeg本身并不编码h264,而是x264

是的,定义一个异常长的keyframe应该会大幅减少长时间很少或没有动作的视频的大小。为什么?因为“关键帧”是包含所有视频数据的帧 - 如果你愿意的话是快照。所有其他帧将与关键帧区分开来。这样做的一个警告是,如果中间帧有任何损坏,那么视频将被破坏,直到出现下一个关键帧。

要在使用FFmpeg进行编码时显式设置关键帧间隔,请使用-g开关。如果您的视频是每秒25帧,并且您希望关键帧每分钟显示一次,请将-g 1500添加到您的FFmpeg命令行。 (25 f / s x 60 s = 1500 f)

您可以控制关​​于您可能感兴趣的关键帧的其他有趣方面,其中许多都记录在此处:x264 ffmpeg mapping and options guide