太長不看:影片字幕可分成四種實用類型。外掛字幕是你手上已有的 .srt/.ass 檔案;內嵌軟字幕是影片檔案中的文字或圖片軌道;燒錄硬字幕被畫進影片畫面,只能用逐幀 OCR 還原;隱藏式字幕是影片訊號中的 CEA-608/708 文字,可用 ccextractor 等工具直接提取。5 秒測試法:在播放器裡試著關閉字幕;如果怎麼都關不掉,它就是燒錄字幕。
如果你試著「提取字幕」,工具卻什麼都沒找到 —— 或者找到了卻用不了 —— 幾乎總是因為你面對的字幕和工具預期的不是同一種。先弄清你手上是四種中的哪一種,正確的方法就一目瞭然了。
我怎麼判斷自己是哪一種?
開關測試法。用 VLC(或任意播放器)開啟影片,找到字幕開/關選單。你能把字幕關掉嗎?
- 它們消失了 → 字幕是一條獨立軌道(內嵌),或者是外掛檔案。可作為文字或圖片提取。
- 不管你怎麼弄它們都賴在螢幕上 → 字幕是燒錄進畫面裡的(硬字幕)。沒有軌道 —— 你需要用 OCR。
ffmpeg 線索。執行 ffmpeg -i yourvideo.mp4。如果它列出了一條 Subtitle: 流,你就有一條內嵌軌道。如果一條都沒列出、但你在影片裡明明能看到字幕,那它們就是燒錄進畫面裡的(或者是一條 ffmpeg 沒對映的隱藏式字幕 CC 流)—— 這也是為什麼「提取字幕」命令什麼都沒返回。
型別 1 — 外掛字幕(.srt / .ass)
最簡單的情況:字幕已經是影片旁邊的一個獨立檔案,或者可以從字幕站下載。沒有什麼要提取的 —— 直接開啟或編輯檔案即可。如果你只需要把它翻譯成另一種語言,把 .srt 匯入翻譯器並保留時間軸即可。
型別 2 — 內嵌 / 軟字幕軌道(MKV,部分 MP4)
字幕是容器內部的一條流,所以可以無損地取出來。這裡有兩個子情況:
- 文字軌道(MKV 或 MP4 內的 SRT/ASS/SSA/WebVTT) → 在 Mac 上把影片匯入 GeekLink:它會自動檢測內嵌軌道,一鍵提取成乾淨的 SRT,無需 OCR 或重新轉錄。如果你不想裝 App,mkvextract(MKVToolNix 的一部分)是一個免費的命令列替代方案。
- 圖片軌道(DVD VobSub、藍光 PGS/SUP) → 這些是文字的圖片而不是文字流,所以需要一個基於 OCR 的字幕軌道工具把它們轉成 SRT。GeekLink 的內嵌軌道提取只處理基於文字的軌道,不處理這種圖片軌道的情況。
對於根本沒有軌道的燒錄文字 —— 上面兩個工具都抓不到東西 —— 見下方型別 3。
型別 3 — 燒錄 / 硬字幕(困難情況)
文字被永久地畫進了每一幀 —— 沒有軌道,沒有開關。基於軌道的工具(包括 GeekLink 自己的內嵌軌道提取器和 mkvextract)都找不到東西可抓,因為沒有字幕流可以指向它們。把文字還原出來的唯一辦法是逐幀讀取影片畫面的 OCR。
- 在 Windows 上:VideoSubFinder 提取字幕幀,然後 Subtitle Edit 對圖片做 OCR —— 這是兩步流程。
- 在 Mac 上:GeekLink 一步搞定。你在字幕區域畫一個框,它就把燒錄的文字讀成一份可編輯、時間同步的 SRT —— 一次處理一整個資料夾,本地、免費。
型別 4 — 隱藏式字幕(CEA-608/708)
隱藏式字幕不是一般字幕軌道,而是隨影片訊號一起儲存的文字,常見於電視廣播錄影以及部分 MP4 或 MOV 檔案,也可能包含說話者與聲音描述。因為它本身就是文字,所以不需要 OCR;可使用 ccextractor,或在 ffmpeg 能辨識該字幕流時直接提取。
隱藏式字幕在播放器裡看起來可能和內嵌字幕一樣,但提取方式不同。如果 ffmpeg 沒有列出一般字幕流,先檢查是否存在 CEA-608 或 CEA-708 資料,不要立即認定畫面中的文字一定是燒錄字幕。
快速決策表
| 你的情況 | 型別 | 這樣做 |
|---|---|---|
| 影片旁邊有一個 .srt 檔案 | 外掛 | 直接開啟或翻譯它 |
VLC 能把字幕關掉;ffmpeg 顯示一條 Subtitle: 流 | 內嵌(文字) | GeekLink(Mac)或 mkvextract |
| 關得掉,但它是 DVD/藍光 | 內嵌(圖片) | 圖片軌道 OCR 工具 |
| 字幕關不掉 —— 卡在畫面裡 | 燒錄 | 逐幀 OCR —— GeekLink(Mac) |
| 電視廣播錄影或帶有 CEA-608/708 資料的 MP4/MOV | 隱藏式字幕 | ccextractor 或 ffmpeg |
常見問題
我怎麼知道我的字幕是不是硬字幕?
如果你在播放器裡關不掉它們、它們一直卡在螢幕上,那就是燒錄(硬字幕)。如果一個字幕開/關開關能把它們移除,那它們就是一條獨立軌道。
能關掉燒錄字幕嗎?
不能 —— 它們是影片畫面的一部分,所以沒有播放器能把它們隱藏。你無法移除它們,但可以用 OCR 把文字讀回成一份可編輯的 SRT。
為什麼 ffmpeg 說「沒有字幕軌道」?
因為字幕不是一條軌道 —— 它們是燒錄進畫面裡的(或者是一條 ffmpeg 沒對映的隱藏式字幕 CC 流)。燒錄文字需要對影片幀做 OCR,而不是軌道提取。
軟字幕和硬字幕有什麼區別?
軟字幕是一條獨立、可開關的軌道(可作為文字或圖片提取)。硬字幕 —— 硬編碼 / 燒錄 —— 被畫進了畫面,需要 OCR 才能還原。
有處理燒錄字幕的 Mac 工具嗎?
有 —— GeekLink 在 Apple Silicon Mac 上原生把燒錄字幕 OCR 成可編輯的 SRT。它是從 geeklink.dev 免費直接下載(不是 Mac App Store),無需賬號。
GeekLink 也能提取內嵌(軟)字幕軌道嗎?
能。GeekLink 在匯入時檢測基於文字的內嵌軌道(SRT、ASS、SSA、WebVTT),一鍵提取成乾淨的 SRT —— 無需 OCR 或重新轉錄。不支援基於圖片的內嵌軌道(DVD VobSub、藍光 PGS);那些需要專門的圖片軌道 OCR 工具。
CEA-608 或 CEA-708 隱藏式字幕需要 OCR 嗎?
不需要。隱藏式字幕是影片訊號中的文字資料,可用 ccextractor 或 ffmpeg 提取。只有圖片字幕軌道和燒錄進影片像素的字幕才需要 OCR。
相關文章
披露:GeekLink 是我們自己的產品。它在 Mac 上既能提取內嵌(文字)字幕軌道,也能提取燒錄(硬)字幕。對於內嵌圖片軌道(DVD/藍光),或者如果你不用 Mac,mkvextract 是處理文字軌道的免費命令列替代方案。