XviD配置参考
人啊就是不满足,前几天要压几个电视剧,kdvd不行了,用avi,不错,又想进一步提高画质,贪心啊……网上找到的XviD配置参考,自己试了试,效果不错,呵呵小日本选avi→XviD编码→设置
没有图,自己凑合着对着看还行……
Profile @ Level这个选项包含一些预设值,与分辨率和码率有关,按旁边的“more...”按钮再切换到Level标签可以看到预设的数值。因为我们制作的视频并不在其它视频播放设备(比如具备MPEG4解码能力的DVD播放机)中播放,无须考虑设备兼容性,所以这个选项一般可选“不限制”(unrestricted)或者默认的“AS @ L5”。
ZonesXviD1.0以前的版本都有一个参数叫Credit,Zones继承并加强了以前的Credit功能,使之可以控制片中任意一段视频。大家知道,电影、动画片尾(或片头)都有制作人员名单 (即Credit,下同) ,而且一般没人会看。而老版XviD中Credit选项的作用就是,允许用户使用较低的质量制作Credit部分,让出更多的码率分配给正文部分,以提高正文部分的质量。而在最新的XviD1.0中,这个Credit选项却消失了,取而代之的是一个新的参数——Zones。在这里,我们可以把Zones理解成“区间”、或者说“片断”。也就是说,我们可以在逻辑上将片子分成许多段,并给这些段落一些“特殊待遇”。
Zones的使用例子上图例子中,0~40640帧是正片,按照正常压缩,所以需要设定W1.00。从40641帧开始是长长的黑白滚动字幕的制作人员名单,因为滚动字幕是非常浪费码率的,所以这里我们设定使用Q8来压缩制作人员名单。Zones界面如上图,本部分参数设置仅为例子,具体设置在下面说明。
Zones的设置
Start frame#——该区间的起始帧,用于指定该区间的范围。该区间的范围定义于起始帧开始至下一区间起始帧的前一帧。若没有定义下一区间,则该区间一直定义至影片结束。
Weight——权重。设置该区间的实际应用码率与原码率的比。比如,如果只想使用原码率的85%编码该区间,那么这里可以填写0.85。如果想使用100%码率(即原码率),填写1.00即可。什么是“原码率”呢?即XviD认为应该使用的码率。如果定义了权重,那么XviD在实际压缩的时候,就会将原码率乘以用户指定的权重,作为该处实际的码率。
Quantizer——设置该区间帧的Q值。可以强迫编码器将这段区间使用某一Q值编码(本选项通常用于Credit部分的编码)。
Begin with keyframe——本区间的第一帧强迫使用IF。一般选择此选项。
Greyscale encoding——使用灰度。编码出的画面是黑白的,适合于黑白画面(比如片尾的黑白Credit),可更加降低本区间的码率。
Chroma optimizer enabled——色度优化,可以改善颜色过渡不自然现象。该选项对画面颜色有优化作用,推荐选择。勾选此项会稍微降低编码速度,所以可以选择仅对Weight设置成1的电影正文部分应用此设置。由于Chroma optimizer是在色度上做文章,所以开启了Greyscale encoding的时候可以考虑关掉 Chroma optimizer,可以在一定程度上提高一些编码速度。
Cartoon Mode——卡通模式。这个模式可以让画面显得更干净一些,但这就意味着要抹杀细节。制作动画的时候可以使用。(下面会有一个小结专门讲解Cartoon Mode)
BVOP sensitivity——BF灵敏度。值越大,使用BF的数量越多。如果设定负值,则会减少BF用量。制作CREDIT段落的时候本参数可以适当设置大一点,用更多的高压缩率BF去压Credits,参数可以考虑20或40。
注意:如果要在Credit使用Quantizer模式的话,要在Twopass-1st pass中也使用相同的设置才有效。而若要用Weight模式则只需在Twopass-2nd pass中设定既可(从某种意义上讲,这样可令Weight模式下的Two-pass-1st pass稍微快一点)。
Zones应用于CREDIT的参数设置建议: 演职员名单的Q值可限定为8或者9,这样既可以保证名单上的文字能够分辨出来,也可以大幅降低Credit这部分的视频文件体积。有时,10分钟左右的Credits压出来也只有6、7MB,这对某些拥有5、6分钟以上较长Credit的1CD DVDRip影片制作来说,帮助是较为明显的。
Zones使用上的心得除非出现极端的现象,否则不建议针对正片(即影片中除广告、制作人员名单之外的正文部分)使用Zones。有些用户喜欢自作聪明地指定许多Zones人为地干预码率控制。实践证明,这种行为是非常不明智的,这样会严重干扰XviD对于码率的控制和计算,只会导致容量失控(Oversize或Lowsize)或画质下降。XviD的码率控制几乎是所有编码器中做得最好的,所以不要担心,把一切交给XviD去做吧。
考虑到观众现在不少影片的制作人员名单采用了带有画面的渐变或滚动字幕,画面通常为一些拍摄花絮或影片插图、设定。考虑到观众的观赏需要,这类名单不适合使用Zones来降低码率。所以,压缩的时候应当时刻考虑到观众的心情。
Cartoon Mode(本部分作者:Bopirit,收录时略有修改)
XviD有个动态判断标准值,指判别画面是否有动态的标准。若高于这个值,则判断画面为动,编码时记载动态信息;若低于这个值则判断为画面不动,不记载动态信息。这个通常很低,就是说,很小一点差别都会判断为动态。
打开Cartoon模式后,这个标志的值会加大,相应的,小的动态变化会忽略。对动画来说,最直接的效果就是消除了浮动的细微噪点(特别是在色块和线条之间,这种噪点即使降噪也会出现)。因为用了Cartoon模式,这些噪点造成的小度变化被忽略掉,因此会省出大量码率。在的实验中,多在8%以上。但是,因为画面的变动相对较大,PSNR会降低(虽然对动画来说这算不得降低),而且对于使用H.263量化的动画,还会让画面感觉更加模糊;而对于MPEG量化,这个Cartoon模式可以有效降低MPEG量化编码动画片的副作用,尽管PSNR降低,但实际上画面看起来更好。可以配合MPEG/MPEG Custom量化方式使用。
Q值Q值是指量化值(依据作者个人习惯不同,这个值在不同文章中的叫法有所不同,比如“量化值”、“量化级别”、“Quant”等等,本文统一称作“Q值”)。顾名思义,Q值用来描述一个帧的质量,每个帧都有Q值。该值取值范围是1~31。该值由编码器编码的时候根据该帧的颜色、与跟前/后帧的动态关系等自动确定。Q值越小,质量越好,码率越大;Q值越大,质量越差,码率越小。(本概念在XVID制作中非常重要,Q值直接关系到影片的画面质量。)
Encoding mode
Encoding mode即编码模式。XviD一共提供两种编码模式。一种是Single pass,另一种是Twopass。Twopass分两步,分别是1st pass,和2nd pass。下面对这两种编码模式分别进行讲解。
Single passSingle pass即一次运算,Single pass有两种模式(通过Target xxx按钮切换)Target quantizer(目标Q值)和Target bitrate(目标码率)。Single pass模式编码较简单,速度也很快,但是最终质量不如Twopass模式好。可用于实时采集。
Target bitrate(CBR)——目标码率模式,单位kbps。最简单的单线编码,选择平均码率后编码。文件大小相对容易控制。
Target quantizer(VBR)——目标Q值模式,动态码率。
Two passTwo pass即二重运算。这种编码模式分为两步,首先对画面逐帧进行运动侦测,以及对全片段的运动侦测结果进行分析,然后重新以曲线平衡分配每一帧的Q值,以做到:需要高码率的运动画面可以分配更多空间、更高的码率、更低的Q值来保证画面质量;而对于不包含太多运动信息的静态画面,则可以消减分配的码率。这种把好钢用在刀刃上的做法,是XviD作为第二代MPEG4编码的核心内容。可以说,Twopass模式可以在影片容量与画面质量之间找到最佳平衡点,这也是大多数人都乐意花费更多时间采用这种方式的原因。
Twopass-1st pass——二重运算,第一次运算。这是Twopass模式的第一步。在这一步中,编码器会用最高质量编码(量化值2),同时收集画面信息,并将这些信息记录信息文件(stats)当中提供第二次运算的时候参考。
Twopass-2nd pass——二重运算,第二次运算。这是Twopass模式的第二步,编码器会根据第一次压缩时获得的影片的信息和用户指定的最终文件大小,自动分配码率,低动态的分配得少一些、大动态的分配得多一些,总之尽量保证最终文件大小为用户指定的大小。
注1:不要在第一重和第二重运算之间更改XviD设置(某些特殊项除外)、改变AVS脚本(如果用到AVS)或加入、删除滤镜,这些都将会造成不正确的结果。
注2:计算2pass容量的时候,应使用1K=1024Bytes的换算方法。且计算结果不包含音频大小。
Twopass-1st pass面板Full Quality first pass——全质量第一次运算。在 Twopass - 1st pass 时以你当前的设置进行编码,通常是没必要的。会降低1st pass编码速度。
Discard first pass——不输出第一次运算结果。一般都会打开这项,否则你可能会得到一个容量高达几个G的无用的AVI文件。
2nd pass
这个对话框只有在2PASS的时候才可用,其的设置比较复杂,建议保留默认设置。
I-frame boost——额外分配给IF的码率。如果IF的Q值较小(如1或2),此项可以设置为0。
I-frames closer than... (frames) X ...are reduced by (%) Y(X和Y代表所设定的参数)——意思是,若两个IF的距离小于X(通常是连续的闪电效果或者连续大动态动作场面会出现这种情况),则靠后的IF码率减小Y%。如果IF的Q值较小,Y可以稍微设置大一些(可增加5%~8%)。
Overlflow treatment——码率补偿与缩减。Max overflow improvement和Max overflow degradation控制当编码器遇到不足码率或者码率过大的场景时进行修正补偿的阀值,即超码或不足码到达什么程度,编码器会进行修正。值越大,修正速度越快(即需要修正的帧较少,整体编码速度就加快),但是这可能会造成无法为别的更需要码率帧保留码率。如果Q值波动较大,可以将这个值减小到20~30,这样可能会使预测的文件大小受到影响。除非遇到特殊情况,本功能不建议使用!
Overflow control strength %——控制每个需要补偿的码率过大/不足的帧被补偿多少。除非遇到特殊情况,本功能不建议使用。
Curve compression——曲线压缩。曲线压缩的作用就是将码率较高的帧的码率拉下来,将码率较小的帧的码率提上去,让码率曲线平缓一些。此选项不建议使用,也就是保持默认设置“0”。由于现阶段XviD的动态分配(即曲线压缩)做得不是很好,所以直接采用了一种linear scale(即线性压缩)把1pass的码率曲线直接往下调。除遇到特殊情况外,不建议使用曲线压缩功能。
若想了解更多曲线压缩以及线性压缩的细节,请参阅本文附录《曲线压缩与线性压缩》。
Profile标签
Quantization type
量化方式。此处支持三种量化方式。分别是H.263、MPEG、MPEG Custom。应根据影片的特性确定该选项。要了解这三种量化方式的详细信息,请参见附录《三种量化方式解说》。
Adaptive Quantization
其实这个选项就是XVID 1.0之前版本中的Lumi masking。加大图像亮/暗部等人眼不容易注意到的部分的压缩率,可能会产生画面扭曲。本选相应当谨慎使用,因为它看起来弊大于利。所以如果不是对缩小文件体积缩小有迫切的需求,最好不要使用。
Interlaced Encoding
隔行处理。适用于有交错的片源。一般来说不需要开启。
Top Field First
决定场序。如果选中,则为顶场(奇数场)先,否则为底场(偶数场)先。
Quarter Pixel
1/4像素(简称QP,下同)。MPEG-4 用的 QPel 即 1/4 Pel,就是再补出1/2像素像素和1/2像素之间的1/4像素。能保留更多的细节(比不用QP多)和得到更精确的动态补偿,适合高2-PASS/1-PASS比值时采用。但会降低损失近1/3的编码速度。
通常情况下,2-PASS/1-PASS比值在50%以下,不推荐使用。800K以下的低码率使用时,部分场景的画面会产生严重的色彩飘逸现象,看上去像粘稠的液体流动(干净、低动态片源除外)。视频码率越高,使用加QP后的效果越好,而且中低码率下去色块的作用也非常明显。
Global Motion Compensation
全域动态补偿(简称GMC,下同)。能在缩放(把镜头拉近)以及旋转(转动相机)的情形下有所帮助,尤其是画面中的物体的外型是固定的,仅在尺寸以及位置上有所不同时。若要处理的影片是自然景观或风景片时,可以开启GMC。使用该选项制作的影片可能只有XviD自己的解码器才能正常解码,若使用ffdshow等解码器解码可能存在兼容性问题,用前请考虑。
B-VOPs
B-frame
B-frame设定。若去掉该选项前面的对勾,则编码中不使用B-Frame(简称BF,下同),只用IF、PF来压。
Max consecutive BVOPs——最大连续BF数量。举个例子,设置2,就是说在两个PF之间(或IF/PF之间)最多会连续插入两个BF,即…IF/PF BF BF PF…;如果设置3,则最多会出现三个连续BF,即…IF/PF BF BF BF PF…。此处,应根据片源具体情况来设定,如果片源动态比较小,则可以适当开大一些,比如3、4;如果码率很充足或片源很复杂,包含大量大动态场景、运动不规则、场景切换频繁等等,则应减少BF用量,甚至不用BF。
请注意:多少个BF连续出现,没有数量限制(你可以设置成1,也可以设置成1000)。具体用多少XVID自行判断,这个地方只设定最大值。
Quantizer ratio——BF的Q值倍数。计算BF的Q值的参数。
Quantizer offset——Q值计算偏移值。计算BF的Q值的参数。(BF的Q值计算方式下面解释)
Packed bitstream——开启BF的XviD制作的avi,在播放时会延迟一帧(就是以前播放时画面第一帧的那个黑色画面,告诉你该视频使用了BF,如下图)(制作成ogm、mkv、mp4则不会)。而Packed bitstream选项的作用是解决这个问题。不过开启2个以上的连续BF并用到了Packed bitstream的时候,只有XviD的解码器可以正常解码。而用老版本的DivX/ffdshow解码,水平移动的画面会不顺畅(画面朝移动方向抖动)(ffdshow-20040225以后的版本解决了这一个问题)。
Closed GOV——在编码新的IF之前插入一个PF来关闭前一个帧组,否则解码时有可能出现问题。此选项要勾选。
BF的Q值的计算:BF的Q值由BF前后的IF/PF共同决定。
代码:
BF的Q值=BF前后的IF(或PF)的Q值的算术平均数* Quantizer ratio+ Quantizer offset
BF是一个能有效提高压缩率的功能,是否降低画质,那要看如何设置了。有的设置压出来的部分BF,Q值比PF还低。用最恰当的BF设置来调节码率,提高整体质量,是非常有效的,设置地恰当的话,会令全片的Q值分布相当平均,可使DRF测试中的第二项——Standard Deviation 轻易达到“Quality is HIGH ”,即动、静态场景的画质一致,不会“静态尚可而动态MSK惊人”。而且在用VHQ4压片时还能省去不少时间,因为BF不像I、PF那样要作VHQ4处理。通常情况下,全片BF含量在30%—55%左右,画面效果与只用I、PF+VHQ4跑出来的画质无显著差别。即省时又保证质量,所以一般应当使用BF。
随着XviD的Frame Type的不断进步(从0624版开始FrameType判断较以前版本已经有了相当大的提高),大动态场景BF滥用现象已经得到了较好的抑制(经过实测,在码率充足的情况下,大动态场景基本用IF PF PF PF PF… 来压了),所以BF可以放心使用。
有些朋友对本部分设置可能还不是很清楚,的确,BF的设置是XviD中最难掌握的部分,参数需要精心搭配。
针对一些情况,本文给出了参考参数设置,请见附录-BF推荐设置。
Motion标签
Motion search precision——运动检测精度,决定着给定码率下的画面质量。等级越高,画质越好,速度越慢。一般选6而不选5,因为选5只快10%。
设置:
1 – 3: 基本没有什么区别。
4-high:XVID使用半像素插值(half pixel interpolation=HPel=1/2像素)的技术达到更好的结果,而整个16x16的微区块被标示上两帧之间的运动向量(译者按:ffdshow有显示这个向量的功能,很有趣)
5-very high:XviD 使用4分运动向量(inter4v motion vectors)的方式,即16x16的微区块中的4个8x8区块,被标示各自的运动向量。
6-ultra high:运行更多边的运动检测(会减慢10%的编码速度)。
VHQ mode——搜寻宽度。等级越高,画质越好,速度越慢。这个选项会很大幅度的降低编码速度,若机器够快,可选4。想了解更多VHQ的功能,请参阅本文附录《VHQ模式》。
Use VHQ bframes too——在BF上应用VHQ。在原先版本的XviD中,VHQ Mode是不被应用在BF中的。但是从XviD1.1版本开始,只靠选中本选项,就可以在BF中应用VHQ Mode了!
Use chroma motion——通过颜色信息来判断动态。会降低编码速度5%~10%,但是有利于画面,推荐选择。
Turbo——超级模式。更快的判断BF和QP的动态。
Frame drop ratio——丢帧率,这个参数保持默认值0,并且不要改变。
Maxinum I-frame interval——最大IF帧距。该参数一般为帧率的10倍。比如,一般DVDRIP的帧率为23.976fps,则该处就填写240。有人喜欢认为将这个值调小,以增加IF的数量,达到提高画质的目的。此项可根据片子情况适当减小。但是在200以上为宜,如果太小会适得其反——文件OVERSIZE、IF占用大量码率导致BF/PF质量过低,反而不利于画质。
Quantization标签
Quantization标签中的设定非常重要,直接关系到片子的质量。
Min I-frame quantizer——IF的Q值最低值。
Max I-frame quantizer——IF的Q值最高值。
Min P-frame quantizer——PF的Q值最低值。
Max P-frame quantizer——PF的Q值最高值。
Min B-frame quantizer——BF的Q值最低值。
Max B-frame quantizer——BF的Q值最高值。
Trellis quantization——进阶高质量量化模式。若选择该选项,编码器会选择性的降低某些画面的质量,来达到最大限度的提高片子的整体质量。可配合H.263量化方式使用。
各种类型帧的Q值设定需要注意以下原则
设置时应尽量保证IF质量,因为BF和PF的质量都由IF决定。
由于XVID对于BF质量的把握越来越好,比较黑暗的场面出现烂帧的几率也有所减少,所以BF的Q值上限可以放心的设大一些。
有些朋友提出,不要限制Q值范围,也就是全部都保留1/31的默认值,让XviD自行掌握Q值分配。笔者认为这么讲不无道理,但要看什么情况。在一些情况下,XviD自身的Q值分配算法是不能适应某些影片的(比如通篇画面都很昏暗的影片等等),这个时候,就需要我们手工来限制Q值范围。也就是说,是否限制Q值、限制多少,并没有一个确定的答案,而应当由片子本身的特性。有经验的RIPPER可以迅速的根据影片画面判断应该如何配置,也就是所谓的“经验”。所以,Q值的设定应由影片本身和制作要求灵活应变,不应一味追求所谓“理想值”。笔者认为,这点是应当特别注意的。
综合设置
请注意,从xvid1.2开始,Debug功能被安排在了XviD Configuration项目中,按Xvid主窗口下方的Other options按钮即可进入。
Encoder
FourCC used——FourCC 用以确定你编码好的电影用什么样的解码器来播放,默认值为"XviD",这意味着将使用"XviD directshow filters",保证了最大的质量和兼容性。你也可以选择使用"DivX 4.x"或"5.x"的解码器来回放你完成的电影,但是它们不一定就能正常播放。
Number of threads——线程数。XviD针对现在逐渐流行起来的支持HT技术或双内核处理器做出了一些优化。若您的处理器支持HT技术或有双内核,请设置为2,否则请保持默认。
Print Debug info on each frame——在每帧上打印debug信息,非专业人员不要选:)
Display encoding status——显示编码状态,就是我们在压制的时候看到的XviD Status窗口。如下图:
Common
Performance optimizztions——性能优化。可以选择特定的CPU指令集优化。可以对编码速度的提高起到一定作用。建议选择自动选择指令集优化。 坐个沙发!非常不错,谢谢楼主分享经验! 一大堆文字,谁会看得懂啊?如下图:又不见图片的显示·怀疑LZ是从其他地方随便复制过来的,而图片的复制不了:funk: 还是谢谢楼主分享。 好文章,给个详细的连接 http://www.sisdown.com/article/526.html AXIAO426 发表于 2012-5-11 22:45 static/image/common/back.gif
http://www.sisdown.com/article/526.html
谢谢提供链接,已经转贴到点拨论坛:smartmovie视频压缩xvid MPEG-4编码器参数详解
谢谢楼主分享
页:
[1]