《VirtualDubMod + AviSynth 簡易教學》DVD 轉 XviD 公認最簡單方法



贊助商連結


頁 : [1] 2

snic
2003-06-30, 03:44 PM
《VirtualDubMod+AviSynth簡易教學》DVD 轉 XviD 公認最簡單,轉檔速度最快,品質最好,語音同步,挑片率0的方法!

我敢說公認轉檔速度最快,品質最好可是有憑有據的!

感謝大長輩神Shade提供資料^^
原作者 Silky: (我有稍作修飾)
--------------------------
我們知道原始 MPEG 資料是 YUV 4:2:0的格式,以前我們在做 DivX/XviD 壓縮的時候,處理流程是:
DVD/VCD(YUV 4:2:0) -> DVD2AVI(YUV 4:2:0 -> YUV 4:2:2 -> YUV 4:4:4 -> RGB24) -> VFAPI(RGB24) -> TMPGEnc/AviUtl/VirtualDub(RGB24) -> DivX/XviD Codec(RGB24 -> YUV 4:2:0) -> MPEG-4(YUV 4:2:0)
所以以前的處理流程中間要經過好幾次 YUV <-> RGB 的轉換。這個轉換是有損的,做得越多次,原始的色彩資訊就損失的越嚴重。而且這個轉換的計算又耗時。那麼有人(Marc FD)就想到,反正最後轉成 MPEG 都要存成 YUV 4:2:0 的格式,那麼為什麼不乾脆一路到底,全程都以 YUV 處理,這樣
1. 處理的資料量少。(YUV 的資料比 RGB 24/32 少非常多)
2. 不用轉換計算

所以速度快。再加上又可以避免 YUV <-> RGB 轉換的損失,豈不是一舉兩得?所以支援 YUV 的 Avisynth 2.5 就誕生了,但是目前 VirtualDub 還是不支援 YUV,所以要得到全程 YUV 處理的好處,必須使用 VirtualDubMod 這個軟體才行,這個改版才有支援 YUV(要選 Fast recompress)。
--------------------------


為何我又說此轉檔方法也是最簡單呢?這也是有憑有據的!
原作者 Shade:
--------------------------
Avisynth 其實用法很簡單,我之前寫的那些只是比較變態的做法,一般不需要寫到這樣複雜,通常處理只有寫兩三行。好處是
1. Avisynth 的處理速度非常快。
2. 寫好的 avs 可以重複拿來使用,不用每次都重頭做一次,只要改改檔名、路徑,馬上就可以全自動做好所有需要做的處理,適合大量轉檔的時候使用。想想看,MPEG Decode, IVTC, Crop, Resize, 濾雜訊,全部所有的處理只要寫數行文字,存成 .avs,然後用 VirtualDub 開啟這個 avs,所有的工作就做好了,你只需要選好 Codec,就可以開始壓縮了。而且下次要再壓縮時,不用重新在軟體中一個一個設置這些設定,不必用好多個軟體連來連去,只要改這個 avs 檔,改改處理的檔名和路徑,用 VD 開啟,謝天謝地,所有的工作又都完成了 ^^
3. Avisynth 的 filter 非常多,功能很強;例如 IVTC 吧,TMPGEnc 要做個半死,AviUtl 速度慢,如果用 Avisynth 的 IT plugin,只要寫短短數個字,IVTC 這個工作就完了,而且效果比 TMPGEnc 的自動補正還好,這麼省力,老實說實在是非常好用。
4. 可以模組化,寫好的 function 可以重複載入使用;提供許多運算、條件判斷的操作,善用的話可以做出非常變態的處理,這是其他軟體做不到的。
--------------------------

**********************************

接下來就來簡單講解整個步驟流程:
(由於是簡易教學,理論我都去掉了,若需要詳細研究的人,請參閱近期即將推出的 MPEG4 轉檔教學電子書,此篇教學主要是讓需要的人先睹為快,解解渴^^")

下載SmartRipper 2.41(下載後解壓縮即可使用,無須安裝)
ftp://ftp.freenet.de/pub/filepilot/windows/multimedia/video/SmartRipper_2.41.zip
打開 SmartRipper 進入主畫面後可以看到 Chapters 清單,用 Movie 模式擷取,此模式是根據此 DVD 在 DVD 撥放程式裡所顯示的章節把檔案擷取出來!選好之後,按下面的[none]按鈕,再挑選你要的章節或檔案打勾,指定好存放路徑[Target]後 再按左下角的[Start]就開始擷取成VOB檔了。注意在 SmartRipper v2.41 版 Source那分為 Input 和 Stream Processing 兩個頁面,在Input頁面按上面教學的去作就行了。而在Stream Processing頁面要勾選 Enable Stream Processing,否則擷取出來的影音檔案可能會出問題!


下載dvd2avi 1.76(下載後需安裝,注意一定要用1.76版)
http://www.slunecnice.cz/download.php4?v=4396&u=2
開啟 DVD2AVI,導入 VOB!
影像部分設定(Video):
1.iDCT Algorithm 部分設為 IEEE-1180 Reference
2.Color Space 設為 YUV 4:2:2
3.YUV->RGB 設在 PC Scale
4.Field Operation 設在 none
聲音部分設定(Audio):
1.Track Number,選擇你要的聲道,如 5.1 聲道在 Track 2 就選 Track 2,日文發音在 Track 3 就選 Track 3
2.Channel Format 選在 Auto Select
3.Dolby Digital 選擇 Demux,MPEG Audio 選擇 Demux,這樣就會匯出 *.AC3
4.在 48 -> 44.1KHz 的設定選 OFF
一切設定好後,到 Save Project 匯出 *.d2v 專案檔及 *.ac3 音軌檔!


下載AviSynth 2.52(一定要2.5x版,下載後需完全安裝)
http://prdownloads.sourceforge.net/avisynth2/AviSynth_252.exe?use_mirror=easynews
裝完後下載下面兩個 AviSynth plugin
1. 解碼mpeg2 plugin
http://www.avisynth.org/~warpenterprises/files/mpeg2dec_25_dll_20030107.zip
2. 自動24fps補正 plugin
http://www.avisynth.org/~warpenterprises/files/it_25_dll_20030504.zip
解壓後將這兩個*.dll檔(MPEG2DEC.dll IT.dll)複製到C:\Program Files\AviSynth 2.5\plugins裡,然後打開記事本將下面虛線內的文字存成一個*.avs檔(該分行的一樣要分行!)
----------------------------------------------------------------
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2DEC.dll")
MPEG2Source("C:\1.d2v")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\IT.dll")
IT(fps=24,ref="TOP",blend=false)
Crop(8,0,704,480)
LanczosResize(640,360)
----------------------------------------------------------------
其中MPEG2Source("C:\1.d2v")是你*.d2v放置的路徑,請自行修改!
注意上面的Crop(8,0,704,480)LanczosResize(640,360)這兩行是給16:9的影片用的
4:3影片請用Crop(8,0,704,480)LanczosResize(640,480)
2.35:1的影片請用Crop(8,60,704,360)LanczosResize(640,272)


下載 Nandub 1.0RC2(下載後解壓縮即可使用,無須安裝)
http://prdownloads.sourceforge.net/sourceforge/ndub/nandub-binary-1.0rc2.rar?use_mirror=easynews
解壓縮 Nandub 的檔案之後,雙擊其中的 AuxSetup.exe 檔,點擊[install Handler]按鈕。

安裝 XviD Code(到此下載最新版安裝)
http://roeder.goe.net/~koepi/xvid.shtml

下載 VirtualDubMod 1.4.13(下載後解壓縮即可使用,無須安裝)
http://www.einfach-divx.de/download_detail.php?download=134
然後打開 VirtualDubMod,將剛剛做好的 *.avs 檔拉進 VirtualDubMod 視窗,接著[video]-->選[Fast recompress],確認[AVI]-->[Audio]項下是[NO Audio],然後[Video]-->[Compression]-->[XviD MPEG-4 Codec]-->[Configure]進入XviD 設定,按那個 "Default" 按鈕,所有設定就會自動使用最佳的預設值,在[Encoding Mode]選項中選擇[2 Pass - 1st pass],連按2次ok後按下 F7 來儲存第一個pass的avi檔案(容量極小隨便放),另外下面的 Add operation to job list and defer processing 也要勾選。接下來再回到 codec 設定的部分,這一次選擇[2 Pass - 2nd pass Int],在 Desired size 那格填上你想要壓出來的容量大小值。連按2次ok後再按F7來儲存AVI,為它取個另一個跟 1st pass不同的名稱,並且也要勾選Add operation to job list and defer processing,接下來按F4帶出工作列表,你要做的只有按下Start鈕,兩個pass將會自動執行不需要再有任何手動操作,一旦編碼過程完成後你的 XviD 檔就完成了。


經過一連串的努力終於壓好影像部分,接下來只要再跟聲音做個結合就完成了!注意不要用 VirtualDubMod 結合聲音檔,好像有問題,所以我們改用 Nandub ,打開 Nandub將剛剛做好的 *.avi 檔拉進 Nandub 視窗,[Audio]-->[AC3 audio]選 *.ac3 檔,不過你會發現 *.ac3 音效檔檔名上會標個"DELAY -xxms"值,那是指影音兩者間的偏差值,是要填到 Nandub 的[Audio]-->[Interleave…]-->[Delay audio track by ?? ms]裡的!音效檔檔名上 DELAY 值是多少就填多少(正負號也要填相同!)設定好後按 OK 離開!輸入的聲音檔都設定好後,確認[Video]項跟[Audio]項下都是[Direct stream copy],點擊[File]-->[Save as AVI...]即大公告成!


這樣做出來的 avi 檔,畫面不會變模糊(有作IVTC所以不用去拉絲),也不會因YUV跟RGB之間的轉換而失真,而且是採用地表上頂級的 Lanczos3 Resize 法,是畫面銳利度和檔案最好的平衡點,既銳利、清晰,又不會太難壓縮。壓縮速度又快,測試過只要花其他壓縮方法的1/2~1/3時間!語音也一定同步!

不過事實上還要再挑的話,品質還有辦法再提昇!礙於時間關係先點到為止,更詳細內容可以參閱近期即將推出的 MPEG4 轉檔教學電子書,敬請期待!

贊助商連結


jimmydan
2003-06-30, 05:58 PM
謝謝你的教學,學到了!

3w3w3w
2003-07-02, 12:41 PM
嗯嗯...滿棒的教學
繼續期待 sinc 兄的續作喔

simonyang
2003-07-02, 05:03 PM
整篇文章都沒有提到到底用多好的電腦系統來作這些動作....
例如說用個P4 2.0g + 512 ram 等等....
還有時間也只有說和其他方法比起來快人家多少倍.....
沒說到到底要花多少時間....
而且test的影片為何....影片長度為多少...也沒有說明...

我自己的經驗是...
利用 No.1 DVD Ripper 和 Divx v5.0.5
轉百事達租的貼身情人...影片長度是1小時41分5秒
測試主機請看左邊....使用 1620 的 bitrate
做出一片長度為 686mb 和另一片長度為 632mb 的divx的影片
(只有包含 ac5.1 聲道和中文字幕)
總共轉檔時間約3個小時...誤差幾分鐘左右吧...
平均每秒14.1 frames
大致上要寫出這些別人才可以判斷您所說的方法到底是有多快...
而不是隨便說個比別的快上多少多少倍而以...

依照您的教學方法...需要使用到很多種軟體來製作....
所以大概不能寫得這麼詳細..
不過至少能寫出從開始用 smartripper 時到全部結束的時間總共
花了多少時間吧?當然還有您使用的配備.....
麻煩您補充一下吧

附帶一題...我利用的方法轉出來除了轉檔時間照您的說法可能輸您很多以外..
我的方法可能是最簡易的方法....
影片聲音和字幕一氣喝成...畫質也不差喔...

騎豬的男孩
2003-07-04, 09:22 AM
我PO 一下我的配備跟壓製時間..
CPU:AMD-Athlon XP 1700+ (OC 200x10=2GHz)
Ram:DDR400-256MB x 2
影片長度為113 分鐘
畫面大小為640x272

1 Pass 時間= 1:33
2 Pass 時間= 1:37
加起來大約只花了3 個小時就完成了..
而且將影片大小控制在693MB(因為字幕加上VobSub & Codec 要7MB,放這些東西是怕朋友借去但是不會看..)
音效為MP3,因為我覺得DVD Rip 的影片就是畫面最重要..

轉出來的畫質很不錯,比Nandub + DivX 要漂亮~~
複雜?
其實常轉就不會覺得複雜了..

simonyang
2003-07-04, 10:31 PM
那麼時間根本就差不多嘛.........
基本上轉一部片子大約都要花3小時....
說的好像特別快一樣....

倒是畫質這部分我比較有興趣....
有空再來玩....

titi8233
2003-07-06, 07:29 AM
下載來試試看吧,謝謝你的分享。

s0015228
2003-07-06, 11:41 AM
最初由 simonyang 發表
那麼時間根本就差不多嘛.........
基本上轉一部片子大約都要花3小時....
說的好像特別快一樣....
怪奇~為什麼看到你回覆的話有一點討厭的感覺呢? :D

jam1112
2003-08-11, 03:31 PM
s兄真是無所不在
在各大論壇幾乎都可見到你 :P

Zuchen
2003-08-12, 03:33 PM
最初由 騎豬的男孩 發表
1 Pass 時間= 1:33
2 Pass 時間= 1:37
加起來大約只花了3 個小時就完成了..
而且將影片大小控制在693MB(因為字幕加上VobSub & Codec 要7MB,放這些東西是怕朋友借去但是不會看..)
音效為MP3,因為我覺得DVD Rip 的影片就是畫面最重要..那可不可以請您說明一下您是如何加字幕的呢?
(如果能一步一步來解釋會比較好)

因為原來snic兄的說明並沒有提到如何加字幕
我為了這個問題試了好久
裝VobSub、VSFilter.....都沒用
就是不知道要怎麼設定才可以在用VirtualDubMod壓影像時一起把字幕壓進去
教我好嗎?