用Avidemux來截取DVD字幕和轉檔成srt格式

   
目前在Linux環境下要將DVD字幕抓出來然後轉換成srt格式,似乎沒有太多的選擇。這裡介紹其中的一種-使用Avidemux來做這件事。
Avidemux除了是個簡單易用的影像編輯和轉檔軟體之外,還內含了一個簡單的OCR,除了可以做字幕的截取外,還可以做到簡易的辨視功能。因為在
DVD內的字幕其實是以影像的形態存在的,所以一般都會先將DVD內的字幕以VobSUB格式先抓出來,再透過OCR功能轉換成我們可以看得懂的srt格
式。其實以VobSUB格式抓出來的字幕檔,已經可以直接拿來用了,但是srt格式的佔用空間小和容易編輯,使得大家都愛用,而且srt格式的被支援度比
VobSUB格式還高。以下介紹分成兩部份,第一步先轉成VobSUB格式。然後再轉換成srt格式。

首先開啟Avidemux,然後在選單中的“Tools”裡點選“Vob -> VobSUB”選項,如下圖所示:圖一
pic01


然後會出現一個像下圖一樣的視窗:圖二
pic02
可以直接在紅框中填入檔案位置和名稱,或透過旁邊的“Browse..”按鈕來選取所需要的檔案。
第一個紅框請選出DVD中要抓取字幕的VOB檔(副檔名是VOB)。
第二個紅框請選出DVD中要抓取字幕的IFO檔(副檔名是IFO)。
第三個紅框請填入抓出來的字幕檔要存放在那個目錄和要命名的檔名。
最後請按下確定,順利的話就會接著看到以下的畫面。圖三
pic03
    看到上圖中的畫面就表示已經開始抓取字幕了,等到100%完成時,截取成VobSub格式字幕檔的這個步驟就完成了。如果還需要轉成srt格式的話,請再接下去。


選取選單中“Tools”內的“OCR (VobSub -> srt)”選項。如下圖:圖四
pic04

接著會出現以下視窗:圖五
pic05
請先點選紅框1的“Select idx file:”
然後會看到如下圖的視窗:圖六
pic06
再點選紅框中的“Select .idx”按鈕,選出剛剛抓出來的那個VobSub字幕的其中一個副檔名是idx的檔案。
如果檔案沒錯的話,圖六會出現變化,如下圖:圖七
pic07

以看到從圖六變成圖七那樣,可以選取要轉檔的字幕語言。這個會跟DVD的字幕國家一樣,如果DVD中就只有兩種語言,在這裡也將只會有兩種可以選。在這裡
先以英文做範例。請在“Select Language:”的下接式選單中選en(如果你的也有的話),然後按下確定。接下來會回到圖五。
pic05
圖五中的2號紅框是要填入轉換出來的srt檔要放在那裡,請同時填入位置和檔名(或用旁邊的“Browse...”來選也可以)
如果是第一次使用的話,3號紅框就不用填了,這個框框內所指的GlyphSet就是辨視圖檔時用到的資料庫,用來存放每個影像的字體和對應的字元,這個檔案內容越完備,待會要手動輸入的機會就越少。接下來選確定。

然後就會看到一個名叫Mini OCR的視窗跑出來。圖八
pic08
1號紅框顯示的就是系統現在分辨不出來,需要你在2號紅框內手動輸入這個字,輸入後他會把這個字記下來,下次出現就不會再問你了。如果發現1號紅框中的字被拆解得不完整,可以選下方的“Skip Glyph”來跳過這個不完整的字。

整個過程跑完後,最後會出現這個視窗。圖九
pic09

時候要存下的檔案就是在圖五中的3號紅框裡可以用的檔案,也就是說,Avidemux把這次辨視過程中學到的新字都放進去了,下次再辨視其他的字幕檔時,
只要在圖五的3號紅框中選出現在存的這個檔,這次的學習成果就可以一直的應用下去,最後隨著字庫越來越大,需要手動輸入的機會就越來越少,轉換所需的時間
也就相對減短了。

    因為一開始並沒有字庫檔,在轉換英文字幕時,只有26個字母和大小寫符號等變換,所以需要手動輸入的次數並不會太多。可
是中文就不同了,一開始真的很累,幾乎每個字都要輸入,而且Mini
OCR對中文的拆字不是很好,常會把一個字拆成好幾個。這個還有待改善。在英文辨認的過程中,很容易發生大寫的i和小寫的L或數字1搞混,數字0和字母O
搞混。因此出來的字幕檔還是會有很多錯字的,要解決這個很容易的,只要用Open office
writer開啟srt字幕檔,然後使用“拼字檢查”工具,這些問題很快的就會被改過來了。

    Avidemux也有附上一個小工具,可以編修字庫檔。在選單中的“Tools”內的“Edit Glyph”就是了。可以用來把字庫檔中學錯的字給刪除,或重新改成正確的字。


沒有留言:

張貼留言

dnf upgrade fails with Error: GPG check FAILED

 OS: Fedora 36 今天在做  dnf  更新的時候,突然有很多 package 都出現簽章問題無法更新。類似如下的錯誤訊息 .... is not signed. ...... is not signed. ......... is not...