FFmpeg命令应用多个过滤器并限制最终文件大小

时间:2016-03-16 16:02:40

标签: macos bash ffmpeg video-processing

我正在使用下面的命令将视频转换为定义比例的格式,以便对字幕进行硬编码

原始语法

ffmpeg -i "Original File.mov"  -vf subtitles=Subtitles.srt -vf scale=1920:1080 \
       -crf 12 "Final File".mov

问题

我想进一步扩展此命令:

  • 确保产品文件 2GB
  • 我想在advanced subtitle options中添加其他参数,例如设置画布大小和修复潜在延迟

旁注

我估计如果预定义文件大小,-crf 12参数将是多余的?

1 个答案:

答案 0 :(得分:1)

您可以通过定义平均比特率来设置文件大小的上限,例如-b:v 4000k和最高比特率-maxrate 5000k -bufsize 5000k,基于视频的持续时间。正如FFmpeg wiki所解释的那样。您可以使用CRF代替-b:v,但您需要保持最大值和bufsize。

要应用多个过滤器,请在一个过滤链中指定它们,以逗号分隔,所以:

-vf subtitles=Subtitles.srt,scale=1920:1080

据我所知,这些高级字幕选项适用于作为常规输入呈现的字幕,而不是通过硬编码字幕过滤器

相关问题