x264 vbv-maxrate与vbv-bufsize对码率控制

x264 vbv-maxrate与vbv-bufsize对码率控制

  • 同一个1080p视频,同一x264参数,控制单一变量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=3500 vbv-bufsize=3500
请添加图片描述

vbv-maxrate=3500 vbv-bufsize=1000
请添加图片描述

vbv-maxrate=3500 vbv-bufsize=500
请添加图片描述

结论

  • [峰值码率] <= [vbv-maxrate] + [vbv-bufsize]
  • [平均码率] <= [vbv-maxrate]

建议(3种方案)

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)

相对静态
请添加图片描述
上:原画;下:压缩
请添加图片描述
现象:区别不大

相对动态
请添加图片描述
上:原画;下:压缩
请添加图片描述
现象:船上的栏杆糊了、远处上桥的人形边缘也糊了(这就是bufsize太低,没法保留动态细节的原因)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值