FFmpeg - 为VP9编码选择合适的比特率

时间:2017-04-06 06:23:15

标签: ffmpeg webm libvpx vp9

我希望用最好的质量在VP9中用iPhone 6s编码4k视频镜头。

供参考,我想通过ffprobe编码的视频流数据:

Duration: 00:00:10.48, start: 0.000000, bitrate: 46047 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 45959 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      creation_time   : 2017-03-13T21:12:56.000000Z
      handler_name    : Core Media Data Handler
      encoder         : H.264
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 79 kb/s (default)
    Metadata:
      creation_time   : 2017-03-13T21:12:56.000000Z
      handler_name    : Core Media Data Handler

我使用以下基于these instructions的FFmpeg命令(请参阅Best Quality (Slowest) Recommended Settings部分)。

  1. ffmpeg -i INPUT.mov -c:v libvpx-vp9 -pass 1 -b:v 46000K -threads 4 -speed 4 -g 9999 -an -f webm -y /dev/null
  2. ffmpeg -I INPUT.mov -c:v libvpx-vp9 -pass 2 -b:v 46000K -threads 4 -speed 0 -g 9999 -an -f webm OUTPUT.webm
  3. 是否有最佳做法来选择最佳-b:v值,以便生成的视频在视觉上与原始视频无法区分?我尝试过36000K-46000K的值,但是这些会导致大量文件的总比特率超过目标比特率。

    提前致谢!

1 个答案:

答案 0 :(得分:0)

只需要尝试不同的,低得多的比特率,并查看结果。我试着去看人工制品。头发看起来还不错吗?布?刻字,就像路标和商店橱窗一样?没有阻碍?锋利的边缘没有黑暗和光线的出血?没有回声?我发现原始的运动模糊难以判断,必须并排比较,以区分它和压缩伪像。

尝试36000k的1/10。我发现标称400k比特率的vp9在1280x720视频上效果很好。 (ffmpeg与libvpx-vp9过冲,我的实际比特率通常高出20%,480k)4K为3840x2160,大小为1280x720的9倍,因此看起来3600k比特率应该会产生良好的效果。

另一个指南是据报道,vp9的质量与mp4相同,只有比特率的一半。在mp4中以1000k比特率看起来很好的视频应该在vp9中看起来很好500k。