x264 参数设置

x264 参数设置  (作者博客地址:http://blog.163.com/cgq_i/blog/static/7287792320100292307522/)

2010-01-29 14:30:07|  分类: X264|举报|字号 订阅

注:I帧:关键帧,P帧:预报帧,B帧:I帧和P帧之间的双向插值帧

 

名称

缺省值

说明

Keyint

250

设置IDR帧的最大间隔为250帧,IDR帧就是可备用于拖拽的帧,IDR帧一定是I帧,反之不成立。最好是设成帧率的10倍。显然改值越小,P,B帧越少。

min-keyint

25

设置IDR帧的最小间隔,避免IDR帧太多,建议25,不要改

Scenecut

40

类似于镜头分割的阈值;但相邻帧的阈值小于40,则设立新的IDR帧。所以值越高,IDR帧越多;为0时,则不启用,即采用定长法。

bframes

0

设置最大共现的B帧。例如,2,IBPBBPB..I,所以值越大,B帧越多,压缩率越高。缺省时IPPPPPPP…PI.

推荐:最大值16,这是最快的编码速度,建议采用2-5

ipratio

1.40

I帧和P帧所占用的bit率的比值,值越高,I帧占用的bit率越高

pbratio

1.30

同上

b-adapt

1

设置自适应B帧替代方法,0:不使用;1:老算法(快)2:新算法(慢,效果好,如果时间允许就用吧)

b-bias

0

设置B帧被P帧替代的概率,值域[-100,100],值越大,区域B帧的概率权值越大

b-pyramid

开启:允许B帧做为新B帧的参考;否则,B帧的参考只来自IP帧;建议只要B帧数大于2就开启。

no-cabac

关闭CABAC(上下文自适应二进制算法编码);建议开启cabac

ref

1

控制参考帧的数量,主要是P帧的参考帧的数量,值域[1,16],在level4.1标准中,720p1080p最多是94;推荐使用46

Deblock

 

0:0

Deblock-strength:Deblock-Threhold(也就是Alpha deblockingBeta deblocking合适的值域是[-3,3],注意码率低才有效果,码率高则不需要。

Alpha deblocking缺省值为0一般够用(特别是cqm,它会去方块但画面变模糊,该值是决定画面是否锐化的最重要的参数,值越大,去方块越明显,反之,锐化越明显。

Beta deblocking值越低,被去块化(deblock)的方块越少。增加Beta值,环状物(ringing)就越少,而降低BetaDCT块越少(矛盾)?。http://forum.doom9.org/showthread.php?t=109747

    如果你不需要编码很细,不介意偶尔的块,可以用-2:-1;如果你喜好更明亮的画面,且不介意一点点模糊,那就用1:2;动画则用低beta;推荐用缺省值

interlace

交错编码,无详细说明,缺省值

以下是码率控制

 

码率控制方法有三种:qp, bitrate, crf,他们是互斥的。三种方法目标不同:qp:固定量化子,bitrate:固定文件大小,crf固定视频“质量

qp

固定量化模式(CQ),数值是针对P帧的量化值,I,B帧则根据ipratiopbratio算出;0值表示无损压缩;推荐使用crf方法替代qp;值越小越清晰。

bitrate

设定目标码率;该设置通常要和二次编码pass 2一起使用。

建议:SD:800~2100kbits,720p:3~6mbits,1080p:8~15mbitw

crf

常码率因子(Constant RateFactor, crf固定视频“质量;静态画面分配低码率,而动态画面则分配高码率;crfbitrate+pass2的效果几乎一样,不同的是,后者可以选择码率;值域一般是[18,26]16一下则非常好的质量,值越小质量越好。

Vbv-maxrate

0

设置VBV模式的最大码率,强烈建议如果使用,则用2-pass bitrate

Vbv-buffsize

0

设置VBV的最大Buffer大小

Vbv-init

0

初始化buffer

qpmin

10

Qp最小量化值,qp值越小,视频越清晰,码率越高,一般qp小于16即接近无损压码

qpmax

51

参考上一条,一般是30~40

qpstep

4

相邻两帧之间的量化子的最大变化数;避免量化变化太大;推荐采用缺省值

ratetol

1.0

该值只在bitrate 1pass的时候用,1.0表示最后的平均码率可以是你设定的正负1%以内。

Chroma-qp

-offset

0

X264采用三色度面:Y(luma),U(chroma),V(chroma);该值将被加大UV的量化子上;例如值=2,设Y采用25量化子,则UV都采用27。因此值越大,亮度luma越好。

Aq-mode

1

0:不使用AQ自适应模式,

1:使用

推荐:使用缺省值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用ffmpeg设置h264参数时,可以通过调用x264_param_apply_profile函数来设置profile。\[1\]另外,如果你在Ubuntu 16.04上安装了libx264库,可以使用以下命令来安装libx264的库:sudo apt install libx264-148和sudo apt install libx264-dev。\[2\] 在设置x264参数时,你可以使用AVCodecContext结构体来设置编码器参数。首先,你需要找到对应的编码器,然后创建编码器上下文。接下来,你可以准备编码器参数,并使用avcodec_open2函数来设置编码器参数。\[2\] 如果你想设置preset参数,可以在准备编码器参数设置。\[2\] 如果你想设置profile参数,可以使用AVDictionary结构体来设置。你可以创建一个AVDictionary对象,并使用av_dict_set函数来设置profile参数的值。然后,将该AVDictionary对象作为第三个参数传递给avcodec_open2函数。\[2\]\[3\] 总结起来,你可以使用x264_param_apply_profile函数来设置profile参数,使用AVCodecContext结构体来设置编码器参数,使用AVDictionary结构体来设置preset和profile参数。 #### 引用[.reference_title] - *1* *2* [【FFmpeg】设置H264参数](https://blog.csdn.net/u010168781/article/details/107497953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ffmpeg 编码h264设置参数](https://blog.csdn.net/qq_32642107/article/details/109668619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值