軟字幕與硬字幕:內嵌還是燒錄?
字幕在影片中的存在方式只有兩種,後續的一切工作流程都取決於你面對的是哪一種。軟字幕是與影片流並存儲存的文本軌——畫面幀原封不動,播放器在播放時渲染文字。硬字幕則在編碼時被畫進畫素:文字成為影像的一部分,永遠無法分離。軟字幕可以關閉、切換語言、重新樣式化並提取為文本;硬字幕則在任何能播放該影片的裝置上表現完全一致,代價是永久不可逆。一個是畫面旁邊的資料,另一個就是畫面本身。
五個關鍵事實,奠定全頁基礎:
• 軟字幕 = 混流進容器的文本軌(SRT/VTT/ASS);硬字幕 = 燒進畫面的字幕
• 軟內嵌是一次重混流(remux)——數秒完成、零質量損失;硬燒錄是一次重編碼——每一幀都要重新渲染和壓縮
• 軟字幕只有幾 KB;硬字幕不增加體積但無法去除
• 提取只對軟字幕有效(它們是文本);燒進畫面的文字是畫素——那需要 OCR,且質量永遠沒有保證
• SRT 時間戳格式為 HH:MM:SS,mmm——例如 00:01:22,480 → 00:01:25,120 是一條 2,640 毫秒的字幕
軟內嵌:新增一條文本軌
軟內嵌把你的字幕檔案作為一條額外軌道寫進容器,與影片軌、音訊軌並列——影片流本身逐位元組複製。這正是它數秒完成、零損失的原因:它與更換容器是同一種“重混流”操作(容器基礎見 MP4 頁)。短板在於支援度:容器必須接受字幕軌(MKV 和 MP4 都可以;但某些裝置會無視它們),播放器也必須渲染它們——智慧電視和手機自帶播放器的表現出了名地不穩定,這正是硬燒錄仍然存在的原因。
硬燒錄:把文字畫進幀
燒錄字幕會帶著疊加的文字重新渲染影片的每一幀,再重新壓縮結果——一次完整的重編碼,一切代價隨之而來:耗時與編碼相當,且每一幀都經歷第二道壓縮世代。字型被固化進去(不會出現觀眾裝置上“缺字型”的意外),位置和樣式分毫不差,播放相容性是徹底的——因為輸出就是一條普通影片。代價是終局性:文字與畫面不可分離,改一個錯別字就意味著從原始素材重新編碼一遍。
SRT、VTT 與 ASS:三種字幕格式
SRT(SubRip)是最通用的最小公約數:編號行、開始 → 結束時間戳、純文本。所有播放器都能讀。VTT(WebVTT)是它的 Web 原生兄弟——思路相同,毫秒分隔符用 . 而非 ,,另加供 HTML5 <track> 元素使用的樣式與定位鉤子。ASS(Advanced SubStation Alpha)是愛好者的格式:字型、顏色、描邊、旋轉、逐字動畫——風格化動漫字幕背後的格式——這也正是 MKV 能把軌道所需字型附在檔案內的原因(見 MKV 頁)。燒錄 ASS 樣式要求字型在編碼時可用;軟播放則要求在播放時可用。
提取:為什麼只對軟字幕真正有效
提取軟字幕軌就是把文本從容器裡解出來——完美還原,因為儲存的本來就是文本。從硬燒錄影片恢復字幕則是計算機視覺問題(逐幀 OCR、猜測文字區域位置、清除文字背後的背景);對乾淨、靜態的文字效果尚可,遇到風格化字型、運動和噪點就迅速退化。如果以後還需要拿回文本,請保留(或索要)軟字幕版本。
常見誤區
- “檔案自帶的字幕永遠可以關閉。”只有軟字幕可以。如果怎麼都關不掉,說明它已燒進畫素,任何播放器都無法去除。
- “加字幕就要重新編碼影片。”軟內嵌是重混流——瞬間完成、無損。只有硬燒錄才重新編碼。
- “字幕檔案會讓影片大很多。”軟軌是文本:整部電影的字幕檔案不過幾十到幾百 KB,淹沒在影片數百 MB 的舍入誤差裡。
- “硬燒錄更保險,所以永遠燒錄。”它在播放相容性上更保險,但對此後的編輯、翻譯和無障礙訪問是永久性的更糟。分發給未知裝置時燒錄;文本應保持為資料時內嵌。
相關工具:SRT/VTT/ASS 轉換器在三種格式間搬運字幕文本,語音轉字幕從音訊生成字幕檔案,影片轉 MKV 提供對多字幕軌支援最好的容器,影片轉 MP4 講解重混流基礎。