0

私はビットレートに関する非常に大きな問題を扱っています。ffmpeg-bはビットレートとそれが提供する調整のためのオプションを提供-minrateしますが-maxrate-bufsizeそれは適切に機能しません。オプションで256kbpsを指定している-b場合、トランスコーディングが終了すると、380kbpsが提供されます。ffmpegを使用して固定ビットレートを達成するにはどうすればよいですか。+ -10Kbの場合、調整可能です。ただし、ビデオのビットレートは常に50〜100kbpsを超えます。

次のコマンドを使用しています

ffmpeg -i "demo.avs" -vcodec libx264 -s 320x240 -aspect 4:3 -r 15 -b 256kb \ 
  -minrate 200kb -maxrate 280kb -bufsize 256kb -acodec libmp3lame -ac 2    \
  -ar 22050 -ab 64kb -y "output.mp4"

トランスコーディングが行われると、Media Infoは全体のビットレートを440kb(320kbにする必要があります)と表示します。

コマンドに何か問題がありますか。または、他のパラメータを使用する必要がありますか?Plzはあなたの提案を非常に重要なものにします。

4

1 に答える 1

1

これらのオプションは、あなたが思っていることをしません。FFmpeg FAQから:

3.18 FFmpeg does not adhere to the -maxrate setting, some frames are bigger than
     maxrate/fps.

          Read the MPEG spec about video buffer verifier.

3.19 I want CBR, but no matter what I do frame sizes differ.

          You do not understand what CBR is, please read the MPEG spec. Read 
          about video buffer verifier and constant bitrate. The one sentence 
          summary is that there is a buffer and the input rate is constant, the
          output can vary as needed.

私はあなたのために文を強調させてください:

一文の要約は、バッファがあり、入力レートが一定であり、出力は必要に応じて変化する可能性があるということです。

つまり、本質的に、-maxrateおよびその他の設定は、思ったように出力ストリームレートを制御しません。

于 2010-05-02T09:35:52.390 に答える