X264算法参数五(码控参数)

一、码控参数概览

X264码控参数概述
参数名称参数类型参数含义备注说明
i_rc_methodint  码控方法

X264_RC_CQP:固定的量化参数,随着视频运动情况,码率会上升和下降。但是码率不可控,码率大小取决于残差大小。

X264_RC_CRF:恒定质量编码(运动/纹理复杂场景,码率上升;静态/纹理简单的画面,码率下降)

X264_RC_ABR:编码出来的视频码率在一个恒定值左右波动。该模式下目标码率和峰值码率配置相等的时候,就是CBR。

i_qp_constantint  固定量化因子X264_RC_CQP模式下有效,0:表示无损压缩。
i_qp_minint  允许的最小量化值控制P帧编码质量,一般这个值不能配置太小,P帧编码质量过高,会出现视频闪烁现象。可以尝试配置为i_qp_max/2后进行微调。
i_qp_maxint  允许的最大量化值控制I帧编码质量。
i_qp_stepint  帧间最大量化步长,即相邻两帧之间量化值之差的最大值。 
i_bitrateint  目标码率,单位kbps 
f_rf_constantfloat实际图像质量X264_RC_CRF模式下有效,配置CRF模式下期望得到的视频质量。
f_rf_constant_maxfloat实际图像质量的最大值X264_RC_CRF模式下有效,配置CRF模式下最差码率质量的门限。
f_rate_tolerancefloatABR码控模式下,瞬时码率可以偏离的倍数范围0.1~100.0,默认为1.0。
i_vbv_max_bitrateint  ABR码控模式下,瞬时峰值码率,单位kbps该值与i_bitrate相等,就是CBR恒定码控模式。
i_vbv_buffer_sizeint  

码率控制缓冲区的大小,单位kbit

控制码率收敛到目标码率的时间

电影电视剧,场景建议配置3倍i_vbv_max_bitrate。
f_vbv_buffer_initfloat

码率控制缓冲区数据满足一定百分比之后才能开始回放。参数小于等于1时是百分比,大于1时是kbit

默认0.9
f_ip_factorfloat设置平均I帧QP相比P帧QP的差值更高的值意味着更高的I帧质量。ipratio与I帧QP成反比例关系。等于1的时候,I帧QP与P帧相同。
f_pb_factorfloat设置平均B帧QP相比P帧QP的差值更高的值意味着更低的B帧质量。pbratio与B帧QP成正比例关系。等于1的时候,B帧QP与P帧相同。
b_fillerint  CBR模式下,码率不够,强行添加填充位,凑码率。 
i_aq_modeint  

自适应量化参数。

空域AQ功能

X264_AQ_NONE:不开启AQ模式,帧内宏块全部使用同一QP或者固定的QP表。该模式下,视频PSNR值相对于其他码控模式偏高。

X264_AQ_VARIANCE:使用方差动态计算每个宏块的QP。
X264_AQ_AUTOVARIANCE:方差自适应模式,会先遍历一次全部宏块,统计出一些中间参数,之后利用这些参数,对每个宏块计算QP。
X264_AQ_AUTOVARIANCE_BIASED:偏移方差自适应模式,在该模式下BiasStrength即为原始的Strength值。最终每个宏块的 QP。

f_aq_strengthfloat自适应量化强度。减少平坦区域块效应和纹理区域模糊效应的强度。强度越高,高频信息消减越多,应对平坦区域的块效益就越好,但是对于纹理区域的模糊就越大。一般来说画面动态较高就选低点的aq-strength(0.6-0.8),以免在平坦区域浪费太多码率,而损伤了动态区域;在静态画面较多的场景就选高点aq-strength(>=1.0),防止暗部因比特不够而产生色带。
b_mb_treeint  

是否开启基于macroblock的qp控制方法,开启之后质量有所提升

时域AQ功能

macroblock tree工作原理:决定MB使用何种大小的qp值进行量化。对每个MB处理,向前预测一定数量的帧,记录该MB被参考的情况,qp的大小与被参考次数成反比。
i_lookaheadint  rc-lookahead决定mb_tree向前预测的帧数

配置该参数后,编码器并不是每来一帧就编码一帧,而是先缓存i_lookahead个帧,将i_lookahead个帧缓存满后再开始出编码。该参数的设置会影响压缩的效果,同时调大该参数也能够使得VBV获得更精确的码率控制,但同时也会增加编码的时间,提高实时编码的时延。

b_stat_writeint1pass时,是否将统计数据写入到文件psz_stat_out中
*psz_stat_outchar1pass统计数据写入文件名
b_stat_readint2pass时,是否从文件psz_stat_in中读入统计数据
*psz_stat_inchar2pass读取统计数据文件名
f_qcompressfloat线性量化控制0.0:固定码率
1.0:固定量化值
f_qblurfloat时间上模糊量化,减少QP的波动(after curve compression)。对统计文件结果平滑量化值比例的最大值范围0~99.9,默认0.5。只用于2-pass
f_complexity_blurfloat时间上模糊复杂性,减少QP的波动(before curve compression)。根据相邻帧平滑量化值比例的最大值范围0~99.0,默认20.0,只用于2-pass和质量模式
*zonesx264_zone_t码率控制覆盖
i_zonesintnumber of zone_t's
*psz_zoneschar指定区的另一种码控方法

二、参考:

X264 Settings - MeWiki

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值