ffmpegで出力ファイルに.webmを指定すると、自動的にVP9(デフォルトのビットレートは200k)が使われる。
VP9でエンコードするには、
-vcodec vp9
もしくは
-vcodec libvpx-vp9
を指定する。
なお、一世代前のVP8でエンコードするには、
-vcodec vp8
もしくは
-vcodec libvpx
と指定する必要がある。
VP9では、何もオプションを指定しない場合ビットレート固定モードとなる。
オプションを指定しない場合のデフォルトのビットレートは200k(ただし200kであまりに小さすぎてエンコードできないようなものは、これより大きな値になるようである)であり、これは、最近のビデオサイズであると、かなり低い。
DVDサイズでも、500k前後、できれば1M以上はほしいところである。保存用であれば、フルHDで20Mbps、4kで60Mbpsはほしい。
なお、ビットレートを非常に高く指定しても、それ以下で最高品質である-crf 0が実現してしまう場合、それが実現するビットレートでエンコードされる。すなわち非常に高いビットレートを指定しても指定したビットレートに達しない場合がある。
ほかのコーデック同様、1パス、および2パスエンコードが使用可能で2パスエンコードが望ましい。
-crfオプションで決まる。値は0から63。
小さい数字ほど品質は上がる。
この際に、-b:v 0を必ず同時に指定する。これを指定しないと下記の理由により、ビットレートが200kbpsに制限されてしまう。
VP9では、-b:vで指定されたビットレートを上限に、crfで指定された品質を実現しようとする。
ビットレートを指定せずに、-crfしかし指定しないとデフォルトのビットレート200kbpsが上限に適用されてしまうので、実質望みのcrfを実現できない。
完全にcrfに従うようにするには、ビットレートを極端に高い値にする。例えば、-crf 10 -b:v 1000Mbpsなどとすると、当然1000Mなどというビットレートには達しないので、crf値に従ってビットレートは決まる。-b:v
0としても上限が無制限になり、crf値に従ってビットレートは決まる。
deadlineオプションはエンコード速度と品質もしくは出来上がるファイルサイズを決定する。
-deadline [realtime, good, best]
デフォルトはgood。bestにすると品質一定モードの場合、品質は同じであるが、ファイルサイズは小さくなる一方、エンコード時間は延びる。
-threadsで使用するプロセッサの数を指定する。
-threads 8
とすると、8つ使用する。
最終更新日