我想创建一个 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-pskip
ffmpeg
rc_lookahead
rc-lookahead
ffmpeg -h full
libx264 AVOptions
对于所有你想使用的人选项-x264opts
并传递一个列表key=value:key=value
,例如:
ffmpeg -i input.mp4 -c:v libx264 -x264-params rc_lookahead=30:keyint=500 output.mp4
请注意,手动配置这些选项几乎没有意义。使用该-preset
选项并选择x264 预设之一如果你想让它保持简单。