为什么与 H.264 相比,VP8/9 的编码速度如此之慢?

为什么与 H.264 相比,VP8/9 的编码速度如此之慢?

最近我想尝试 Webm 编解码器 VP8 和 VP9,但是当我运行ffmpeg将 H.264 MP4 文件编码到另外两个编解码器之一时,我意识到编码速度(几乎慢了一个数量级)慢。

3 MBit/s 的 1080p30 视频从 H.264 编码到 VP9 的速度约为 6-7 fps,而同一视频编码到 H.264 的速度约为 40 fps。我使用了VP9 格式的libvpx-vp9编解码器ffmpeg。对于 VP8 和 Theora,我也得到了相同的结果。

有人能解释一下为什么 VP9 慢这么多吗?我尝试了另一台机器,使用 Handbrake 得到了类似的结果。

答案1

libvpx-vp9比 慢得多的编码器,libx264但 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

答案2

VP9 是一种更复杂的编解码器,可提供更好的压缩。视频压缩/性能比呈指数级增长。您应该可以预料到 VP9 替代品 (AV1) 的速度会更慢。

相关内容