注:この情報は、VP9エンコーディングに関するFFmpeg Wikiに基づいています。詳細については、その記事を参照してください-それは継続的に維持され、拡張されます。最良の結果を得るために、あなたは、最近のバージョンを使用する必要がありますffmpeg
ことにより、彼らのウェブサイトからダウンロード(静的ビルドで十分でしょう。それが含まれているlibvps-vp9
エンコーダを)。
可変ビットレート
VBRエンコーディングは、エンコーダがフレームに割り当てるビット数を自由に選択できるため、最適な全体品質を提供します。固定ビットレートストリーミング用にビデオを準備している場合を除き、このモードを選択します。
オプション1:一定品質のエンコード
通常、特定のファイルサイズをターゲットにしたくない場合は、ビットレートを自由に変化させる必要があります。これにより、最高の品質が得られます。これを行うには、ビットレートを0に設定し、固定レートファクター(CRF)を目標品質レベルに設定します。
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
CRF値は0〜63です。値が小さいほど品質が高くなります。推奨値の範囲は15〜35で、1080p HDビデオには31が推奨されます。Googleには、その詳細についてのガイドがあります。
オプション2:ターゲットビットレートを使用した2パスエンコーディング
ファイルに特定のターゲットビットレートまたはファイルサイズを設定する場合は、レートを指定し、2パスエンコーディングを使用する必要があります(これにより、最適な品質分布が保証されます)。ここでは、5 MBit / sを選択していますが、これは1080pコンテンツに十分なはずです。
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm
WindowsユーザーNUL
は/dev/null
、の^
代わりにおよびの代わりにを使用する必要があります\
。
固定ビットレート
まず、libvpx は固定ビットレートと可変ビットレートのエンコードモードを提供します。特定のファイルサイズまたはストリーミングシナリオを対象としない限り、一定のビットレートは可能な限り回避する必要があります。ファイルサイズあたりの平均品質が低下するためです。それでも、たとえば1 MBit / sで他に何も機能しない場合は、一定のビットレートを設定してみてください。
ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm
出力を見て、好みに合わせてビットレートを増減します(またはファイルサイズの制約)。たとえば、500K
または5M
などを使用できます。
指定する必要があります -minrate
エンコーダーがCBRを使用するには-maxrate
、、およびビットレートがあり-b:v
。それらはすべて同じ値を持つ必要があります。そうでなければ、代わりに異なるターゲットビットレートを選択し、VBRエンコードを行いますが、品質は低下します。
オーディオ
VP9エンコーディングに現在選択されているオーディオコーデックはOpusです。FFmpegは、デフォルトで必要なエンコーダーとそのオプションを選択します。明示的に設定-c:a libopus
する場合は、同様に行うことができます。その他のオプションについては、libopus
ドキュメントを参照してください。