您的位置:首页 > 其它

ffmpeg编码个参数的设置以及作用

2017-05-17 11:31 435 查看
b                  设置一个目标码率

   qscale             设置固定的量化因子

   qmin qmax          最小和最大量化因子,使用了该参数,就可以不使用qscale参数

   bt                 设置容许的码率误差(固定误差)

   maxrate minrate    设置最大和最小码率误差(可变误差)

   bufsize            设置码率控制的缓冲区大小

max_qdiff=3 

//视频中所有桢(包括i/b/P)的最大Q值差距

max_b_frames=2 

//两个非B桢之间的最大B桢数目。

qcompress=0.5 

//浮点数值,表示在压制“容易压的场景”和“难压的场景”时,允许Q值之比值的变化范围。可选值是0.0-1.0。

mb_qmin=1

// MicroBlock的最小Q值

mb_qmax=31 

// MicroBlock的最大Q值

pre_me=2

// 提前进行运动场景预测.

rc_eq=tex

//选择码率控制的方法。TEX是方法之一。

lmin=1 

//最小拉格朗日乘数。拉格朗日乘数法(lagrange multipler)是用來檢定瞬間平均值的一种统计学方法。

lmax=5 

//最大拉格朗日乘数

qmin=1

//Q值最小值

qmax=5

//Q值最大值.

qblur=0 

//浮点数,表示Q值的比例随时间消减的程度,取之范围是0.0-1.0,取0就是不消减。

spatial_cplx_masking=0.3 

//浮点数,表示空间复杂性的masking力度。0.0-1.0

strict_std_compliance=-1 

//表示严格遵照既定标准(MPEG4等等)

me_pre_cmp=2 

//运动场景预判功能的力度。数值越大编码时间越长。

rc_qsquish=1.0 

//采用Qmin/Qmax的比值来限定和控制码率的方法。选1表示局部(即一个clip)采用此方法,选1表示全部采用。

rc_buffer_aggressivity=1.0 

//浮点数. 表示开启解码器码流缓冲(decoder bitstream buffer)

bit_rate_tolerance=8000000 

//表示有多少bit的视频流可以偏移出目前的设定.这里的"设定"是指的cbr或者vbr.

mb_decision=0 

//Macroblock的判定模式.有3种,0表示采用用Macroblock比较,2表示采用失真率(rate distortion)参考,1表示选择0和2中码率需求最低的一种

b_quant_factor=1.25 

//表示i/p与B的Q值比例因子,值越大B桢劣化越严重

b_quant_offset=1.25 

//表示1/p与B的Q值比例的偏移量,值越大B桢劣化越严重.如果大于0,那么下一个B的Q=前一个P的Q乘以b_quant_factor再加上offset,如果小于0,则B的Q=负的normal_Q乘以factor加上offset.

i_quant_factor=0.8 

//p和i的Q值比例因子,越接近1则P越优化.

i_quant_offset=0.0

//p和i的Q的偏移量

rc_strategy=2 

//设定码率控制策略. 这个策略记不得了;(

b_frame_strategy=0

//B桢生成策略.(我也说不清)

luma_elim_threshold=0 

//消除luma(亮度,"红楼梯")门限

chroma_elim_threshold=0 

//从名字上看像是消除色度错误的门限,不理解.

dct_algo=0 

//离散余弦变换算法设置,有7种预设置,包括:

0:FF_DCT_AUTO 

1:FF_DCT_FASTINT,

2:FF_DCT_INT ,

3:FF_DCT_MMX , 

4:FF_DCT_MLIB, 

5:FF_DCT_ALTIVEC 

6:FF_DCT_FAAN 

有印象好像这些与设算法是针对不同的CPU指令集作优化的,根据作压制的机器CPU来选择0-6.

lumi_masking=0.0 

dark_masking=0.0 

//这两个表示对过亮或过暗的场景作masking的力度.0表示不作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ffmpeg