我不擅长处理视频文件,我想听听以其他方式指定的参数,而不是在坞站中。
-b:v:2 800k -maxrate:2 856k -bufsize:2 1200k
-b:v:2 800k // 指定视频比特率,即使输入文件较低,它也会固定。也就是说,如果输入文件为 10MB,比特率为 450k,则输出文件为 20M,比特率为 800k。正确的?
-maxrate:2 856k // 这些速率是什么,它们的用途是什么?它与第一个相同,还是仍然限制并且不严格导致850k?
-bufsize:2 1200k //根本不清楚这个视频的用途和原因?
为了。
-b:v:2
- 指定视频流 2 的平均比特率(视频文件可以包含多个视频流)。-b:v:2 800k
- 视频流 2 的平均比特率,即如果输入文件在第二个视频流中的比特率发生“跳跃”(例如,从 450 到 1200),ffmpeg 将尝试平滑它们,并使整体视频比特率达到大约800 kb/s。-maxrate:2 856k
- 严格将视频流 2 的比特率上限固定为 856 kb/s。我们告诉 ffmpeg 你不能跳到这个比特率以上。-minrate:2 756k
- 严格将视频流 2 的比特率下限固定为 756 kb/s。我们告诉 ffmpeg 你不能跳到这个比特率以下。-bufsize:2 1200k
- 此选项指定 ffmpeg 计算视频流 2 的平均比特率的频率。您
bufsize
需要仔细尝试,看看哪个结果最适合您。如果将缓冲区设置得太小,可能会影响输出视频的质量,因为 ffmpeg 经常会尝试计算“是否超出了平均比特率限制-b:v
”。如果你将其设置bufsize
为高,那么平均比特率的计算将很少,这就是为什么比特率可能会发生急剧变化,例如,你想要10 kb/s的传播,但如果它很大的话bufsize
就可以了; 100 KB/秒。比特率应该在合理的范围内以某种方式跳跃,具体取决于场景的动态。许多参数和优化已经为您完成。您可以尝试使用这些参数并获得更适合您目标的结果,但您必须自己找到这些值。为什么会发生这种情况?因为许多优化是基于一般限制进行的,通过更改相同的内容,
buffsize
您可以为 ffmpeg 设置其他限制,有时这些优化会停止工作。