查看完整版本: [-- XVID 实用教程 + 新手设置 图片更新.... --]

『漫游』酷论坛 -> 影音精华区 -> XVID 实用教程 + 新手设置 图片更新.... [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

skywalker 2003-05-21 03:06

XVID 实用教程 + 新手设置 图片更新....

随着XVID的发展, 现在即使新手也能压出不错的效果...
下面就介绍一下XVID的使用方法和功能
本文使用的XVID版本为XviD-14052003-1
画面上的是建议使用的设置:


顺便说一下,很多单词不知道正式的译名是什么, 所以可能有错, 不过大意差不多了,如果有知道正确译法的朋友请帮忙指正



在进入了xvid的设置画面后就会看到这个画面
encoding mode 有6种.......
第一种是1 Pass - CBR, constant byte rate, 这种模式XVID会使用均匀的码流来压制每一段内容, 不过, 实际上这是这个CBR也不是是每一秒都是同样的......
因为 再XVID在压的时候实际上是使用VBR的, 然后再在某一个时间段里面来平均码流, 来达到指定的码流.....
比如说有一段动画, 把平均码流的间断设置10秒,而前5秒为大动态的片段用了太多的码流, 而后面的5秒就必须用低与平均数值的码流来补偿前面用掉的来使这10秒的码率达到指定值. 当然, 实际上的判断会更复杂, 这里只是把它简单化了.

1 Pass - quality:
这里指的是指定画质比, 用量化值为2压出来的文件大小就为100%, 而这里设置的数值就是根据这个大小来判断文件的码率的. 当然, 因为没有做2-pass,所以这里的判断不可能是以正个文件的大小来判断的, 只能是和CBR一样, 以某一段时间类的数值来判定使用的量化值. 这种方法是最接近2-pass的......
(以上的解释可能有错误, 因为我很少用这种模式来压, 所以上面的解释都是我估计的)

1 Pass- quantizer:
这个模式就是指定量化值来压的. 何为量化值(quantizer)呢, 说起比较复杂, 而且我也不懂傅立叶变换, 所以这里就跳过了, 只要大家把量化想成除法就行了,量化值就是被除数(汗...忘了是除数在前还是被除数在前了, 不过看后面的式子就明白了), 比如DCT(好像叫离散余弦变换,就是视频转换的过程)后的数据的大小是10, 量化值是3, 那最后的文件大小就约等于10÷ 3= 3.333333=3....... 因为量化是整数, 所以结果都是整数, 所以在还原的时候就会丢失信息(3 x 3=9).
量化值也就决定了画面的质量, 量化值越小,保留的信息也就越多.XVID一般把2作为最高值, 因为量化值1的文件比2大一倍,而质量上却没有什么区别.
在这种模式下压就是把所有的画面都用同一个量化值来压, 也就是所质量都相等. 和quality 模式不同的是, quality模式重视的是实际的文件大小, 而这个模式重视的信息的保留程度.

2 Pass - 1st pass
2 Pass - 2nd pass int:
这里两个就连在一起讲了, 2 Pass - 1st pass就是用2的量化值把整段动画压一遍,把每个帧的信息记录下来, 以供 2nd pass 来使用. 而 2nd pass 就是在真正的压了,使用从 1st pass得来的信息来智能的分配码流. 在选2nd pass后就输入想要的文件大小就行了.

具体的使用方法就看后面了

2 Pass - 2nd pass ext.:
这个在XVID已经建立了完善的2 pass逻辑之后就没什么用了....
需要使用这个的人也不许要看这个教程了.......





下面讲第一个菜单里面的设置:
先是motion search precision, 动态探测精度:
一共有7个选项, 这里选得越高,速度就越慢, 而质量也越好.
一般都选6 - Ultra High, 不然使用xvid就没有意义了......

quantization type:
这里是选量化的矩阵,DCT后的信息都是先除以这个矩阵再除上面那个量化值的.量化矩阵的不同, 压出来的效果也就不同. XVID主要使用的是h.263和MPEG两种, modulate的那两个都是把h.263和MPEG交换使用, 新版的XVID下moduleted已经没什么用了, 所以一般都使用h.263和MPEG. MPEG的细节保留得最多,所以文件也大,而且也容易产生DCT噪音, 一般在比较高的码率下使用. h.263保留的细节就要少一些,文件也比较小,所以产生的画面比MPEG柔和,也可以叫模糊.h.263比较适合低码率的使用, 也就是适合压制动画.不是所以在压制动画的时候推荐使用h.263. 另外, 还有很多自制的矩阵可以用, 在后面的endit quantizer matrix 里面可以选, 当然先要到网上去下才会有, 针对特殊的情况有特效.......

FourCC used:
这里没什么说的,选XVID就行了....
这是给文件打标签做区别用的,影响到用什么来解码....

VHQ mode:
这个是近几个月的XVID才有的功能...
主要功能是在macro block(16x16像素的方块,压缩的基本单位)里面做动态探测,还有做是否使用4倍动态矢量(4 motion vector, 4MV)的判定. 现在这个版本是开到4最好.
这里开的越高, 文件就越小,而速度也越慢, 以前的版本开到4会降低画质,但新版本已经解决这个问题了, 特别是在高量化值的情况下(>4),会提高画质.


maximum I-frame interval(最大关键帧间距),minimum I-frame(最大关键帧间距) interval:
这里是顾名思义, 设定关键帧的间距离, 单位是帧.

Enable lumi masking:
lumi masking就是给macro block付于不同的量化值,在不选的情况下每个MB的量化值是一样的, 不过因为在某些画面下, 很多地方不容易被肉眼看到. "既然看不到,是也就不需要把码率浪费到这些地方了,所以不如提高肉眼不容易看到的地方的量化值,把省下来的码率用到容易被人看到的地方, 不就提高了画面的质量了吗?" 在这中想法下, lumi masking就出现了, 不过理论归理论, 实际上做出来后效果不明显, 所以就要用它了,会降低速度的.....

Enable grayscale:
这个就是用黑白来压, 想看回顾以前看黑白电视的时代吗, 用这个吧....(我没用过,估计大家也用不到,不知道实际效果如何)

Enable interlacing:
用来压画面全是交错的东西的......
又是我们很少用到的东西.........

Use chroma motion(使用色彩动态探测):
前面的动态探测只使用了亮度的信息, 这里选了后会加入色度的信息来做探测, 可以提高准确度.
这个是一定要选的...

Quaterpel:
这里是提高动态预测的精度的,主要作用是把精度提高到像素的1/4大小. 具体的理论我看到有更详细的讲解, 暂时忘了在哪里了, 下次找到时在贴上来.
现在不推荐使用,回降低压制和解码的速度,效果不明显


Global Motion Compensation(全局动态补偿):
这个的作用是在碰到镜头横移,旋转,缩小放大等正个画面都是有着相同的运动轨迹,而画面本身不变的时候(比如12国记的片头,一直是在横移), 可以用GMC来压,就可以省下很多码流. divx有类似的功能, 不过只用了1个warp point, 基本上没有用, XVID现在用了两个warp point,但还是效果不大, 未来的XVID会用到3个wapr point.......
这里也是不要选的, 特别是不能和VHQ一起开, 不然多半会出问题, 具体原因就偷懒不写了...........

B-frame control:
Maximum B-frame: 最大的连续BF数量
B-frame quantizer ratio: BF的量化值比
B-frame quantizer offset: BF的量化值offset
把鼠标放在输入框里不动就能看到公式, 这里就不写了(懒啊....).....

B-frame threshold: 这里控制着BF的使用量,越大BF就用的越多,越小就用的越少, 想把文件压小就开到255吧.......

下面把DX50 B-vop compatibility钩上就行了........
其他的不要钩








这里就是选量化值的大小
Min i-frame quantizer: 最小关键帧量化值
Max i-frame quantizer:最大关键帧量化值
Max p-frame quantizer:最小帧量化值
Max p-frame quantizer:最大帧量化值
后两个也决定了BF的量化值,就是用前面那个公式来决定的.
进edit quantier matrix就可以修改矩阵, 不过要在global里面的quantization type里面选custom才行. 这里新手就不要碰了, 用h.263就行了.





这里的选项是一直都存在的,很多教程都讲过了, 我也就偷懒了.....
新手就用图上的设置就行了.....
注意把Discard first pass钩上, 不然每次 1st pass都会生成一个文件



Alt. Curve 和 Credits就跳过了.
Alt. Curve Nandub的高手会用, 不过在XVID里面效果不是很好, 只有在比较特殊的情况下才有用. 主要功能就是码率高的帧的码流分给码率低的帧,劫富济贫,这样码率低的帧就不会因为码率低而导致量化值过高,画质明显降低. 反正码率高的帧本来就有很多码率, 所以分一点出来也降低不了多少画质,标准不过却可以拯救一大堆码率低的帧. 另外码率高的帧多半是动态大的帧, 即使质量低点也不容易被看出来. 而照上图设置就是使用的线性分配, 每帧该给多少给多少, 按需供给.
Credits在压电影时比较有用, 不过动画就用处不大了, 这里就不提了



在Debug里面, 有一些试验性的功能,
chroma optimizer: 选了可以柔化色彩的边缘
use trellis R-D quantisatino:
用过ffvfw的人都知道,ffvfw早就使用了trellis quantization了:
Trellis searched quantization

This will find the optimal encoding for each 8x8 block.
Trellis searched quantization is quite simple a optimal quantization in the PSNR vs bitrate sense (assuming that there would be no rounding errors introduced by the IDCT, which is obviously not the case) it simply finds a block for the minimum of error + lambda*bits. Lambda is a qp dependant constant Bits is the amount of bits needed to encode the block Error is simple the sum of squared errors of the quantization

koepi的解释:
http://forum.doom9.org/showthread.php?s=&threadid=53383&highlight=trellis
我试了一下, 暂时没发现什么bug.........
可以使用...




好像暂时就完了, 还有不明白的可以参考
http://popgo.net/bbs/showthread.php?s=&threadid=115574
http://popgo.net/bbs/showthread.php?s=&threadid=74062

WANGXIAOYA 2003-05-21 08:28
多谢,正好还有部分弄不明白~

WANGXIAOYA 2003-05-21 08:30
对了,老大图片我是一个都看不见,用www.tok2.com这里的空间方图片吧

gamegod 2003-05-21 18:46
做内嵌這種畫質滅殺的工作時這篇文章就有點用。

Goal 2003-05-25 13:28
我也看不到图片,还有想问为什么我压的片子,在播放时拉动播放位置时会有比较打的延时,有声音,一有画面就先动得很快,然后才正常播放。我看到有些别人压的就不会,不知道为什么?应该怎么设置?请大家指教。

水煮面 2003-05-25 14:19
多谢,尝试中

skywalker 2003-05-26 02:07
引用
最初由 Goal 发布
我也看不到图片,还有想问为什么我压的片子,在播放时拉动播放位置时会有比较打的延时,有声音,一有画面就先动得很快,然后才正常播放。我看到有些别人压的就不会,不知道为什么?应该怎么设置?请大家指教。



那是正常情况...........
不用担心...........

paddy 2003-05-26 18:05
多谢..........

carl-chan 2003-05-28 23:08
眼花了......學到唔少野^^

晨风 2003-05-30 12:45
好多啊
偶慢慢研究

来吧宝贝 2003-05-30 14:49
想学,可………………没图。望版主尽快更改

crow_1980 2003-05-30 18:37
准备常识,谢谢指导

shinji 2003-06-03 23:51
謝謝囉、蠻有用的~~~~

maomaoel 2003-06-06 17:14
很详细阿

lukeyucn 2003-06-08 21:36
多谢。

newgundamrx78 2003-06-09 02:03
THX^-^"

暗黑死亡天使 2003-06-11 13:26
謝謝,還有一部分弄不明白

King619 2003-06-15 15:53
那些图都X了啊

snakejoy 2003-06-15 17:38
没有图图不明白啊!XDIV不是一种编码吗?这个工具是将什么压成什么呢?哎,我笨死了,看了半天还是不懂……

lukeyucn 2003-06-16 15:46
怎么没有图片说明啊?

lukeyucn 2003-06-20 07:47
啊,又看了一遍,还是有些看不懂.

stanly 2003-06-20 11:58
楼住能否将图片一起上传上来给我们这些菜鸟看下,我到别的论坛看过时都没有图片介绍,好难懂哟!希望图片能上传上来!

comicking 2003-06-24 10:18
暂时先花了30分钟来看,后面可能会花上3小时,但这个东西实在是太棒了!!
其他地方都没看到

hhgang 2003-06-30 15:25
正缺这个冬冬呢,太感谢了

raptor110 2003-07-02 21:39
图重新贴一下打包了

mxl 2003-07-04 08:21
学会了不少东西,不过后面的没看懂......
谢谢。

fengfeng 2003-07-11 22:21
这个软件的确不错

浓香咖啡 2003-07-13 21:36
引用
最初由 snakejoy 发布
没有图图不明白啊!XDIV不是一种编码吗?这个工具是将什么压成什么呢?哎,我笨死了,看了半天还是不懂……


应该是VirtualDub

King619 2003-07-15 01:41
那些图都是X

skywalker 2003-10-21 10:13
123

wangkx 2004-01-28 12:00
好东西,不过看来要买个更强劲的PC才能够胜任呀.

RickyBoy 2004-03-03 22:53
正好需要这个...

ngng 2006-04-28 22:16
了解中...
很不错


查看完整版本: [-- XVID 实用教程 + 新手设置 图片更新.... --] [-- top --]


Powered by phpwind v8.5 Code ©2003-2011 phpwind
Time 0.017652 second(s),query:2 Gzip disabled