从 x264 选项创建 FFmpeg 预设文件

从 x264 选项创建 FFmpeg 预设文件

我想创建一个 FFmpeg 预设文件。如果我运行示例命令,它会显示当前使用的预设

$ ffmpeg -i 输入文件.mp4 输出文件.mp4
[libx264 @ 0000000002a9a5c0] 264 - 核心 140 r2377 1ca7bb9 - H.264/MPEG-4 AVC 编解码器
- 版权所有 2003-2013 - http://www.videolan.org/x264.html - 选项:cabac=1 ref=3
deblock=1:0:0 分析=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 hybrid_ref=1
me_range=16 chroma_me=1 网格=1 8x8dct=1 cqm=0 死区=21,11 fast_pskip=1
chroma_qp_offset=-2 线程=12 lookahead_threads=2 切片线程=0 nr=0 抽取=1
隔行=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25
scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60
qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

现在我采用这些值并按照文档中指定的方式创建一个预设文件。

§ 预设文件

但是如果我尝试使用该文件,就会出错

$ ffmpeg -i infile.mp4 -fpre 设置.txt outfile.mp4
settings.txt:无效的选项或参数:'cabac=1
',解析为'cabac' = '1'

答案1

当您在预设文件中指定选项时,这些选项会映射到实际ffmpeg选项,而不是您查看调试输出时打印的编码器选项。

例如,在 x264中fast_pskip称为。 同理,其称为。 请查看部分,了解您可以直接映射的所有可能选项。-fast-pskipffmpegrc_lookaheadrc-lookaheadffmpeg -h fulllibx264 AVOptions

对于所有你想使用的人选项-x264opts并传递一个列表key=value:key=value,例如:

ffmpeg -i input.mp4 -c:v libx264 -x264-params rc_lookahead=30:keyint=500 output.mp4

请注意,手动配置这些选项几乎没有意义。使用该-preset选项并选择x264 预设之一如果你想让它保持简单。

答案2

你应该使用

编码器 = 1

代替cabac = 1

在预设文件中发布其他参数。

相关内容