X264码率控制总结1——ABR,CQP,CRF

CBR码率恒定适合流式播放,但复杂场景质量不稳;VBR提供稳定视觉质量,码流大小不可控;ABR作为CBR与VBR折中,合理分配比特,确保平均码率接近目标码率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  X264显式支持的一趟码率控制方法有:ABR, CQP, CRF. 缺省方法是CRF。这三种方式的优先级是ABR > CQP > CRF.
    if ( bitrate )                rc_method = ABR;
    else if ( qp || qp_constant ) rc_method = CQP;
    else                          rc_method = CRF;    
    bitrate和QP都没有缺省值,一旦设置他们就表示要按照相应的码率控制方法进行编码,CRF有缺省值23,没有任何关于编码控制的设置时就按照CRF缺省值23来编码。       

一般的使用建议:   
CQP – 一般不推荐使用,在一些算法验证工作中会使用这种模式    
CRF – 适合在关注一遍编码质量而输出文件大小或码率不是太紧要的场景下使用,一般网络压片使用CRF。    
1 pass ABR – 适用于流媒体或者目标码率受限的实时应用场景。   
2 pass VBR – 适用于有目标码率限制而又有时间可以进行二次编码的非实时应用。
 
2. CQP,恒定QP. 无缺省值
        最简单的码率控制方式,每帧图像都按照一个特定的QP来编码,每帧编码后的数据量有多大是未知的。
        参数qp_constant设置的是P帧的QP。I,B帧的QP根据f_ip_factor, f_pb_factor,计算得到。
        rc->ip_offset = 6.0 * log2f( h->param.rc.f_ip_factor );
        rc->pb_offset = 6.0 * log2f( h->param.rc.f_pb_factor );
        rc->qp_constant[SLICE_TYPE_P] = h->param.rc.i_qp_constant;
        rc->qp_constant[SLICE_TYPE_I] = x264_clip3( h->param.rc.i_qp_constan
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值