当前位置: 主页 > 软件教程 > 视频转换软件 > 中文版MeGUI的x264编码配置详细解读(3)

中文版MeGUI的x264编码配置详细解读(3)

2014-09-17   网络 / NZWLCM 点击: 标签:x264 MeGUI 编码
  

“帧类型”(Frame-Type)面板

H.264特征
去马赛克:开启环路滤波,去除马赛克,默认值:勾选
筛选强度:当勾选了去马赛克可设置数值,设置环路滤波的AlphaC的参数,提供范围在-6—6。选负值时,画面会锐利,建议值为0
筛选阈值:同上,设置环路滤波Beta的参数,提供数值同上,建议值同上,默认。
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值的时候,判定这是一个场景切换,放置I/IDR帧。显然从表达式五可以看出,--scenecut值越大,放置放置I/IDR帧的几率越高,wiki和Akupenguin的表达方式不一样,但内涵是一致的。)就是用于场景变换的参数无效,不会开启场景检测同时不插入I帧或IDR帧。设置完就得到上图定值图了。
说一下x264编码的帧是如何压制组成的,帧在mp4的压制里面是必须要懂得的基础之一,视频压缩时,其实是把每帧当作一幅静止图像压缩,这个想一下就明白常见的纸画动画怎么动起来的。但是在压制x264 mp4的时候,会采取各种各样的算法(编码的不同)去减少压缩后视频的体积,而在x264当中,采用I,P,B帧是非常常见的压缩方法。说到压缩的方法,就有帧内压缩和帧间压缩两面,两种压缩方法各有利弊,帧内压缩的好处是在解码的时候由于只需要考虑对帧内压缩进行解压缩,不需要考虑帧间压缩带来的其他额外负荷,所以,对计算机的计算要求比较低,解码最容易,代价就是高码率,就是体积比较大。而帧间压缩常采用I,P,B帧来进行压缩,帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;B frame: 双向预测内插编码帧 又称bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;这里继续解释,I帧就是参考帧是真正的图像帧,在参考帧之间是前向预测帧P帧和后向预测帧B帧,形成所谓的IBP结构,两个I帧之间有多少个B帧和P帧,也有一些常用的组合,比如IBBP(下图)、IBPBP等等。P帧则需要参考前面的I帧或者B帧来生成一张完整的图片,B帧则需要前后各参考I帧和P帧,因为B帧本质就是双向预测帧,用来记录前后I,P帧之间图像变化了什么,

图为典型的视频序列,注意传输和显示时序列会变化的!b-frames=2这些帧的结构就是所谓GOP(Group of Pictures 画面组),GOP包含的B和P帧的数量越多,称为GOP越长,也叫LONG GOP结构,GOP越长,则压缩效率越高,但是也不是没有上限的,不过GOP越长,就可以用更低的码率获取高码率才能获取的画质。当视频解码器逐个帧地对比特流进行解码以便重构视频时,必须始终从I帧开始解码。如果使用了P帧和B帧,则必须与参考帧一起解码。所以,因为B帧和P帧是“虚幻”的帧,里面记录的其实是一些“预测”到的和I帧之间的差异,所以,在解码时,需要根据I帧和这些B、P帧计算出真正的图像帧来,这样就会在解码时带来更大的计算负荷,除此之外,真正做帧精度编辑时,由于隔很久才有一个真正的I帧,所以,必须将GOP范围内的所有B帧和P帧都计算出I帧来才可以完整显示该帧,这样的话就给计算机带来其他额外负荷,对计算机要求较高,不过目前来说硬件解码显卡搞定也不需要太注重解码压力,因此用I,P,B帧压缩的视频体积小一些码率低一些,但是质量也还是可以很好的兼顾。一般来说假如I帧的压缩率是1,则P帧的压缩率可以达到I帧的三倍即3,P可以达到I帧压缩率的7到8倍即7或8。可见使用B帧能节省大量空间,节省出来的空间可以用来保存多一些I帧,这样在相同码率下,可以提供更好的画质。还有一种特殊的I帧叫IDR帧也会提到,IDR帧和I帧类似但是有所不同,假若存在以下帧:I P B P B P B B P I P B…如果这段视频应用了多重参照帧,那么蓝色的P 帧在参照他前面的I 帧(红色)的同时,还可能会参照I 帧之前的P 帧(绿色),由于I 帧前后的场景可能会有很大的反差甚至根本不同,所以此时P 帧参考I帧之前的帧不但会没有意义,反而会造成很多问题。所以一种新型的帧被引入,那就是IDR 帧。如果这段视频应用了多重参考帧的同时采用了IDR 帧,那么帧的顺序就会变成这样:I P B P B P B B P IDR P B…由于IDR 帧禁止后面的帧向自己前面的帧参照,所以这回那个蓝色的P 帧就不会参照绿色的P 帧了。

顶一下
(1)
50%
踩一下
(1)
50%
精彩推荐