最近我想尝试 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) 的速度会更慢。