FFmpeg '-bframebias'选项消失了?



最近我将ffmpeg更新到1.1版本,当我运行包含bframebias的命令时,它显示了一个错误:

Unrecognized option 'bframebias'.
Error splitting the argument list: Option not found

这个命令过去很正常。所以选项bframebias被去掉了还是被另一个选项取代了?

C:UsersRaymondDownloadsffmpeg-1.1-win32-staticbin>ffmpeg -i C:UsersRaymon
dDesktopIntroductiontoITILREAD2.wmv -vcodec libx264 -r 25 -b:v 1500k -profile:
v main -level 41 -bf 3 -direct-pred auto -b_strategy 1 -weightb 1 -bidir_refine
1 -b-pyramid none -bframebias 0 -8x8dct 0 -partitions i8x8,i4x4,p8x8,p4x4,b8x8 -
maxrate 24000k -bufsize 24000k -bt 1.0 -qcomp 0.60 -me_range 16 -sc_threshold 40
 -me_method hex -subq 7 -cmp chroma -qmax 69 -qmin 10 -i_qfactor 0.71 -b_qfactor
 0.77 -trellis 0 -refs 2 -mixed-refs 0 -coder 1 -fast-pskip 1 -flags +loop -debl
ock 0:0 -rc-lookahead 40 -mbtree 1 -psy 1 -slices 0 -slice-max-size 0 -preset fa
st -acodec libvo_aacenc -profile:a aac_low -ar 48000 -ab 128000 -ac 2 -s 720x576
 -aspect 16:9 -f matroska C:UsersRaymondDesktopOUTPUT.mkv
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan  8 2013 16:10:57 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e
nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --e
nable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Unrecognized option 'bframebias'.
Error splitting the argument list: Option not found

为什么要声明一大堆看似随机设置的x264选项,然后添加编码预设?建议简单地使用x264预设,而不是试图调整每个选项。

为什么要使用预设?

预设:

  • 是由x264开发者设计的
  • 保持最新的任何选项更改,删除和添加
  • 更容易使用

你知道-bframebias(或--b-bias如果直接使用x264 cli)做什么吗?您知道0是默认值吗?您知道-bframebias对于b-bias libx264私有选项已经贬值了吗?

这就是为什么你应该使用预设。你将不必与选项的变化作斗争(尽可能多),你不必知道每个选项的作用,因为预设会为你处理它。

一个更简单和干净的命令

例如,您的命令可能可以简化为:

ffmpeg -i input -codec:v libx264 -b:v 1500k -profile:v main -level 41 -preset fast -codec:a libvo_aacenc -b:a 128k -ac 2 -vf scale=720:-1 output.mkv

虽然我怀疑你是否需要-profile:v main -level 41,但我不确定你想要实现什么,我建议使用-crf而不是-b:v

选择预设

对于大多数目的,您希望使用最慢的-preset和最高的-crf值,但仍然可以提供可接受的质量。有关更多信息和示例,请参阅FFmpeg和x264编码指南。

更改预设值

如果你觉得你需要调整选项,然后使用适当的libx264私有AVOptions(如ffmpeg -h fullffmpeg -h encoder=libx264所示)或使用-x264-params选项。

最新更新