我是靠谱客的博主 内向钢笔,最近开发中收集的这篇文章主要介绍h264参数说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参数名称对应X264参数参数说明默认值参数范围
帧速率-控制服务器端的定时器,以控制每秒编码多少帧图像2512~30(具体情况视硬件能力而定)
最大IDR帧间隔i_keyint_max最大IDR帧间间隔,每当收到IDR帧,解码器就会清空参考队列,并且更新PPS和SPS参数。IDR帧也是一种I帧,因此,该参数如设置得比较小则更利于流畅的视频播放,但是会降低压缩效率。建议设置为帧速率的10倍。250
最小IDR帧间隔i_keyint_min该参数设置过小可能导致错误地插入IDR帧,参数限制了插入IDR帧的最小距离。建议设置等于帧速率。25
最大参考帧数i_frame_reference表示P帧可以使用其之前的多少帧作为参考帧,该值得选取与H264的标准有一定关系。31~16
场景切换门限i_scenecut_threshold自动场景切换门限,根据其含义,表示场景变换的百分比。计算场景间的相似度,如果相似度小于该门限值则认为检测到场景切换。如果此时距离上一个IDR帧的距离小于最小IDR帧间隔,则插入一个I帧,否则插入一个IDR帧。400~100
最大B帧数量i_bframeI帧和P帧之间的B帧数量,若设置为0则表示不使用B帧,B帧会同时参考其前面与后面的帧,因此增加B帧数量可以提高压缩比,但也因此会降低压缩的速度。3
自适应B帧策略i_bframe_adaptiveB帧插入策略,该策略决定使用P帧还是B帧,0=X264_B_ADAPT_NONE(总是使用B帧), 1=X264_B_ADAPT_FAST(快速算法),2=X264_B_ADAPT_TRELLIS(最佳算法),三种算法的计算复杂度依次增加。1
参考B帧策略i_bframe_pyramid是否允许将B帧当作参考帧,0=X264_B_PYRAMID_NONE(关闭,不允许B帧作为参考帧),1=X264_B_PYRAMID_STRICT(严格分级,一个图像组内只允许一个B参考帧,蓝光编码的强制要求),2=X264_B_PYRAMID_NORMAL(普通,可以随意使用)2
B帧插入倾向i_bframe_bias影响插入B帧的倾向,越高越容易插入B帧,但是100也不能保证完全使用B帧。一般情况下不推荐修改。0-100 ~ 100
最大缓冲帧数i_lookahead编码器并不是对每来一帧就对一帧进行编码,而是先存储一定的帧,将该缓存填充满之后再开始编码。该参数的设置会影响压缩的效果,同时调大该参数也能够使得VBV获得更精确的码率控制,但同时也会增加编码的时间,提高实时编码的时延。400~250
编码速度-该参数是X264中预设的一组编码参数,为了方便用户根据不同的应用快速设置参数
视频源-该参数是X264中预设的一组编码参数,为了方便用户根据不同的应用快速设置参数
视频宽度i_width设置视频的像素宽度,可以与采集源的大小不同,会经过OPENCV转换大小640
视频高度i_height设置视频的像素高度,可以与采集源的大小不同,会经过OPENCV转换大小480
去块滤波器b_deblocking_filter控制去块滤波器是否打开,推荐打开1
alpha滤波器i_deblocking_filter_alphac0alpha去块滤波器,取值范围 -6 ~ 6 数字越大效果越强0-6~6
Beta滤波器i_deblocking_filter_betabeta去块滤波器,取值范围 -6 ~ 6 数字越大效果越强0-6~6
码控制方式i_rc_method设定速率控制的方法,可选项有:X264_RC_CQP(恒定量化)、X264_RC_CRF(恒定质量)、X264_RC_ABR(恒定码率),这三种码率控制方式是互斥的,一般而言恒定质量的方式都可以代替恒定量化方式,不过因为恒定量化无需做预测,因此编码速度上会更快一些,但是这也会导致最终的编码后的文件大小无法确定,相比之下,固定质量的方式会得到更高的压缩比。恒定质量
固定量化值i_qp_constant固定量化参数,0为无损,开启该选项将会关闭自适应量化器。取值0表示无损。-0 ~ 51
最大量化值i_qp_min允许的最小量化值10
最小量化值i_qp_max允许的最大量化值51
量化步长i_qp_step在两帧图像之间所允许的最大量化值的变化步长4
平均码率i_bitrate编码的码率,参数的量纲是 kilobits/sec 注意是bit,8bit = 1byte,设置该参数将导致编码器会尽量使得文件最终的整体码率与该参数设置得数值相等。-
码率偏差f_rate_tolerance给定可以偏离给定的平均的码率目标的百分比,最低为0.01,例如:1.0表示1%。另外该参数也与VBV有关,如果开启了VBV的选项,该参数也会使得VBV在设定的值周围波动。1
VBV码率i_vbv_max_bitrate设置VBV可用的最大码率。量纲为 kbit/s,注意VBV选项在任何一项VBV参数开启时启用,VBV = Video Buffering Verifier。值得注意的是,使用VBV参数可能会降低视频的质量,只有在确定要使用时再开启。0
VBV缓冲i_vbv_buffer_size设置VBV的最大可用缓冲区,量纲为 kbit0
VBV初始填充f_vbv_buffer_init指定缓冲满足一定百分比之后才能开始回放。参数小于等于1时是百分比,大于1时是kbit0.9
固定质量值f_rf_constant数值越小质量越好23
最大质量值f_rf_constant_max使得视频的质量不会小于该参数。-

最后

以上就是内向钢笔为你收集整理的h264参数说明的全部内容,希望文章能够帮你解决h264参数说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部