小兔的筆記本

Just another WordPress.com weblog

使用MeGUI將DVD轉成H.264視訊檔

Posted by Tsukino Usagi 於 十二月 6, 2007

本文將介紹將DVD格式的影片轉換成H.264的視訊檔的方法.

注意事項:

  • 本文所用的轉檔方式是採用x264獨立的轉檔程式, 搭配MeGUI, 並非透過vfw, 因此照著本教學進行下去, 並不會影響系統裡現有的vfw codec, 適合不喜歡裝一大堆雜七雜八codec的人用.
  • 一些轉檔的參數設定是作者的喜好, 每個人對畫質, 音質的喜好, 儲存空間的要求和願意花在轉檔時間的長短並不相同. 本文僅提供一個方向讓讀者學會如何轉檔, 希望讀者們在多次嘗試之後, 找出適合自己的轉檔參數和方式.
  • 複製有版權保護的DVD可能會觸犯您所在地區的法律.

準備軟體:

  • DVD Decrypter: 用來將DVD格式的影音光碟的內容複製到硬碟, 由於這軟體的官方網站已關閉, 且本身不再更新, 因此請自行尋找. 安裝過程很簡單, 但安裝程式若詢問是否連上官方網站檢查更新, 記得回答「否」.
  • MeGUI: 主要用來轉檔的軟體, 此軟體需配合.NET Framework 2.0才能正常運作, 記得一併安裝.
  • mkvtoolnix: 將轉檔完的視訊, 音訊和字幕打包成.mkv檔的軟體, 雖然MeGUI已內建此功能, 不過無法滿足較特殊的需求(例如視訊縱橫比微調等等), 因此打包的部份, 另外用它來做.
  • VobSub: 用來從DVD當中抽取字幕用, 若不打算處理字幕則可以不用安裝. 官方網站沒有提供它的binary, 得自行尋找. 安裝過程當中請選擇自訂安裝, 所有的元件都「不要」打勾, 因為只是要用它抽取字幕, 用它裝的.dll檔就夠了.
  • AviSynth: 以frameserver型式來作視訊檔處理的軟體, MeGUI當中的影片裁切, 去雜訊, 去交錯等等功能都靠它運作, 下載時只需要下載主程式即可, 安裝時不用更改任何選項.
  • 若您還有XviD轉檔的需求, 不妨考慮直接安裝AutoGK, 它包含了VobSub和AviSynth這兩個軟體.

將DVD影音光碟的內容複製到硬碟:

  1. 執行DVD Decrypter, 在Source裡選擇DVD光碟所在的光碟機, 接著從功能表中選Mode→IFO(或者直接按鍵盤上的「I」鍵).
    dd1
  2. 右邊會以樹狀結構現此光碟所有的標題(Title)和章節(Chapter), 如果光碟內容是連續劇之類的影片, 可以預先替每一個章節各建立一個空資料夾, 方便作業. 接著右邊將要複製的標題選取起來, 左邊Destination則點資料夾的圖示, 出現瀏覽資料夾的視窗時選擇要存放的資料夾, 並按下方按鈕開始將DVD的內容複製到硬碟.
    dd2
  3. 接著會出現進度畫面
    dd3
  4. 完成時會出現此畫面
    dd4
  5. 重覆步驟2至4, 將DVD光碟裡所有要轉檔的標題都複製到硬碟.

更新MeGUI:

  1. 第一次啟動MeGUI時會作更新, 主要是更新MeGUI用到的其他軟體(畢竟MeGUI只是個frontend, 很多動作都是呼叫外部程式來完成), 以及轉檔用到的設定值以及AviSynth用到的Plugins.
  2. 啟動MeGUI之後若出現「Updates Available」的視窗時, 選「是」進行更新.
    megui update
  3. 點Update更新.
    megui update2
  4. 更新過程當中若出現選擇設定值的畫面, 請全部選取(選第一個, 再按Shift點最後一個), 並按Import匯入所有的設定值.
    megui update3
    megui update4
  5. 更新完的畫面應該是這個樣子, 可以再點「Update」確認所有的檔案都正確地更新了.
    megui update5 

影音分離及前置處理:

  1. 在MeGUI主畫面下, 選「Tools」→「D2V Creator」.
    megui01
  2. 點「Video Input」右邊的按鈕, 出現開啟舊檔畫面時, 選擇第一個.VOB檔開啟.
    megui02
  3. 接著選擇「Demux al Audio Tracks」, 按一下「Queue」, 接著將此視窗關閉.
    megui03
  4. 切換到「Queue」頁面, 並按「Start」開始執行抽出音軌及建立.d2v檔的動作.
    megui04
  5. 若您是第一次使用MeGUI, 會看到此畫面, 回答「是」, 並輸入Worker的名稱, 建立新的Worker(可隨意輸入).megui05
    megui06
  6. 轉檔時會出現像這樣的進度畫面, 請等它跑完, 畫面的「Priority」是調整轉檔工作的優先權, 作者實驗的結果發現調這裡對轉檔快慢與否影響不大, 反而是調到「HIGH」時電腦整個動彈不得.
    megui07
  7. 完成時剛才那個進度畫面會消失, 「Worker」畫面會像下圖這樣, 而「Queue」畫面裡剛才的工作會顯示「done」字樣.
    megui08
  8. 回到MeGUI主畫面, 選擇「Tools」→「AviSynth Script Creator」.
    megui09
  9. 點「Video Input」右邊的按鈕, 選擇剛才建立的.d2v檔.
    megui10
  10. 檔案開啟之後會另外出現畫面預覽的視窗:
    • 「Input DAR」右邊的下拉式選單這裡通常會偵測影片的格式和縱橫比, 若偵測錯誤的話再修改即可(台灣通常是NTSC, 若是片源是16:9加上下黑邊之後形成的4:3, 也選擇4:3, 稍後再做處理).
    • 接下來將「Crop」打勾, 再按「Auto Crop」按鈕自動裁切影片黑邊(若影片本身就是以暗畫面為主, 這裡可能會偵測錯誤, 請手動調整中間的數字.)
    • 接下來將「Resize」打勾, 再調整影片畫面的寬度和高度, 注意寬度和高度必須為16的倍數, 若您的影片不是4:3, 請參考本文下方關於畫面縱橫比的說明.
      megui11
  11. 接著切換到「Filters」的頁面, 按「Analyse」鈕開始分析影片, 它會找出這影片適合用哪一種方式去交錯(拉絲的現象).
    megui12
  12. 以下針對此畫面的選項一一說明
    1. 去交錯偵測完成時使用它偵測出來的設定值即可, 但有時候會出現它偵測的結果說不需要去交錯, 但卻很明顯在預覽畫面裡看到拉絲現象時, 請將「Deinterlace」打勾, 「Source type」選「Interlaced」.
    2. 若片源是卡通, 「Source is Anime」請務必打勾.
    3. 若片源大量用柔焦效果, 或者是用DV拍攝成的影片, 「Resize Filter」可以選「Bicubic(Neutral)」, 否則盡量選「Lanczos(Sharp)」.
    4. 「Noise Filter」打勾, 右邊選「Minimal Noise」, 若片源雜訊情況嚴重, 可以試著調整這裡的設定值看是否能改善.
    5. 若片源是DVD, 「Mpeg2Deblocking」通常是不勾的, 除非片源有嚴重到很離譜的方塊出現(像衛星電視或數位電視訊號變差時的那種樣子)才需要打勾.
    6. 「Colour Correction」通常要打勾, 可以改善影片顏色上的一些問題(卡通會比較明顯)
    7. 接著按「Preview AVS Script」看看輸出的影片的樣子, 若覺得滿意, 就按「Save」存檔.
      megui13 
      megui14
  13. 接著回到主畫面, 點「Audio Input」右邊的按鈕, 開啟之前抽出的音訊檔(可能是.wav或.ac3).
    megui15
  14. 只有左右聲道的音訊, 作者是習慣壓成.ogg, 在「Codec」這裡選「Ogg Vorbis」, 點「Config」之後, 會出現調整音訊品質的畫面, 在這裡把品質調到3.0, 並按「New」建立一個自己的設定檔.
    megui16
  15. 回到主畫面時按「Enqueue」.
    megui17
  16. 接著按「Audio Input」右邊的按鈕選擇另一個音訊檔, 「Audio Profile」就直接選剛才建立的設定檔, 按「Enqueue」排進排程即可.
    megui18
  17. 接著按「Queue」切換到排程工作頁面, 按「Start」開始音訊壓縮的工作.
    megui19
    megui20
  18. 音訊都壓縮好之後回到「Input」頁面, 確認「AviSynth Script」是剛才建立的檔案, 「Codec」是「x264」, 「File format」是「MKV」之後, 「Video profile」這裡選「HQ-Slower」(若片源是卡通, 請選「AE-Goodquality」).
    megui20-2
  19. 主畫面選「Tools」→「Bitrate Calculator」:
    megui20-3
  20. 在Bitrate Calculator畫面裡, 選擇「Audio1」裡頭的「Select」, 開啟剛剛「壓縮好的」音訊檔.
    megui22
  21. 接著在「Audio1」這個頁籤上點右鍵, 選「Add track」, 並一樣按「Select」選另一個壓縮好的音訊檔.
    megui23
    megui24
  22. 確認「Video」, 「Codecs」, 「Container」裡的數值都跟目前要轉檔的影片符合, 點「Total Size」裡的箭頭, 選擇或輸入這個影片轉檔之後希望的大小(若要燒錄成光碟, 為了預留字幕或其他檔案的空間, 可以稍微降低一點大小), 選好之後記下「Result」裡的Bitrate值, 並按「Apply」離開此畫面.
    megui25
    megui26
  23. 回到主畫面之後按「Config」, 先檢查「Bitrate」裡的值是否跟剛剛在Bitrate Calculator 計算的是否一樣, 接著按「Profiles」裡的「New」, 替這個設定檔取一個名字, 往後片源相同的轉檔就直接用這個設定值.
    megui27
  24. 按「Enqueue」把視訊轉檔的工作排進排程.
    megui28
  25. 接著切換到「Queue」頁面, 按「Start」開始漫長的轉檔時間.
    megui29
    megui30
  26. 都完成之後會像下圖這個樣子
    megui31

從DVD當中抽取字幕:

  1. 在Windows工作列中, 點「開始」→「執行」, 輸入「rundll32.exe vobsub.dll,Configure」
    vobsub01
  2. 出現VobSub視窗之後, 點左下角的「Open」, 檔案類型選「*.ifo」, 接著找到由DVD Decrypter複製到硬碟的.ifo檔並開啟它. 
    vobsub02
  3. 選擇字幕檔要放在哪個資料夾, 建議存放在轉檔時存的資料夾以方便作業.
    vobsub03
  4. 參考下圖所示選擇要抽取的字幕軌(要抽取的字幕軌要在右邊), 並按「Ok」開始抽取字幕.
    vobsub04
    vobsub05
  5. 字幕抽取完成時會是這個畫面
    vobsub06 

將視訊, 音訊和字幕合併:

  1. 執行mkvtoolnix附帶的mkvmerge GUI, 點右上角的「add」, 開啟轉檔好的視訊檔.
    mkvmerge01
  2. 接著按照相同的步驟, 依序加入音訊檔和字幕檔, 第一個加入的音訊和字幕會成為預設值, 因此請留意加入的順序.
    mkvmerge02
  3. 全部都加好之後畫面會像下面這個樣子.
    mkvmerge03
  4. 接下來在「Tracks」裡點選視訊(找「type: video」這個), 並點下方的「Format specific options」, 選擇「Display width/height」, 右邊輸入影片的長度和寬度(參考本文下方關於畫面縱橫比的說明):
    mkvmerge04
  5. 按「Start Muxing」開始產生合併的檔案.
    mkvmerge05
  6. 合併完之後畫面會像下面這個樣子, 接下來就試試檔案能不能正常播放吧.
    mkvmerge06 

關於畫面縱橫比:

  • 在進行x264轉檔時有畫面的寬度和高度必須為16的倍數的限制, 但是.mkv可以在播放時進行縮放(使用與原本視訊資料不同的解析度), 若是轉16:9的影片, 在建立AviSynth Script這個步驟時, 可以先輸入一個接近16:9比例的數字, 到最後包成.mkv檔時再調整到正確的比例, 整理如下:

    畫面比例 4:3 16:9 16:9Letterbox成4:3
    建立AviSynth Script時用的解析度 640×480 704×400 640×368
    包成.mkv時調整成 640×480(不用調整) 711×400(左右拉寬)或704×396(上下壓扁) 654×368(左右拉寬)或640×360(上下壓扁)

    您也可以去下載 Aspect這個專用的計算程式來找出適合的解析度, 雖然這軟體的計算方式是以.avi為基礎, 不過還是有參考的價值.

          補充說明:

          • 事實上MeGUI還有更自動化和更方便的使用方式(例如AutoEncode和One Click Encoder等), 本文是針對初次使用MeGUI以及尚未熟悉轉檔原理的使用者而編寫, 因此未加以說明, 若您有重覆壓製相同片源的需求(例如連續劇), 而且相關設定檔也都建立過了, 不妨嘗試看看.
          • 關於轉檔時用的設定值和參數必須隨著影片內容而作調整, 作者的經驗和建議如下:
            • 一般影片以2-pass, 1200kbps為基準, 影片內容要是有大量動態畫面和特效則增加bitrate值, 要是以靜態畫面為主則減少.
            • 靜態畫面為主的卡通以2-pass, 750kbps為基準, 要是動態畫面或特效用很多, 則增加bitrate值.
            • 音訊的部份, 要是只有立體聲則一律壓成ogg vorbis, 品質設定在3.0~5.0之間.
            • 音訊的部份, 要是影片本身就是以音樂演奏為主的影片, 就考慮不做壓縮, 直接將抽出的音軌包進.mkv裡.
            • 無法忍受漫長轉檔時間的人, 可以考慮Single Pass Quantizer或Single Pass Quality的方式轉檔, 注意Single Pass Quantizer模式下quantizer值越高, 品質越差.
          • MeGUI也可以用在DVD以外的片源轉檔, 視訊部份只要能讓AviSynth處理即可, 音訊部份可以先還原成.wav, 再讓MeGUI處理即可.
          • 字幕的部份, 本文的作法是直接將DVD抽出的字幕包進.mkv, DVD的字幕其實是一張張的圖檔, 若有需要辨識成文字再進一步編輯, 不妨去找相關教學, 轉成文字格式(.srt, .ssa或.ass)後的字幕一樣可以用本文裡的方式包進.mkv裡.

          參考資料:

          About these ads

          13 回應 to “使用MeGUI將DVD轉成H.264視訊檔”

          1. 請教教我 said

            請問大大MeGUI還有其他轉檔的方法嗎
            小弟最近在研究DVD;MPEG-2轉X264的方法
            雖然大大的教學很有用,但卻遇到一個無法解決的問題
            想請教你…
            我每次壓超過5分鐘的影片
            都會出現影音不同步的情況
            請教大大還有何種方法可以轉出高品質的H.264

          2. Usagi said

            多試幾台電腦或多試不同的codec或播放軟體看看,
            說不定你轉出來的影片其實沒有問題.

          3. 請教教我 said

            感謝大大的回答
            也希望你能多發表一些轉檔教學
            可以讓大家學著做

          4. 請教教我 said

            請問大大

            以下方法是轉成MP4有聲音的格式
            ——————————
            DGIndex 選Video-Field Operation-Honor Pulldown Flag
            GordianKnot-Open d2v-選 Kernel Deinterlace-save avs file
            輸入了 avs 和 audio(wav/ac3) file, 選擇 mp4 fileformat, 然後按 AutoEncode, – 不要打勾 Add additional content – 按 Queue
            ——————————–

            因為PO很久了
            也無法請教那位PO文的大大
            所以請教你是否知道
            以上的操作方式
            因為我看不懂DGIndex這是從哪個步驟開始

          5. 魔法女巫 said

            真是大開眼界,沒想到有人會把那麼覆複雜的軟體,
            一張一張的用圖片貼出來還附心得教學,連翻譯英文的功夫
            都省去了… 大大果然厲害!

            不過太複雜了,我沒那個耐心去學~ =_= 還是乖乖用普通的轉檔軟體好了!
            改天有需要在過來研究看看!

            ps.請問目前畫質最好+壓縮最好的 是h.264技術嗎?
            那DIV技術是第2嗎?
            第3是RMVB技術嗎?
            我猜普通的AVI是第4了 ( 通常我都把DVD轉壓這個.速度比較快)

            • ngyan1600 said

              divx不是第二好…….應該是第4好吧
              xvid->wmv->divx…..應該是這樣吧,參數好的話wmv有可能會比x264好一點…但一般來說x264算是很好!
              只不過x264有個好大的問題….就是在處理一些半黑不亮(深紅,深紫等較暗的色時…..都好易有分層的感覺出現…處理這些畫面就要加大數率….
              xvid處理這樣畫面表現不錯,只可惜….畫面只要動得快一點…就易起格仔
              wmv問題在於動畫人的人物線條過粗/有時會令畫面出現輕微跳動的情況…..
              divx基本問題在於要壓到很大(約2000k)才可以有xvid(約1200k)的效果

          6. xmxis said

            你好~
            在網路上搜尋到大大的教學文章~
            非常的實用且詳細~
            實在太感謝了~

            不過,我照著大大的教學步驟操作~
            和"請教教我"一樣~
            都會遇到影音不同步的問題~@@
            我是用 KMPlayer 來撥放影片的~
            撥放其他的 H264 影片都沒有遇到這問題~
            唯獨自己轉檔出來的影片會這樣~
            不曉得有什麼好的解決方法~~ @@
            謝謝~

          7. max said

            我轉出來的動畫
            在"場景慢慢移動"的畫面會感覺好像一格一格的移動 不是很平順的感覺
            請問 在Video的Config 裡 該如何去設定
            看一些教學文都說Conig裡的RC and ME
            Keyframe Interval: 最大IDR帧间距,默认250(一般来说压制动画时,可以增大)
            Min. GOP Size: 最小IDR帧间距,默认25(一般来说压制动画时,可以减小)
            我調整後K:改成500 M改成10 感覺沒什麼差
            請問還有需要調整的地方嗎? 讓轉出來能平順…

          8. max said

            上面不同步的問題 我已經找到方法了
            DirectShowSource(“R:01.mkv",fps=29.97,convertfps=true)
            在avs檔裡請加入

            convertfps=true

            這樣就正常了

          9. Jaclau said

            想問一下~~~~~轉好的MKV~~~~
            有軟體可以直接切割嗎????
            還是要全部切割好在合併~~~

          10. 小斌 said

            感謝您製作的 meGUI 教學,真是對我幫助太大了!

            我試著要把 Fraps 錄製的肥大 avi 轉成 H.264 + AAC 的 mp4 ,研究之後發現這個用 meGUI 轉也很方便呢!

          11. [...] 使用MeGUI將DVD轉成H.264視訊檔 « 小兔的筆記本 [...]

          12. 1+2=3 said

            影音不同步可能是WIN7的解碼搶過了本身解碼的問題(我來晚了Orz

          發表迴響

          在下方填入你的資料或按右方圖示以社群網站登入:

          WordPress.com Logo

          You are commenting using your WordPress.com account. Log Out / 變更 )

          Twitter picture

          You are commenting using your Twitter account. Log Out / 變更 )

          Facebook照片

          You are commenting using your Facebook account. Log Out / 變更 )

          Google+ photo

          You are commenting using your Google+ account. Log Out / 變更 )

          連結到 %s

           
          關注

          Get every new post delivered to your Inbox.

          %d 位部落客按了讚: