为什么编码 VP8/9 比 H.264 慢?

com*_*eak 14 video encoding codec ffmpeg video-conversion

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

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

有人可以向我解释为什么 VP9 这么慢吗?我尝试了另一台机器,它使用手刹给了我类似的结果。

Gya*_*yan 13

libvpx-vp9是一个比libx264ffmpeg 中线程的默认设置(0=auto)慢得多的编码器(0=auto)对 libvpx 无效。手动设置它会产生减速。例如

ffmpeg -i in.mp4 -c:v libvpx-vp9 -threads 4 out.mp4
Run Code Online (Sandbox Code Playgroud)

在 4 核机器上,当编码 1080-30p H.264 流时,我从3.8 fps10 fps.


sza*_*ary 4

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