搜索 社区服务 统计排行 帮助
  • 21876阅读
  • 40回复

XviD制作教程(10.22update)

楼层直达
级别: 新手上路
注册时间:
2002-11-27
在线时间:
0小时
发帖:
88
制作所需软件:
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")
  2. mpeg2source("xxx.d2v")
  3. crop(6,4,-6,-4)
  4. LanczosResize(640,480)
  5. # DENOISING: choose one combination (or none)
  6. #LoadPlugin("UnDot.dll")
  7. #UnDot()
  8. #UnDot is a simple median filter for removing dots, that is stray orphan pixels and
  9. #mosquito noise. It basicly just clips each pixel value to stay within min and max
  10. #of its eight surrounding neigbors.
  11. #LoadPlugin("Convolution3d.dll")
  12. #Convolution3d("movielq")
  13. #Convolution3d (preset="movieHQ") // Movie Hi Quality (good DVD source)
  14. #Convolution3d (preset="movieLQ") // Movie Low Quality (noisy DVD source)
  15. #Convolution3d (preset="animeHQ") // Anime Hi Quality (good DVD source)
  16. #Convolution3d (preset="animeLQ") // Anime Low Quality (noisy DVD source)
  17. #Convolution3d (preset="animeBQ") // Anime Bad Quality (???)
  18. #Convolution3d (preset="vhsBQ") // VHS capture Bad Quality (???)


②的情况(YUY2制程)
mpeg2_I.avs:
  1. LoadPlugin("LoadPluginEx.dll")
  2. LoadPlugin("MPEG2DEC2.dll")
  3. mpeg2source("xxx.d2v")
  4. #首先确定你DVD2AVI时是把Field Operation设为None,否则不要使用以下内容
  5. LoadPlugin("Decomb500.dll")
  6. #FieldDeinterlace()
  7. #影片做Deinterlace (Frame Rate:25.000 fps, Video Type:PAL,Frame Type:Interlaced)
  8. #预览画面,仔细观察。如果你没有看到水平黑线那么实际上图像是progressive的,则影片不用做Deinterlace
  9. #Telecide(order=1,guide=1)
  10. #Decimate(cycle=5)
  11. #影片做IVTC (Frame Rate:29.970 fps, Frame Type:Interlace, Field Order:Top Field First, NTSC 3:2 pulldown)
  12. #若影片的Field Order是Bottom Field First,则设置order=0;不是3:2 pulldown的去掉",guide=1"
  13. #判断Field Order和3:2 pulldown的方法请看order_guide.avs
  14. crop(8,66,-6,-60)
  15. #切边:最后兩个数字一定要为负数,所以請手動加上"-"
  16. #按照GK的Resolution里面的数值填上Crop(left,top,-width,-height)
  17. LanczosResize(640,352)
  18. #放大縮小,按照GK的Resolution里面的Width x Height数值填上LanczosResize(width,height)
  19. #LumaFilter(+10,1.1)
  20. #亮度滤镜
  21. #变暗:LumaFilter(-10,0.9)
  22. #变亮:LumaFilter(+10,1.1)
  23. #LumaFilter(clip, integer "lumoff", float "lumgain")
  24. #the transfomation is : yy = (y*lumgain)+lumoff
  25. #lumoff : Luminosity offset. default = -2 (for iago ^^)
  26. #lumgain : Luminosity gain. default = 1
  27. # DENOISING: choose one combination (or none)
  28. #LoadPlugin("UnDot.dll")
  29. #UnDot()
  30. #LoadPlugin("FluxSmooth-2.5.dll")
  31. # little noise
  32. #FluxSmooth(5,7)
  33. # medium noise
  34. #FluxSmooth(7,7)
  35. # heavy noise
  36. #FluxSmooth(10,15)
  37. #调用字幕
  38. #LoadPlugin("VSFilter.dll")
  39. #TextSub("xxx.ssa")


order_guide.avs:
  1. LoadPlugin("LoadPluginEx.dll")
  2. LoadPlugin("MPEG2DEC2.dll")
  3. LoadPlugin("Decomb500.dll")
  4. mpeg2source("xxx.d2v")
  5. AssumeTFF().SeparateFields()
  6. #Telecide(order=1,guide=1,post=0,show=true)
  7. # 1.Set the Field Order:
  8. #Add a script line to separate the fields using top field first, as follows:
  9. #AssumeTFF().SeparateFields()
  10. #Now serve the script into VirtualDub and find an area with motion. Single step forward
  11. #through the motion. Note whether the motion progresses always forward as it should, or
  12. #whether it jumps back and forth as it proceeds. For example, if the field order is wrong,
  13. #an object moving steadily from left to right would move right, then jump back left a
  14. #little, then move right again, etc. If the field order is correct, it moves steadily to
  15. #the right.
  16. #If the motion is correct with AssumeTFF().SeparateFields(), then your field order is top
  17. #field first and you must set order=1. If the motion is incorrect, then your field order
  18. #is bottom field first and you must set order=0
  19. # 2.Set up Pattern Guidance:
  20. #Second, you can serve the following script into VirtualDub and see what Telecide() reports
  21. #about it (remember to use the correct field order as you determined it above).
  22. #AviSource("your_clip.avi")
  23. #Telecide(order=1,guide=1,post=0,show=true)
  24. #Serve this into VirtualDub and step through several typical sections of your clip. If
  25. #Telecide() reports "in-pattern", or "in-pattern*", then it is locking onto 3:2 pulldown.
  26. #If it reports "out-of-pattern" or continuously jumps in and out of pattern lock, then it
  27. #is not locking onto a consistent 3:2 pattern.
  28. #If you determine that your clip has a lot of 3:2 content, then you should go ahead and set
  29. #guide=1. If there is not a lot of 3:2 content, or you have any doubts about the nature of
  30. #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
级别: 骑士
注册时间:
2002-08-08
在线时间:
0小时
发帖:
1372
只看该作者 1楼 发表于: 2003-04-11
感謝指教哩 ^_________^

收下哩

很棒的教學說

级别: 侠客
注册时间:
2003-03-23
在线时间:
0小时
发帖:
352
只看该作者 2楼 发表于: 2003-04-12
请问怎么吧200M一集的DIVX4,5转成100M左右一集的XVID
两者画质几乎没区别呀

听Lounge的猫
级别: 新手上路
注册时间:
2002-11-27
在线时间:
0小时
发帖:
88
只看该作者 3楼 发表于: 2003-04-12
引用
最初由 jacula 发布
请问怎么吧200M一集的DIVX4,5转成100M左右一集的XVID
两者画质几乎没区别呀

不损失画质是不可能的.
而且二次压缩,画质损失更加严重..
最好还是找片源自己重新压制.
级别: 光明使者
注册时间:
2002-10-26
在线时间:
0小时
发帖:
12686
只看该作者 4楼 发表于: 2003-04-13
直接從VOB壓縮嗎?
還有,先用LAME把聲音轉成VBR能減小文件的容量嗎?

族谱(排名不分先后):
亲亲LP:小妃菲 JJ:叮J,火菊J,猫J(失踪) 侄女:晶晶(失踪) 唯一MM:雪兰MM 唯一的傻DD:链子 调戏JF的小姨子:妞妞




哪位有以上全套图片,请告知我,谢谢~
级别: 新手上路
注册时间:
2003-01-12
在线时间:
0小时
发帖:
258
只看该作者 5楼 发表于: 2003-04-13
不错不错!回去试试!收下了!谢谢!
级别: 新手上路
注册时间:
2002-11-27
在线时间:
0小时
发帖:
88
只看该作者 6楼 发表于: 2003-04-27
更新一下!
级别: 骑士
注册时间:
2002-08-08
在线时间:
0小时
发帖:
1372
只看该作者 7楼 发表于: 2003-04-27
用YV12,MPEGDecoder.dll,2-pass 2nd pass Ext的方法制片教程:
我看不了

不過很感謝 vincent兄 的教學

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

级别: 骑士
注册时间:
2002-08-17
在线时间:
0小时
发帖:
813
只看该作者 8楼 发表于: 2003-04-28
是啊!
太复杂了,要好好研究才行,谢谢楼主
级别: 版主
注册时间:
2001-11-21
在线时间:
0小时
发帖:
2803
只看该作者 9楼 发表于: 2003-04-28
关于XVID的设置,建议使用
VHQ=1, 虽然速度会慢一点, 但换来更高的质量是值得的
另外BF的设置在1st-pass和2-nd pass的时候最好保持一致,这样2-pass才会更精确.

live id: liusu119@hotmail.com
email: liusu119@gmail.com
级别: 侠客
注册时间:
2002-12-15
在线时间:
0小时
发帖:
599
只看该作者 10楼 发表于: 2003-04-28
MPEGDecoder YV12 Version 2.02

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

级别: 元老
注册时间:
2001-11-21
在线时间:
0小时
发帖:
3767
只看该作者 11楼 发表于: 2003-04-29
引用
最初由 fssupu 发布
MPEGDecoder YV12 Version 2.02
这个软件在哪里有上面那几个网站都找不到?


MPEGDecoder 2.03a YV12
http://www.dvdguru.net/index.php?pgid=5
级别: 工作组
注册时间:
2002-12-02
在线时间:
1小时
发帖:
2005
只看该作者 12楼 发表于: 2003-04-29
~~~

强烈要求置顶~~

就差这个了~

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

重要なメッセージ
申し訳ございません。KOICHI DOMOTO Endless SHOCK Original Sound Track (初回盤DVD付)は、この出品者からの出品は終了しました。商品はお客様のショッピングカートの保存セクションに移動されました。他の出品者が同じ商品を出品しているかどうかは、この商品の詳細ページでご確認ください。
级别: 侠客
注册时间:
2002-12-15
在线时间:
0小时
发帖:
599
只看该作者 13楼 发表于: 2003-04-29
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行出错,怎么回事呢?

级别: 新手上路
注册时间:
2002-11-27
在线时间:
0小时
发帖:
88
只看该作者 14楼 发表于: 2003-05-21
引用
最初由 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:
快速回复

限150 字节
上一个 下一个