-1

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

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

该命令过去可以正常工作。那么该选项bframebias被删除还是被另一个选项取代?

C:\Users\Raymond\Downloads\ffmpeg-1.1-win32-static\bin>ffmpeg -i C:\Users\Raymon
d\Desktop\IntroductiontoITILREAD2.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:\Users\Raymond\Desktop\OUTPUT.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
4

1 回答 1

1

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

为什么要使用预设?

预设:

  • 由 x264 开发人员设计
  • 与任何选项更改、删除和添加保持同步
  • 更容易使用

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

这正是您应该使用预设的原因。您将不必(尽可能多地)与选项更改作斗争,并且您不必知道每个选项的作用,因为预设会为您处理它。

更简单、更干净的命令

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

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,但我不确定你想要达到什么目的,我建议使用 of-crf而不是-b:v.

选择预设

For most purposes you want to use the slowest -preset you have patience for and the highest -crf value that still gives an acceptable quality. See the FFmpeg and x264 Encoding Guide for more information and examples.

Changing the preset defaults

If you feel that you do need to tweak the options, then use the proper libx264 private AVOptions (as shown in ffmpeg -h full or ffmpeg -h encoder=libx264) or use the -x264-params option. See the example in Overwriting default x264 preset settings.

于 2013-03-18T21:44:14.350 回答