dvd轉avi

9
由由 PO 由由由 由由由由 ,,一 由由由 由由由由 (XVID 由由) http://hk.f2.pg.briefcase.yahoo.com/ breezer1472000147852 由由 :由 DVD 由由由由 由由由(SmartRipper) 由由 SmartRipper 由由由由由由由由由由 Chapters 由 Movie 由 DVD 由 DVD 由由由由由 由由由由 由由由 [none]由 由 由 ,,[Target]由 由由由由由由[Start]由由由由由由 VOB 由 SmartRipper v2.41 由 Source 由由由 Input 由 Stream Processing 由由由由由 Input 由 由 Stream Processing 由由由由由 Enable Stream Processing ,! 由由由:由由*.d2v 由由由由*.ac3 由由由(*由由由由由 由由 ) 由由由(DVD2AVI) 由由 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 由由 DemuxMPEG Audio 由由 Demux *.AC3 4.由 48 -> 44.1KHz 由由由由 OFF 由由 一, Save Project 由由 *.d2v 由由由由 *.ac3 由由由由 由由由:由 由 由由由: AviSynth_252(由由由由由由由由) 由由 mpeg2 plugin 由由 24fps 由由 plugin 由由由由由由由*.dll 由(MPEG2DEC.dll IT.dll)由由由 C:\Program Files\AviSynth 2.5\plugins 由 由由由由由由 *.avs由(由由由由 由由由 !) ---------------------------------------------------------------- LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2DEC.dll")

Upload: chui-wen-chiu

Post on 21-Jan-2015

1.670 views

Category:

Documents


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Dvd轉Avi

由於之前有些人向我請教轉檔的問題,我就乾脆直接 PO 教學吧

這是參考某論譠的文章寫的,因為他寫的較艱深,我把他簡化一下

所需軟體都能在這公事包下載到(XVID 除外)

http://hk.f2.pg.briefcase.yahoo.com/

breezer1472000、147852

第一步:從 DVD 抽出影片

所需軟體(SmartRipper)

打開 SmartRipper 進入主畫面後可以看到 Chapters 清單,用 Movie 模式擷取,此模式是根據此 DVD

在 DVD 撥放程式裡所顯示的章節把檔案擷取出來!選好之後,按下面的[none]按鈕,再挑選你要的章節

或檔案打勾,指定好存放路徑[Target]後 再按左下角的[Start]就開始擷取成 VOB 檔了。注意在

SmartRipper v2.41 版 Source 那分為 Input 和 Stream Processing 兩個頁面,在 Input 頁面按上面

教學的去作就行了。而在 Stream Processing 頁面要勾選 Enable Stream Processing,否則擷取出來

的影音檔案可能會出問題!

第二步:製作*.d2v 專案檔及*.ac3 音軌檔(*代表你設定的檔名,可自行決定)

所需軟體(DVD2AVI)

開啟 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_252(下載後需完全安裝)

解碼 mpeg2 plugin

自動 24fps 補正 plugin

解壓後將這兩個*.dll 檔(MPEG2DEC.dll IT.dll)複製到 C:\Program Files\AviSynth 2.5\plugins 裡

Page 2: Dvd轉Avi

然後打開記事本將下面虛線內的文字存成一個*.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)

FPS 需自行判斷

一般影片都是 24 格...少數是 30 格(如電腦動畫片)

如果你是說改 30 格的話只要把下面這行(其他 fps 沒試過)

IT(fps=24,ref="TOP",blend=false)

的 fps=24 改成 fps=30 即可!

但是你要搞清楚該影片適不適合 30fps...

否則轉出來很慘...影像會頓

一般判斷方法是先設定 fps=30...

然後用 VirtualDubMod 讀取 avs 檔後預覽影像

在隨便找幾段畫面持續動作的場景(最好是多找幾段較保險)

用鍵盤的左右方向鍵一格一格預覽...

如果連按 10 格都沒有任何一格畫面有停止的情形(就是每格都會動)

那就是 30fps 製作的影片...設定 fps=30 就沒問題

如果有靜止畫面的話...就是 24fps 製作的影片

必需設定 fps=24...不然轉出來的影片會頓!

不過也有影片是有些地方 24ftp 製作有些是 30ftp 製作(比方說櫻花大戰巴黎篇)

那就看你如何取捨...因狀況而異...

如果你是那種會為了少數幾個 30fps 場景去換取多數 24fps 場景會頓的話...

你可以用 30fps 去壓^^"

第四步:下載影音結合軟體、影像壓縮軟體、影像編碼軟體

所以需軟體:

Nandub 1.0RC2

解壓縮 Nandub 的檔案之後,雙擊其中的 AuxSetup.exe 檔,點擊[install Handler]按鈕。

安裝 XviD Code(到此下載最新版安裝)

Page 3: Dvd轉Avi

http://roeder.goe.net/~koepi/xvid.shtml

目前最新是 XviD-24062003-1.exe,在第四格,別以為最上面就是最新

下載 VirtualDubMod

打開 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 檔案(容量極小隨便放),另外下面的 Don't run this job now; add it to job control so I

can run it in batch mode. 也要勾選。接下來再回到 codec 設定的部分,這一次選擇[2 Pass - 2nd

pass Int],在 Desired size 那格填上你想要壓出來的容量大小值。連按 2次 ok 後再按 F7 來儲存 AVI,

為它取個另一個跟 1st pass 不同的名稱,並且也要勾選 Don't run this job noe; add it to job control

so I can run it in batch mode.,接下來按 F4帶出工作列表,你要做的只有按下 Start 鈕,兩個 pass

將會自動執行不需要再有任何手動操作,一旦編碼過程完成後你的 XviD 檔就完成了。(VHQ mode絕對

要設定為 4,可以同時提高畫質跟減少大小,只是要多花時間,而且還不少)

如果最終目的是壓成 RMVB,不是 AVI,那壓 AVI時請選最高畫質設定,且不需二次編碼

參考如下

按 Configure 後,用以下的設定

Page 4: Dvd轉Avi

接下來按 Advanced optionsi 後,作用以下設定

(1)

如果影片是電影而非動畫的話,Quantization type 請設定為 mpeg

這樣畫面會比較好,如果是動畫就圖片來設定就行了

第五步:把影像和聲音合成

經過一連串的努力終於壓好影像部分,接下來只要再跟聲音做個結合就完成了!注意不要用

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...]即大公告成!

(1)

有些 DVD 聲音不一定是 ac3 檔,請自行作選擇

Page 5: Dvd轉Avi

第六步:字幕結合

所需軟體:

VobSub

首先打開 VobSub Configure,之後去找你抽 DVD時存放的資料

找副檔名為 ifo 的檔案,那就是字幕檔

打開後,他會叫你選存放的位罝,就選你放 AVI 的地方

選取你要的章節,他會自動幫你分離好

之後把主檔名改成跟你的做好的 AVI 一樣,就會播放出來了

(1)

如果發現字幕跟影片不同步

安裝了 VobSub 後就可找到 subresync 的圖示,啟動軟件。

將由 VobSub 抽出的 .idx 拖入 subresync 內

即可看到每句字幕的出現時間及顯示的字幕

之後再作調整

這樣做出來的 avi 檔,畫面不會變模糊(有作 IVTC 所以不用去拉絲),也不會因 YUV跟RGB 之間的轉換

而失真,而且是採用地表上頂級的 Lanczos3 Resize 法,是畫面銳利度和檔案最好的平衡點,既銳利又

清晰

市上有許多那種只要點下一步就能把 DVD 轉成 AVI 的軟體

(像 Super DVD Ripper、1st DVD Ripper、DVDx、InterVideo DVD Copy、豪杰視頻通)

但小弟每個都測試過,沒有一套能勝過這個轉檔方法

因為原始 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 的轉換。這個轉換是有損的,做得越多次,原始的色彩資

訊就損失的越嚴重。

而寫這軟體的人就想到,反正最後轉成 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)。

而 Avisynth 用法很簡單

寫好的 avs 可以重複拿來使用,不用每次都重頭做一次,只要改改檔名、路徑,馬上就可以全自動做好所

有需要做的處理,適合大量轉檔的時候使用。想想看,MPEG Decode, IVTC, Crop, Resize, 濾雜訊,全

Page 6: Dvd轉Avi

部所有的處理只要寫數行文字,存成 .avs,然後用 VirtualDub 開啟這個 avs,所有的工作就做好了,你

只需要選好 Codec,就可以開始壓縮了。而且下次要再壓縮時,不用重新在軟體中一個一個設置這些設定

不必用好多個軟體連來連去,只要改這個 avs 檔,改改處理的檔名和路徑,用 VD 開啟,謝天謝地,所

有的工作又都完成了 ^^

1. Avisynth 的 filter 非常多,功能很強;例如 IVTC 吧,TMPGEnc 要做個半死,AviUtl 速度慢,如果

用 Avisynth 的 IT plugin,只要寫短短數個字,IVTC 這個工作就完了,而且效果比 TMPGEnc 的自動

補正還好,這麼省力,老實說實在是非常好用。

2. 可以模組化,寫好的 function 可以重複載入使用;提供許多運算、條件判斷的操作,善用的話可以做

出非常變態的處理,這是其他軟體做不到的。

大家第一次看一定以為 3、4 步很麻煩,我第一次也是這麼認為

但第二次做時發現,第一次做的設定可以直接拿來用,更本不用做改變

接下來就做的非常輕鬆

像我大概玩第三、四次轉檔時,就連文章都不用看了

直接點一點,拉一拉就完成了,輕鬆的很

而壓出來的畫質直逼DVD,如果 DVD 是 100 分

這壓的至少有 95 分(選最高畫質設定)

如果不是抓圖片下來比較,根本分不出的出來那個是 AVI,那個是 DVD

而檔案大小只有原始大小的 2/3~1/2 左右

相信我,第一次做不要怕麻煩,因為以後就很輕鬆

而你用過這方法後,相信你不會再用其他軟體了

因為根本沒有比這更好的壓縮軟體

想再把 AVI 轉 RMVB 的人請看這裡吧

http://swordfish.cool.ne.jp/cgi-bin/topic.cgi?forum=7&topic=1357&show=0

常見問題:1) 我做到*.avs 這步後下面就無法繼續下去了我照您說的存成*.avs 檔了裡面的檔案路徑我都有對應我的目

錄位置可是我把用好的*.avs拉到 VirtualDubMod卻一直失敗...出現以下訊息:

Avisynth open failure

Evaluate : Unrecognized exception !

(C:\d2v\test.avs,line2)

Solution:

載入 avs 檔時發生錯誤在我剛開始學的時候也是常發生

後來我是如何解決的呢?

簡單的說就是一步一步檢查!

Page 7: Dvd轉Avi

就以我提供的 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)

事實上可以拆成 4 個部分

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)

第一部份的意思就是先解碼 mpeg2 檔案:

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2DEC.dll")-->先呼叫 Plugin

MPEG2Source("C:\1.d2v")-->讀取 mpeg2 檔案

第二部分的意思就是對影片做 IVTC(也就是做 24fps 補正):

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\IT.dll")")-->先呼叫 Plugin

IT(fps=24,ref="TOP",blend=false)-->設定 Plugin 參數

如果你的 d2v 檔是用非 dvd2avi 1.76 版做的話...載入 avs時就會錯誤!

因為 MPEG2DEC.dll 只吃 dvd2avi 1.76 版做的 d2v

第三部分的意思就是對影片做裁減畫面的動作:

Crop(8,0,704,480)-->(左右各砍 8點,上下各砍 0點,左右砍完的解析度,上下砍完的解析度)

因為 d2v 解出來的解析度是 720x480

所以數字 1,3加起來一定 720,2,4加起來一定是 480...一定要填對!

第四部分的意思就是對影片做 resize 的動作:

LanczosResize(640,360)-->將上一行處理後的 704x480 畫面縮小成為 640x360 大小

Page 8: Dvd轉Avi

這裡亂填倒是不會影響^^"...

當你把 avs 檔拉進 VirtualDubMod視窗時...

VirtualDubMod 會檢查你的 avs 檔是否格式正確

而檢查時他是採由上而下檢查

也就是假設第一步就錯了...後面就不用玩了

所以我建議你...一步一步檢查!

LoadPlugin("E:\AviSynth 2.5\plugins\MPEG2DEC.dll")

MPEG2Source("E:\REC\Pvr000go2.d2v")

LoadPlugin("E:\AviSynth 2.5\plugins\IT.dll")

IT(fps=30,ref="TOP",blend=false)

Crop(8,0,720,480)

LanczosResize(720,480)

把你的 avs 檔拆成 4 部分

LoadPlugin("E:\AviSynth 2.5\plugins\MPEG2DEC.dll")

MPEG2Source("E:\REC\Pvr000go2.d2v")

LoadPlugin("E:\AviSynth 2.5\plugins\IT.dll")

IT(fps=30,ref="TOP",blend=false)

Crop(8,0,720,480)

LanczosResize(720,480)

接著先留第一部份就好...然後把 avs拉進去看有沒有錯誤!

有錯誤那後面就不用玩了...

若拉進去沒問題...第一步就沒錯了...

接下來再改成載入第一跟第二部分...以此類推

這樣就能找出問題出在哪?

這樣才知道如何解決!

請你回去試試看吧!

有時候只是英文拼錯或是 Plugin 的路徑或檔案位置錯誤...

不這樣檢查...搞半天都找不出錯在哪?...

Page 9: Dvd轉Avi

往往當找到錯誤以後...你可能會很幹自己XD

所以建議每次做好的 avs 都留起來...

第一:下次轉檔直接修改路徑就好

第二:重寫有可能出現筆誤^^"...

另外只貼錯誤訊息的話

通常只有寫這程式的才能切確了解問題在那

以你的錯誤訊息來說理論上來說有幾十種不同的可能

所以順便把你的 avs貼上來吧

因為寫這程式的是不是我,我的英文也很爛(被當過 2次)

所以我也不敢保證能解決每個人所以發生的問題

但我會儘可能去解決的