概述
参数名称 | 对应X264参数 | 参数说明 | 默认值 | 参数范围 |
帧速率 | - | 控制服务器端的定时器,以控制每秒编码多少帧图像 | 25 | 12~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的标准有一定关系。 | 3 | 1~16 |
场景切换门限 | i_scenecut_threshold | 自动场景切换门限,根据其含义,表示场景变换的百分比。计算场景间的相似度,如果相似度小于该门限值则认为检测到场景切换。如果此时距离上一个IDR帧的距离小于最小IDR帧间隔,则插入一个I帧,否则插入一个IDR帧。 | 40 | 0~100 |
最大B帧数量 | i_bframe | I帧和P帧之间的B帧数量,若设置为0则表示不使用B帧,B帧会同时参考其前面与后面的帧,因此增加B帧数量可以提高压缩比,但也因此会降低压缩的速度。 | 3 | |
自适应B帧策略 | i_bframe_adaptive | B帧插入策略,该策略决定使用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获得更精确的码率控制,但同时也会增加编码的时间,提高实时编码的时延。 | 40 | 0~250 |
编码速度 | - | 该参数是X264中预设的一组编码参数,为了方便用户根据不同的应用快速设置参数 | ||
视频源 | - | 该参数是X264中预设的一组编码参数,为了方便用户根据不同的应用快速设置参数 | ||
视频宽度 | i_width | 设置视频的像素宽度,可以与采集源的大小不同,会经过OPENCV转换大小 | 640 | |
视频高度 | i_height | 设置视频的像素高度,可以与采集源的大小不同,会经过OPENCV转换大小 | 480 | |
去块滤波器 | b_deblocking_filter | 控制去块滤波器是否打开,推荐打开 | 1 | |
alpha滤波器 | i_deblocking_filter_alphac0 | alpha去块滤波器,取值范围 -6 ~ 6 数字越大效果越强 | 0 | -6~6 |
Beta滤波器 | i_deblocking_filter_beta | beta去块滤波器,取值范围 -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的最大可用缓冲区,量纲为 kbit | 0 | |
VBV初始填充 | f_vbv_buffer_init | 指定缓冲满足一定百分比之后才能开始回放。参数小于等于1时是百分比,大于1时是kbit | 0.9 | |
固定质量值 | f_rf_constant | 数值越小质量越好 | 23 | |
最大质量值 | f_rf_constant_max | 使得视频的质量不会小于该参数。 | - |
最后
以上就是光亮黄豆为你收集整理的x264中可以调节的编码参数说明的全部内容,希望文章能够帮你解决x264中可以调节的编码参数说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复