查看完整版本: [-- XviD制作教程(10.22update) --]

『漫游』酷论坛 -> 影音精华区 -> XviD制作教程(10.22update) [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

vincent 2003-04-11 19:49

XviD制作教程(10.22update)

制作所需软件:
DVD2AVIdg/MPEG2DEC3dg Version 1.0.0
AviSynth 2.5.2
XviD MPEG4 codec
VirtualDubMod 1.5.4.1
AviSynth_250 plugins:
Decomb5.0.0
Gordian Knot 0.28

1.用DVD2AVI分离mpeg2文件的音频流,确定视频流的规格信息.
首先选择Video - Field Operation,设置为None。按F5开始预览。让它运行一会儿,观察status窗口。这里有两个你需要记住的东西:第一个是Aspect Ratio,要么是16:9要么是4:3,另一个是frame type。

    [*]Frame Rate = 25.000 fps: 视频源是PAL制式的。如果frame type是隔行扫描(Interlaced)的,再次开始预览,仔细观察。如果你没有看到水平黑线那么实际上图像是逐行扫描(progressive)的,这里的工作就已经完成了。如果出现黑线,那么尝试着改变场序:选择Video - Field Operation - Swap Field Order,然后重新预览。如果依然看到黑线就把Field peration重设为None并进行Deinterlace(过程在后面详述);否则就算是完成了。
    [*]Frame Rate = 20.000 fps: 视频源是PAL制式的,你打开了Forced Film。把Field Operation设为None就可以得到正确的帧率。
    [*]Frame Rate = 29.970 fps: 预览几分钟,看Video Type:如果是FILM,百分比高于或等于95%或者只显示FILM那么你就打开Forced FILM,否则就要进行IVTC(过程在后面详述),例如只显示NTSC就只能做IVTC。
    [*]Frame Rate = 23.976 fps: 这是在NTSC电影中打开Forced FILM的后果。如果Video Type是FILM,或者是百分比高于或等于95%的FILM,那么这就完全正确,否则你需要把Field Operation设为None并进行IVTC(过程在后面详述)。

最后根据情况保存DVD2AVI工程文件
①视源全部为Progressive的或者Video Type是FILM并打开了Forced Film
File->Save Project [F4]
②视源是Interlaced的或者部分Interlaced部分Progressive
File->Save Project (1.76)

2.编写Avisynth script生成avs档
下是一个Avisynth script模板,带"#"内容以不起作用,根据使用情况去掉或者加上
根据上述①②分两种情况:
①的情况(YV12制程)
mpeg2_P.avs:

  1. LoadPlugin("MPEG2Dec3dg.dll")
    mpeg2source("xxx.d2v")
    crop(6,4,-6,-4)
    LanczosResize(640,480)

    # DENOISING: choose one combination (or none)

    #LoadPlugin("UnDot.dll")
    #UnDot()
    #UnDot is a simple median filter for removing dots, that is stray orphan pixels and
    #mosquito noise. It basicly just clips each pixel value to stay within min and max
    #of its eight surrounding neigbors.

    #LoadPlugin("Convolution3d.dll")
    #Convolution3d("movielq")
    #Convolution3d (preset="movieHQ") // Movie Hi Quality (good DVD source)
    #Convolution3d (preset="movieLQ") // Movie Low Quality (noisy DVD source)
    #Convolution3d (preset="animeHQ") // Anime Hi Quality (good DVD source)
    #Convolution3d (preset="animeLQ") // Anime Low Quality (noisy DVD source)
    #Convolution3d (preset="animeBQ") // Anime Bad Quality (???)
    #Convolution3d (preset="vhsBQ") // VHS capture Bad Quality (???)


②的情况(YUY2制程)
mpeg2_I.avs:

  1. LoadPlugin("LoadPluginEx.dll")
    LoadPlugin("MPEG2DEC2.dll")
    mpeg2source("xxx.d2v")

    #首先确定你DVD2AVI时是把Field Operation设为None,否则不要使用以下内容
    LoadPlugin("Decomb500.dll")

    #FieldDeinterlace()
    #影片做Deinterlace (Frame Rate:25.000 fps, Video Type:PAL,Frame Type:Interlaced)
    #预览画面,仔细观察。如果你没有看到水平黑线那么实际上图像是progressive的,则影片不用做Deinterlace

    #Telecide(order=1,guide=1)
    #Decimate(cycle=5)
    #影片做IVTC (Frame Rate:29.970 fps, Frame Type:Interlace, Field Order:Top Field First, NTSC 3:2 pulldown)
    #若影片的Field Order是Bottom Field First,则设置order=0;不是3:2 pulldown的去掉",guide=1"
    #判断Field Order和3:2 pulldown的方法请看order_guide.avs


    crop(8,66,-6,-60)
    #切边:最后兩个数字一定要为负数,所以請手動加上"-"
    #按照GK的Resolution里面的数值填上Crop(left,top,-width,-height)

    LanczosResize(640,352)
    #放大縮小,按照GK的Resolution里面的Width x Height数值填上LanczosResize(width,height)

    #LumaFilter(+10,1.1)
    #亮度滤镜
    #变暗:LumaFilter(-10,0.9)
    #变亮:LumaFilter(+10,1.1)
    #LumaFilter(clip, integer "lumoff", float "lumgain")
    #the transfomation is : yy = (y*lumgain)+lumoff
    #lumoff : Luminosity offset. default = -2 (for iago ^^)
    #lumgain : Luminosity gain. default = 1

    # DENOISING: choose one combination (or none)
    #LoadPlugin("UnDot.dll")
    #UnDot()

    #LoadPlugin("FluxSmooth-2.5.dll")
    # little noise
    #FluxSmooth(5,7)
    # medium noise
    #FluxSmooth(7,7)
    # heavy noise
    #FluxSmooth(10,15)


    #调用字幕
    #LoadPlugin("VSFilter.dll")
    #TextSub("xxx.ssa")


order_guide.avs:

  1. LoadPlugin("LoadPluginEx.dll")
    LoadPlugin("MPEG2DEC2.dll")
    LoadPlugin("Decomb500.dll")
    mpeg2source("xxx.d2v")
    AssumeTFF().SeparateFields()
    #Telecide(order=1,guide=1,post=0,show=true)


    # 1.Set the Field Order:

    #Add a script line to separate the fields using top field first, as follows:
    #AssumeTFF().SeparateFields()

    #Now serve the script into VirtualDub and find an area with motion. Single step forward
    #through the motion. Note whether the motion progresses always forward as it should, or
    #whether it jumps back and forth as it proceeds. For example, if the field order is wrong,
    #an object moving steadily from left to right would move right, then jump back left a
    #little, then move right again, etc. If the field order is correct, it moves steadily to
    #the right.

    #If the motion is correct with AssumeTFF().SeparateFields(), then your field order is top
    #field first and you must set order=1. If the motion is incorrect, then your field order
    #is bottom field first and you must set order=0


    # 2.Set up Pattern Guidance:

    #Second, you can serve the following script into VirtualDub and see what Telecide() reports
    #about it (remember to use the correct field order as you determined it above).

    #AviSource("your_clip.avi")
    #Telecide(order=1,guide=1,post=0,show=true)

    #Serve this into VirtualDub and step through several typical sections of your clip. If
    #Telecide() reports "in-pattern", or "in-pattern*", then it is locking onto 3:2 pulldown.
    #If it reports "out-of-pattern" or continuously jumps in and out of pattern lock, then it
    #is not locking onto a consistent 3:2 pattern.

    #If you determine that your clip has a lot of 3:2 content, then you should go ahead and set
    #guide=1. If there is not a lot of 3:2 content, or you have any doubts about the nature of
    #the clip, then you should set guide=0.


以上avs需要用VirtualDubMoD打开预览并根据情况修改相关内容,直到预览的画面没有问题再进行下一步的真正编码.

3.用VirtualDubMoD打开最终的avs档,进行MPEG-4编码,生成Avi档
Video-->Fast recompress
xvid 1psss setting:
Global选项里
Quantization type-->H.263
VHQ mode--> 0-Off
Maximum / Minimum I-frame interval-->240 / 1
将最大关键帧设为每秒帧数的10倍(例如:240、250、300)
Use Chroma motion
Maximum B-frames-->2
B-frames quantizer ratio(%)-->100
B-frames quantizer offset-->1
B-frames threshold-->0
DX50 B-VOP compatibility

Two Pass里:
在1st pass stats指定一个目录来保存video.stats
File->save as...(F7)开始做1pass

完成后在Gordian Knot中的NanDUB Files中,OPEN打开XVID 1st pass建立的video.stats文件。
回到GK的Bitrate界面上,进行码流计算和決定要做成多少CD版本.通过调整Total File Size使Video Size/1st Pass Size的比值在30%-40%左右就可以达到质量和大小之间的平衡了.
拷贝在Video Size 這一栏里的那个xxxxxx KB的值,这个在VirtualDubMoD做2pass-int时会用到

2 Pass - 2nd pass int setting:
在Desired size(Kbtyes)填入之前在GK拷贝的那个值,即刚才在GK计算记下Video Size的大小(KB那个数值)
Advanced option...
B-frames quantizer offset-->200
Two Pass:
确定1st pass stats为之前做1pass时生成的video.stats文件
Bitrate payback delay (frames)->240
应设为每秒帧数的10倍(例如:240、250、300)

在Debug里:
把Chroma Optimizer和Use trellis R-D quantisation(该选择只对H.263有效)都选上

File->save as...(F7)开始做2pass

4.最后用VDM或NanDub合成音频流.

附上xvid-dev-api-4-2003-10-05的推荐设置
2-pass,chroma motion,h263,vhq4,BVOPs=2,ratio=1,offset=2,Trellis quantisation

seth 2003-04-11 20:27
感謝指教哩 ^_________^

收下哩

很棒的教學說

jacula 2003-04-12 08:09
请问怎么吧200M一集的DIVX4,5转成100M左右一集的XVID
两者画质几乎没区别呀

vincent 2003-04-12 13:38
引用
最初由 jacula 发布
请问怎么吧200M一集的DIVX4,5转成100M左右一集的XVID
两者画质几乎没区别呀

不损失画质是不可能的.
而且二次压缩,画质损失更加严重..
最好还是找片源自己重新压制.

dis510 2003-04-13 14:35
直接從VOB壓縮嗎?
還有,先用LAME把聲音轉成VBR能減小文件的容量嗎?

JJob 2003-04-13 15:44
不错不错!回去试试!收下了!谢谢!

vincent 2003-04-27 22:14
更新一下!

seth 2003-04-27 22:34
用YV12,MPEGDecoder.dll,2-pass 2nd pass Ext的方法制片教程:
我看不了

不過很感謝 vincent兄 的教學

大多設置一樣, B-f那邊不太一樣, 看來好好研究哩 ^________^

haohao 2003-04-28 03:34
是啊!
太复杂了,要好好研究才行,谢谢楼主

skywalker 2003-04-28 05:06
关于XVID的设置,建议使用
VHQ=1, 虽然速度会慢一点, 但换来更高的质量是值得的
另外BF的设置在1st-pass和2-nd pass的时候最好保持一致,这样2-pass才会更精确.

fssupu 2003-04-28 23:51
MPEGDecoder YV12 Version 2.02

这个软件在哪里有上面那几个网站都找不到?

WINGX 2003-04-29 01:08
引用
最初由 fssupu 发布
MPEGDecoder YV12 Version 2.02
这个软件在哪里有上面那几个网站都找不到?


MPEGDecoder 2.03a YV12
http://www.dvdguru.net/index.php?pgid=5

yukicarl 2003-04-29 16:09
~~~

强烈要求置顶~~

就差这个了~

还有就是B帧的问题了,而且问题多多~

fssupu 2003-04-29 23:50
LoadPlugin("D:\Program Files\GordianKnot\MPEGDecoder.dll")
LoadPlugin("D:\Program Files\GordianKnot\Decomb.dll")
LoadPlugin("D:\Program Files\GordianKnot\VSFilter.dll")
MPEGSource("E:\divx\ind.d2v")
Telecide(guide=1).Decimate(5)
Crop(8,6,-2,-0)
LanczosResize(640,464)
VirtualDubMod 1.4.13.2v2打开的时候老说我67行出错,怎么回事呢?

vincent 2003-05-21 01:51
引用
最初由 fssupu 发布
LoadPlugin("D:\Program Files\GordianKnot\MPEGDecoder.dll")
LoadPlugin("D:\Program Files\GordianKnot\Decomb.dll")
LoadPlugin("D:\Program Files\GordianKnot\VSFilter.dll")
MPEGSource("E:\divx\ind.d2v")
Telecide(guide=1).Decimate(5)
Crop(8,6,-2,-0)
LanczosResize(640,464)
VirtualDubMod 1.4.13.2v2打开的时候老说我67行出错,怎么回事呢?

照看好像没有错.提示什么错?:confused:

fssupu 2003-05-21 12:38
这个方法我现在放弃了,另外问一下,如果有一个片源画面不好的话,能不能使用虑镜去将画面优化,例如看上去有不少色斑之类的。

阿苏 2003-05-21 13:14
引用
最初由 fssupu 发布
这个方法我现在放弃了,另外问一下,如果有一个片源画面不好的话,能不能使用虑镜去将画面优化,例如看上去有不少色斑之类的。


用滤噪的滤镜过滤一下吧...

_2DCleanYUY2 Convolution3D 最常用的2个

fssupu 2003-05-21 19:12
引用
最初由 阿苏 发布


用滤噪的滤镜过滤一下吧...

_2DCleanYUY2 Convolution3D 最常用的2个


能详细地说一下用法或者有其他的教学连接么?我是菜鸟,啥都不懂:(

paddy 2003-05-26 18:08
多谢,回去试试!

teamkiller 2003-05-31 21:19
在GK load *.d2v檔案時.......出現以下的........已經試過DVD2avi 1.76 & 1.77 ...也試過幾個版本的GK也不行..........

還有......那個chm檔入的可用e文作html及圖片檔名嗎?偶的是繁體window....ac3轉mp3 & 高品質xvid看不到......

teamkiller 2003-05-31 21:23

vincent 2003-06-01 12:17
引用
最初由 teamkiller 发布
在GK load *.d2v檔案時.......出現以下的........已經試過DVD2avi 1.76 & 1.77 ...也試過幾個版本的GK也不行..........

還有......那個chm檔入的可用e文作html及圖片檔名嗎?偶的是繁體window....ac3轉mp3 & 高品質xvid看不到......


目前GK还不能支持1.77的d2v.可以用1.77的dvd2avi截取一小段保存old format.即可用GK读入,做切边等工作.到avs里才修改相关语句真正调用1.77的新格式d2v.

下次更新我会更正这个问题.谢谢提醒!

superrobet 2003-06-01 19:49
可惜我还没买DVD-ROM呢

janos000 2003-06-07 00:15
谢谢了,正在尝试自己压呢~

clsat 2003-06-20 11:49
好的,谢谢,我一直在试

araispeed 2003-07-02 09:51
实在是太好了 收下了

岚轩 2003-07-18 08:09
楼主是AVS编辑高手,收啦~努力尝试中。。。

阿皓 2003-09-10 00:58
天啊 , 有夠複雜 , 我完全看不懂 ............................

vincent 2003-10-22 22:25
更新一下!

Kyo.Tokio 2003-10-25 01:28
没有经过压缩的raw avi,用xivd压了之后视频画质大约有多少损失?

vincent 2003-10-25 11:25
引用
最初由 Kyo.Tokio 发布
没有经过压缩的raw avi,用xivd压了之后视频画质大约有多少损失?

没有经过压缩的raw avi是指用huffyuv编码吗?
画质有多少损失就要看xvid怎样设置了.如果是有经验的高手可以使用自定义的matrix来压,应该可以使损失降到最低.

神威 2003-10-30 06:34
这里面软件 基本都带全了
VirtualDubMod 这样的软件还需要重新来下吗?
只不过版本新一点 感觉没有什么用啊
不知道楼主怎么说?
另外还有一个问题
如果不是mpeg2文件 能用DVD2AVI来分吗
感觉其他用AVIMux_GUI可能好一点吧 如果用AVIMux_GUI
如何进行avs的调整呢 如何去看呢??

几个白吃问题 谢谢楼主大大 帮助赐教

vincent 2003-10-30 20:39
引用
最初由 神威 发布
这里面软件 基本都带全了
VirtualDubMod 这样的软件还需要重新来下吗?
只不过版本新一点 感觉没有什么用啊
不知道楼主怎么说?
另外还有一个问题
如果不是mpeg2文件 能用DVD2AVI来分吗
感觉其他用AVIMux_GUI可能好一点吧 如果用AVIMux_GUI
如何进行avs的调整呢 如何去看呢??

几个白吃问题 谢谢楼主大大 帮助赐教

对GordianKnot.RipPack里都包括了基本的了,但有时候GK更新很慢.一些重要的更新没有及时加进去.例如 DVD2AVIdg/MPEG2DEC3dg Version 1.0.0这个重要更新.而且我给出各个软件的官方链接不是更好吗?

DVD2AVI只能解码mpeg2,mpeg1也不能拿它来解码.
PS: mpeg2的解码还可以用 M2V(MPEG-2 VIDEO VFAPI Plug-In),它画质是最好的,它的 upsampling 比 DVD2AVI 还高阶,而且它的 chroma upsampling 和 DVD2AVI 一样是正确的,其它的 MPEG-2 DirectShow Filter,除了 PowerDVD 以外,WinDVD, Ligos 等都是错的.

avs的调整主要是指里面的滤镜插件参数的调整.还有就是画面有没有留有Interlaced的帧没有处理好.
如何去看呢?
当然用眼睛看哦,在VDM里预览的效果就是未经xvid,divx等压缩的效果,如果加了字幕的还要看看字幕的位置样式等是否是你想要的效果.

shamanking 2003-11-01 19:53
真详细!谢谢!

神威 2003-11-02 01:19
如果是avi格式或者其他各式的 raw 用什么来分比较好呢
而且如何来判断Frame Rate 的数值呢??

谢谢楼主回答

vincent 2003-11-02 02:55
引用
最初由 神威 发布
如果是avi格式或者其他各式的 raw 用什么来分比较好呢
而且如何来判断Frame Rate 的数值呢??

谢谢楼主回答


要分离音频可以使用VirtualDubMod,在File->File Infomation可以看到Frame Rate

神威 2003-11-05 08:35
我使用gk的时候 保存stats文件的时候 我在stats file editor进行最后计算的时候 出现 警告说number of frames not matching.
不能进行计算桢数的工作 这个时候应该继续 还是那里有没有调整好呢?

第二个问题
gk的bitrate选项里
现在多出了 xvid 计算的时候我一般都用这个
然后呢 frames 栏目里的 fps选项是不是根据动画来的
如果动画是 23.976这里就可以改成23.976 默认值是25

麻烦了 谢谢搂主

vincent 2003-11-05 14:22
引用
最初由 神威 发布
我使用gk的时候 保存stats文件的时候 我在stats file editor进行最后计算的时候 出现 警告说number of frames not matching.
不能进行计算桢数的工作 这个时候应该继续 还是那里有没有调整好呢?

第二个问题
gk的bitrate选项里
现在多出了 xvid 计算的时候我一般都用这个
然后呢 frames 栏目里的 fps选项是不是根据动画来的
如果动画是 23.976这里就可以改成23.976 默认值是25

麻烦了 谢谢搂主

建议不要用GK的Stats File Editor生成新的stats 文件.这个是对divx3设计的.
用于xvid出来的结果是错的.如果是xvid-dev-api-4更加不能用,连stats都打不开.
用GK计算码流的指标有两种:
如果你确定要做成1CD或者2CD大小的文件就不必去分析什么stats了.直接设置成CD的容量,再把音频和字幕的容量计算进去就可以得到视频部分的码流和大小了.
然后用2 Pass - 2nd pass int
这种做法可以1pass和2paas加任务连在一起做.

Bits/(Pixel*Frame)这个指标是根据影片的时间和output resolution粗略计算的.一般>0.2
Video Size/1st Pass Size是在Bits/(Pixel*Frame)的基础上加入对1pass的stats文件分析,比较准确.

在GK计算码流时的Frames FPS要设置为输出文件的FPS.例如需要做IVTC的视频要设置为23.976.其它的通常保持源文件的FPS

kaden 2004-09-25 10:03
感觉是在看天书

llztt 2004-12-10 17:14
楼主,你好
下面是我的几点总结和疑问,请帮忙指正和回答
[list=1]
[*]最源头视频------电影摄影机录制的(24桢/S)和电视摄影机录制的(50场/S PAL的、60场/S NTSC的)
[*]通过胶转磁制到DVD上:48场的电影碟、60场的视频碟、50场的视频碟
[*]电影碟又被称为逐行碟,那2种视频碟也有逐行碟和隔行碟之分?(我只听说隔行DVD机和逐行DVD机)
[*]我们电脑里所说的隔行信号和逐行信号是针对DVD光驱读碟生成隔行和逐行信号还是针对逐行的碟和隔行的碟?
[*]楼主提到了Interlaced和progressive的PAL,好像PAL有隔行和逐行之分了,那NTSC也该有隔行与逐行之分了,但下面提到NTSC时,区分出了95%以上是FILM,这个FILM是逐行的NTSC呢还是电影碟的意思呢,如果是电影蝶的话,那么逐行的NTSC是什么呢?
[*]如果假设PAL DVD碟有隔行逐行之分,那么他们的存储或工作原理区别是什么呢??
[*]可否形象的从显示原理上解释一下隔行逐行的区别?
[/list=1]

lizheng-lz 2004-12-11 02:22
非常好的dd,谢谢楼主了 thanks


查看完整版本: [-- XviD制作教程(10.22update) --] [-- top --]


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