ffmpeg中vbv-maxrate与vbv-bufsize对码率控制

以下测试均使用这一参数进行编码

crf=20:ref=5:bframes=8:keyint=250:min-keyint=1:vbv-maxrate=3500:vbv-bufsize=3500:preset=veryslow:profile=high:level=4.1:b-adapt=2:direct=auto:deblock=-1,-1:analyse=all:me=umh:merange=24:subme=10:trellis=2:psy-rd=1.0.15:rc-lookahead=60
  • vbv-maxrate :单位片段,最大平均码率
  • vbv-bufsize :单位片段,最大码率振幅(肤浅理解)(保留高动态片段中的细节)

[码率范围] <= [vbv-maxrate] + [vbv-bufsize]
[平均码率] <= [vbv-maxrate]

转码建议

  • 1、质量为达到最优,不建议设置vbv参数,只设置crf=18-21就好了
  • 2、在保证质量较好,又想码率更低
    [vbv-maxrate] = 推荐【1080p:3000-12000】【720p:2000-5000】
    当发现视频质量糊化明显,应适当提高maxrate,保证观影体验
    建议 [vbv-bufsize] = 1.25*[vbv-maxrate]
    [vbv-bufsize]越大,动态范围较大的视频质量较好
    [vbv-maxrate]控制整个视频的平均码率,也决定了视频体积的大小
  • 3、严格控制峰值码率【不建议使用,除非要实时推流】
    [峰值码率] <= [vbv-maxrate] + [vbv-bufsize]
    例如:当[vbv-bufsize] < [vbv-maxrate],高动态片段开始糊化,[vbv-bufsize]越低,糊化越严重
    原画 vs 压缩(vbv-maxrate=3500 vbv-bufsize=500)

猜你喜欢

转载自blog.csdn.net/annita2019/article/details/129337820
今日推荐