FFmpegの「-vb」および「minrate」/「maxrate」設定による可変ビットレート


12

レンダリングの場合、かかる時間は大きく異なります。

  • -b 3500K -minrate 0K -maxrate 8000K 1時間17分かかります
  • vb=3000k 2.5時間かかります

何がvb 3000kどのように違うの-b 3500K -minrate 0K -maxrate 8000Kですか?これらの可変ビットレート設定はありますか?

に変更した場合-b 3500K -minrate 3500K -maxrate 3500K、そのビットレートは一定ですか?

回答:


16

FFmpeg のドキュメント読み、ffmpeg -h fullオプションのリストを実行してください。また、私が書いたこの記事をご覧ください。x264やx265などのエンコーダーのレート制御モードの違いを示しています。

一般的に、オプションの意味は次のとおりです。

  • -b:v(または-vb、同じ)は、エンコーダーが使用するターゲット平均ビットレートを指定します。

    -b <int> E..VA。ビットレートを設定(ビット/秒)(0からINT_MAXまで)

  • -minrate 使用する最小許容値を指定します。

    -minrate <int> E..VA。最小ビットレート許容値(ビット/秒)を設定します。CBRエンコードの設定に最も役立ちます。それ以外ではほとんど役に立ちません。(INT_MINからINT_MAXへ)

  • -maxrate最大許容値を指定します。ただし、ドキュメントに示されているように、これは以下と組み合わせてのみ使用されbufsizeます。

    -maxrate <int> E..VA。最大ビットレート許容値(ビット/秒)を設定します。bufsize設定する必要があります。(INT_MINからINT_MAXへ)

    -bufsize <int> E..VA。レート制御バッファサイズを設定します(ビット単位)(INT_MINからINT_MAXまで)

    これは、可変ビットレートエンコーディングの場合にのみ意味があります。一定のビットレートまたは一定の品質モデルを使用する代わりに、エンコーダーはデコーダーで仮想バッファーを使用して伝送をシミュレートします。-minrate/ -maxrate/ -bufsizeオプションは、そのバッファのサイズを制御します。デコーダーバッファーがオーバーフローまたはアンダーフローする特定の値を超えないようにするため、この手法はビットレートを制限するため、通常はこのモードをストリーミングにのみ使用します。

要約すると、ビットレートを制限するためのいくつかのオプションがあります。

  1. CBRプロセスを設定するには、エンコーダーが提供するものを確認する必要があります。エンコーダはビットを浪費しないため、通常、「完全な」一定のビットレートを実現することはできません。設定-b:v-minrateおよび-maxratelibx264ため、たとえば、同じレベルにそれを達成します。

    ffmpeg -i input.mp4 -c:v libx264 -x264-params "nal-hrd=cbr" -b:v 1M -minrate 1M -maxrate 1M -bufsize 2M output.ts
    

    警告:これにより、エンコードが難しいビデオの品質が低下する可能性があり、ビットを浪費します。一定レートの出力を達成する必要がある場合を除いて、このオプションは使用しないでください。

  2. ストリーミング用の制約付き/可変ビットレートプロセスを設定します。-b:v 3500K -maxrate 3500K -bufsize 1000Kたとえば、を使用します。レートとバッファサイズをコンテキストに合わせて調整する必要があります。バッファサイズが大きいほど、許容されるビットレートの変動が大きくなります。

  3. 一定の品質目標を使用し、スパイクをキャッチするためにのみビットレートを制限します。たとえば-c:v libx264 -crf 23 -maxrate 4M -bufsize 4M、23のターゲットCRFで可変ビットレートでエンコードするために使用しますが、出力を最大4 MBit / sに制限します。


1
可変ビットレートを使用してどのようにエンコードしますか?使用する構文のように?
Scott Downey 2013年

どのエンコーダを使用しますか?
slhck

ffmpeg、kdenliveで使用されていると思います
Scott Downey

いいえ、つまり、H.264 / MPEG-4 AVCビデオの場合はx264、MPEG-4の場合はXviD、またはOgg Theoraなどです。どのファイルが必要ですか?MP4?
slhck

3
FFmpegでのx264を使用したエンコードの詳細については、ここを参照してください。特にプリセットに注目します(私は通常、非常に高速なプリセットを使用しています。私のテストでは、ファイルサイズの最大の低下は、超高速と超高速の間でした-その後、違いははるかに増加しました。もちろんYMMV)。
evilsoup 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.