CABAC:基于上下文自适应的二进制算术编码(Context-based Adaptive Binary Arithmetic Coding)默认开启,选上后使码率降低10%左右而基本无质量损失,禁用后可以占用更少的CPU,就是压制速度会加快,但是会影响压缩性能,并会使得x264的一些高级功能被禁用。对比另一种熵编码算法CAVLC要好上不少。 GOP大小:默认即可,基于帧。
GOP最大值:就是keyint,默认值250,设定最大IDR帧间隔,为0时则永远不插入非场景变更的IDR帧。默认值对于大多数视频没什么问题,一般来说,用片子的FPSX10得到的值对于大多数视频都很好,除了蓝光,广播或者其他专业流编码才设置为较低值。对于动画来讲,可以设稍大一些,一般默认即可。
GOP最小值:设定最小IDR帧间隔,默认为keyint/10,如果GOP最大值是250那么最小值可以设为250/10=25,过小的值会导致产生―错误的‖IDR帧,I帧和IDR帧都是参考帧,一旦出错接着参考他的P帧和B帧都会错误,所以,动画可以设小一些但是20以下不推荐。注意此项与scenecut(插入I帧值)相关,后面会说。
打开GOP:打开-GOP是一个提升压缩效率的编码技术,但是有些解码器不能完全支持打开GOP流,因此默认关闭,为了兼容性一般也不开启。
切片:这部分的设定关于切片的,做动画与之无关,如果是在为蓝光编码,才需要使用,否则那三项默认都不需要设置。 B帧-B帧加权预测:允许B帧加权预测,可以减少相邻B帧质量低的影响,对质量和压缩比都有提高,且对速度影响极少。建议默认开启。
可插入B帧数量:指在I帧与P帧之间可插入B帧数量的最大值,就是设置x264可使用的B帧的最大连续数量,范围0-16。数值越高,压缩速度越慢,一般不需要过高,基本5以上的数值都提升不大,高B帧没有意义,你即使写上16,实际上可能B帧数量只有6,而高B帧要跑adaptive b-2的时候会非常慢,因此建议根据片源来选择该数值大小,一般默认3都行,5左右性价比都行。
B 帧偏好设定:B帧倾向。控制是否更多或者更少地插入B帧,数值越高越容易插入B帧,是x264码率控制的参数之一啦,大于0的值会更多的插入B帧,负值则相反,范围从-100到100,一般来说x264会自动控制,不需要我们在这个数值作更改,毕竟x264的位元率控制也不错,不需要更改。 自适应B帧判定模式:设定弹性B帧位置决策算法。此设定控制x264如何决定要放置P帧或B帧。
0-关闭:停用,总是挑选B帧。就是全部是B帧…这与旧的no-b-adapt设定相同作用。
1-快速:―快速‖算法,较快,越大的--B帧数量值会稍微提高
速度。当使用此模式时,基本上建议搭配--B帧数量 16使用(最大值)。
2-优化:Optimal―最佳‖算法,较慢,越大的—B帧数量值会大幅降低速度。这里表示做动画蛋定的用低B帧数量值并用最佳算法,总觉得比快速算法科学那么一点,画质我是分辨不出差别不过速度倒是差不多。
B帧作参考帧:指是否允许B帧作为参考帧 禁用-Disabled 始终-Strict 标准–Normal
首先,B帧是虚幻帧,如果B帧可以作为参考帧就是类似于I帧或IDR帧,这样看上去应该画质会有所提高,但是,作为参考帧的话,压制后PSP不兼容!…不考虑压制PSP兼容可以Normal(标准),相比没开的效果应该好些,默认标准无须更改。
最大参考帧数:范围从0到16,这个参数简单的来说,就是设置P帧可以选择它之前的多少帧作为参照帧(B帧的值要小1-2,取决于那个B帧能不能作为参照)。最小可以选择值1,只参照自己前面的那帧。
注意x264标准限制了每个level可以参照的帧的数量,因此如果乱设置的话后果是啥谁都不知道…。例如:如果选择level4.1,1080p最大选4,720p最大选9。
这里附上常见的分辨率对应的最大可取考帧数值 1280*544 12 1280*720 9 1920*800 5 1920*816 5 1920*1080 4
如果你的视频分辨率不在上面的范围,你可以用下面这个公式自己计算你的的最大考帧值,公式为8388608除以(视频长和宽像素的乘积)。然后这个参数,做动画的对质量和压缩比都有要求,因此这个参数很重要!!这个值要参考之前设置B帧的数量,还需要注意是否超出分辨率对应的最大值,一般720P的话该值3到5都可以,过高还是会使压制速度变慢,毕竟做字幕压制都是要速度完成的,考虑速度和质量的平衡点很重要。
插入I帧最低值:用于场景变换检测的值,也可以说是决策使用I帧、IDR帧的阈值,x264会计算每一帧与前一帧的不同程度并得出一个值。如果这个值低于scenecut(插入I帧值),那么就算检测到一个―场景变换‖。而正常来说,是插入P帧来分隔的,但是由于该值超过了设定值,如果此时距离上一帧的距离小于 min-keyint则插入一个I帧,反之则插入一个IDR帧而不是插入一个P帧。较高的值会增加侦测到场景变换的几率,做动画的话没必要提高该值,默认40即可,
所以如果上面的min-keyint的值过低,出现错误的IDR帧原因就是检测到转场然后插入了错误的IDR帧。
P帧加权预测:开启明确的权重预测以增进P帧压缩。越高级的模式越耗时,但是默认为2,是启动智能统计静态帧,特别为增进淡入淡出效果的压缩率而设计的,但是为了兼容PSP和PSV主要是为了防花屏,有人认为需要关闭,直接默认智能。
隔行扫描模式:启用交错模式,用于隔行扫描的源,如果用逐行扫描的源上开启交错式编码后,输出的视频会悲剧,做动画一般片源都不会是隔行扫描的源~因此一般没必要管,禁用即可。
Pulldown:使用其中一个默认模式将渐进式、固定帧率的输入资料流标志上软胶卷过带,做动画的话默认即可不需要理会此参数。默认禁用
自适应I帧决策:默认开启即可,关闭会使得(插入I帧值——scenecut)(Wiki上说的用于衡量当前帧与前一帧差异大小的―metric‖。当前帧与前一帧差异越大,把当前帧分别编码为P帧和I帧时的数据体积越接近,比值(bit size of P-frame) /( bit size of I-frame)越大(这个比值应该是在0-1之间),[1- (bit size of P-frame) /( bit size of I-frame)) ]* 100 keyint/(distance from previous keyframe)越小,当小于--scenecut值的时候,判定这是一个场景切换,