web-dev-qa-db-ja.com

VP8 / 9のエンコードがH.264に比べて非常に遅いのはなぜですか?

最近、WebmコーデックVP8とVP9を試したかったのですが、ffmpegを実行してH.264 MP4ファイルを他の2つのコーデックのいずれかにエンコードすると、エンコードが(ほぼマグニチュード)遅い。

H.264からVP9への3 MBit/sの1080p30ビデオは約6〜7 fpsでエンコードされていますが、同じビデオは約40 fpsでH.264にエンコードされます。 libvpx-vp9 VP9形式のffmpegのコーデック。 VP8とTheoraでも同じ結果が得られます。

誰かがVP9が非常に遅い理由を私に説明できますか?私は、Handbrakeを使用して、同様のリサルトが得られる別のマシンを試しました。

11
comfreak

libvpx-vp9libx264よりもはるかに遅いエンコーダーですが、ffmpeg(0 = auto)のスレッドのデフォルト設定はlibvpxには有効ではありません。手動で設定すると速度が上がります。例えば.

ffmpeg -i in.mp4 -c:v libvpx-vp9 -threads 4 out.mp4

4コアマシンで1080-30p H.264ストリームをエンコードすると、3.8 fpsから10 fpsへのバンプが発生します。

11
Gyan

VP9はより優れた圧縮を提供するより複雑なコーデックです。ビデオ圧縮/パフォーマンス比は指数関数的になる傾向があります。 VP9の交換(AV1)はさらに遅くなるはずです。

3
szatmary