簡短回答:Subtitle Edit 的 OCR 讀取的是圖像字幕軌道——DVD 的 VobSub、藍光的 PGS,以及混流進 MKV 檔案裡的同類軌道。它不讀取已經燒錄進影片畫面本身的文字。如果你的 MP4 顯示的是關不掉的字幕,那檔案裡就沒有可供 Subtitle Edit 匯入的字幕軌道,所以它的 OCR 工具根本沒有機會執行。擷取那些文字需要另一種工具——掃描影片幀的工具——本文正是要講清楚哪些工具能做到這一點。
這個問題在 Subtitle Edit 社群裡反覆出現:有人手上有一個螢幕上明明有字幕的 .mp4,記得有個「Import/OCR subtitles」選單,卻弄不明白為什麼點了沒反應。這種困惑可以理解,因為這兩個功能都叫 OCR——但它們解決的是兩個非常不同的問題。我們把它們拆開來看。
Subtitle Edit 的 OCR 到底做什麼?
DVD 和藍光並不把字幕存成文字,而是存成圖像:每一行字幕都是一張帶時間戳記的小圖片,位於自己獨立的軌道裡,和影片、音訊串流並列。DVD 字幕用 VobSub 格式(.sub/.idx),藍光用 PGS(.sup),當你擷取光碟時,兩者都可以被混流進一個 MKV 容器。
因為這些圖片位於一條獨立的軌道裡,Subtitle Edit 可以逐張走一遍,對每張圖片做 OCR,然後把可編輯的文字交給你,並保留原有時間軸。這就是 Subtitle Edit 的 OCR 視窗的用途,而它在這件事上確實做得很好:它支援多種 OCR 引擎,並保留每一條字幕的原始時間軸。
關鍵點在於:在上面每一種情況裡,檔案內部都已經存在一條字幕軌道。 Subtitle Edit 的 OCR 是把一種字幕格式(圖片)轉換成另一種(文字)。它從不去看電影畫面本身。
「Import/OCR subtitles from video」選單去哪了?
如果你記得有個 Import/OCR 選項、卻找不到它或讓它用不起來,它實際做的是:它在影片容器內部尋找圖像字幕軌道——比如 MKV 裡的一條 PGS 軌道——並開啟它做 OCR。它讀的是容器的軌道列表,而不是畫面。
把它用在一個典型的帶燒錄字幕的 .mp4 上,它什麼也找不到,因為根本沒有可找的東西:檔案裡有一條影片串流、一條音訊串流,完全沒有字幕軌道。你在螢幕上看到的文字,從任何技術意義上講都不再是字幕了——它是畫面的一部分,跟背景裡的一張臉或一盞燈沒有區別。
燒錄字幕(硬字幕)是另一個問題
當字幕被燒錄進去時——也叫硬字幕——文字在編碼時就被算繪到了幀上。製作這個檔案的人把字幕永久地併入了畫面。這帶來三個後果:
- 沒有軌道可匯入。 容器工具(Subtitle Edit、ffmpeg、MKVToolNix)都會回報同一件事:這個檔案沒有字幕。
- 沒法把它們關掉。 播放器只能開關軌道;這裡根本沒有軌道。
- 擷取變成了一個影片分析問題。 要還原這些文字,工具必須掃描真正的幀:偵測一行何時出現、何時消失(這就成了你的時間軸),辨識出數百張幾乎相同的幀顯示的是同一行(這樣你得到的是一條字幕,而不是三百條重複),並把文字和背後一切正在移動的東西分離開。
那套掃幀流程和解碼一條打包整齊的圖像軌道是本質上不同的工作,這就是為什麼 Subtitle Edit——一個字幕檔案編輯器——不做這件事,也是為什麼「OCR」在兩種語境下含義不同。這不是猜測:Subtitle Edit 團隊自己在 GitHub 上說過,「硬字幕的偵測與擷取不是一件簡單的事,所以不會在 SE 中實作」,而一個 關於影片幀 OCR 的功能請求 也被以 wontfix 關閉了。
怎麼判斷你的影片是哪一種字幕
在任意能顯示字幕軌道的播放器(VLC、IINA、mpv)裡做一個十秒的檢查:
- 開啟影片,查看字幕軌道選單(在 VLC 裡:字幕 → 字幕軌道)。
- 如果列出了一條軌道、並且你能把它關掉,那你的字幕是真正的軌道——內嵌的、可開關字幕。Subtitle Edit 通常能直接擷取這些,而如果它們是圖像格式的,它的 OCR 也能處理。
- 如果選單是空的、但字幕仍在螢幕上,那它們就是燒錄字幕。任何容器工具都幫不上忙;你需要幀 OCR。
這一個檢查能省下大量白費的功夫,因為這兩種情況看影片時一模一樣,卻需要完全不同的工具。
到底什麼能擷取燒錄字幕?
一旦你確定文字是燒錄進去的,現實可行的選項就是這些:
| 工具 | 平台 | 價格 | 工作流程 |
|---|---|---|---|
| VideoSubFinder | Windows | 免費 | 多步驟:偵測文字幀、匯出圖片、單獨做 OCR、重建時間軸 |
| videocr / VideOCR | Windows、Linux | 免費、開源 | 命令列或簡單圖形介面;單一工具,需一些設定 |
| GeekLink | macOS(Apple Silicon) | 有免費版 | 一次搞定:拖入影片、框選字幕區域、匯出帶時間軸的 SRT |
這三者讀的都是影片幀而非容器,而這正是 Subtitle Edit 缺少的能力。哪一個合適,主要取決於你的平台,以及你能容忍多少手動操作:
- VideoSubFinder 是資深的 Windows 工作流程。它管用,但整條流程要你自己拼——幀偵測、圖片 OCR 和時間軸重建是彼此獨立的階段。
- videocr / VideOCR 把幀 OCR 封裝進一個開源工具,提供官方的 Windows 和 Linux 建置。
- GeekLink 是一款原生 Mac App,整條流程一次跑完,全部在你自己的機器上:掃描影片、對燒錄文字做 OCR、匯出乾淨的 SRT。它還能批次處理多個影片,並在同一次執行中翻譯擷取出來的字幕。分步指南見 如何用 OCR 擷取燒錄字幕。
與 Subtitle Edit 搭配最好的工作流程
這一切都不會讓 Subtitle Edit 變得沒用——它只是處在流程的另一個階段。實踐中效果不錯的工作流程是:
- 擷取: 對燒錄字幕的影片執行一個幀 OCR 工具,匯出 SRT。
- 打磨: 在你慣用的編輯器裡開啟那個 SRT——包括 Subtitle Edit——修正辨識失誤、調整時間軸、重新排版。輸出是標準 SRT 檔案,所以任何字幕編輯器都能開啟。
- 交付: 把 SRT 作為可開關字幕軌道保留、翻譯它,或用不同樣式重新燒錄進一個新影片。
更想全程留在 Subtitle Edit 裡? 它社群推薦的工作流程是:先執行 VideoSubFinder 偵測出文字幀,然後透過 File > Import > Images 把那些圖片載入 Subtitle Edit 並在裡面做 OCR。這管用,但影片分析仍是由一個獨立的幀偵測工具完成的——Subtitle Edit 只在幀被擷取出來之後才接手。
不管你用哪個擷取器,都要預留一道校對。燒錄文字上的 OCR 準確率很大程度上取決於字型、文字與背景的對比度,以及字幕行背後有多少運動。現實的目標是一份需要輕度清理的扎實草稿——而不是工具直接吐出的完美檔案。
揭露:GeekLink 是我們自己的產品。我們盡力讓本文保持客觀公正——Subtitle Edit 是一款出色的編輯器,這裡描述的侷限是它自己團隊確認過的設計取捨,不是缺陷。用適合你平台的任意擷取工具,然後在你最順手的地方繼續編輯。
常見問題
Subtitle Edit 能從影片裡擷取燒錄字幕嗎?
不能。Subtitle Edit 的 OCR 針對的是圖像字幕軌道(VobSub、藍光 PGS,以及 MKV 檔案裡的圖像軌道),而不是燒錄進影片畫面裡的文字。對於燒錄字幕,你需要一個幀 OCR 工具,比如 VideoSubFinder、videocr/VideOCR,或 Mac 上的 GeekLink。
Subtitle Edit 能 OCR 哪些字幕格式?
DVD VobSub(.sub/.idx)、藍光 PGS(.sup),以及這些圖像軌道被混流進 MKV 之類容器時的同類軌道。在這些情況裡,字幕都以圖片形式存在於自己的軌道中,而這正是 Subtitle Edit 的 OCR 視窗轉換成文字的對象。
為什麼 Import/OCR 選項在我的 MP4 上不起作用?
因為那個功能是從容器內部匯入圖像字幕軌道,而一個典型的帶燒錄字幕的 MP4 根本沒有字幕軌道——文字是影片像素的一部分。在 Subtitle Edit 看來,這個檔案乾脆就沒有字幕。
在 Mac 上怎麼擷取燒錄字幕?
GeekLink 是一款正為此打造的原生 Mac App:它掃描影片幀、對燒錄文字做 OCR、匯出帶時間軸的標準 SRT,全程離線。VideoSubFinder 是 Windows 軟體,所以在 Mac 上,現實的替代方案是在 Windows 環境裡執行它,或使用一個基於 Python 的命令列工具。
燒錄字幕上的 OCR 有多準?
這取決於源素材:高對比背景上的清晰字型辨識得非常好,而花俏字型、低對比度和繁忙的運動背景會造成更多錯誤。不管你用哪個工具,都要預期需要校對結果——目標是一份扎實的草稿,而不是完美的檔案。
之後我能在 Subtitle Edit 裡編輯擷取出來的 SRT 嗎?
可以。幀 OCR 工具匯出的是標準 SRT 檔案,任何字幕編輯器都能開啟——包括 Subtitle Edit。先用幀 OCR 工具擷取,再在你已經熟悉的編輯器裡打磨時間軸和文字。