如何合併字幕檔案
「合併字幕」其實是三件不同的事。電影分成兩段(CD1 + CD2)?把第二個檔案往後推第一段的時長再拼接。 同一個影片的兩種語言?上下疊成一個雙語字幕檔案。想把字幕放進影片裡?作為字幕軌封裝,或者燒進畫面。
在文本編輯器裡把一個 SRT 粘到另一個後面,幾乎一定會出問題:第二個檔案的時間碼從零重新開始,序號也會重複。 下面分別講三種合併的正確做法,全部用免費工具。
你需要哪種合併?
| 你手上有 | 你想要 | 怎麼做 | 免費工具 |
|---|---|---|---|
| 第一段和第二段的字幕 | 整部電影一個檔案 | 加偏移量拼接 | 合併字幕 |
| 同一影片的兩種語言 | 兩種語言同時顯示 | 疊成雙語字幕 | 雙語字幕製作 |
| 只有一種語言 | 雙語字幕 | 翻譯後匯出雙語 | SubtitleFlow |
| 一個影片和一個 SRT | 字幕在影片裡 | 封裝或燒錄 | MKVToolNix、ffmpeg |
翻譯方法對比表
1. 拼接電影的兩部分(CD1 + CD2)
早年的資源常把一部電影分成兩個影片檔案,各配一個時間碼從 00:00:00 開始的字幕。要配合拼接後的影片,第二個檔案必須從第一段結束的地方開始。
查出第一段的時長
用 VLC 等播放器開啟第一個影片,記下總時長,比如 58:41,這就是偏移量。
新增兩個檔案和偏移量
在合併字幕工具裡先新增第一個檔案,再新增第二個,填入第二個檔案的偏移量。
合併並檢查接縫處
下載合併後的檔案,在播放器裡跳到拼接點之後看幾句。如果之後的字幕整體早了或晚了同樣的時間,用字幕平移工具調整。
反過來——一個字幕檔案要配分成兩段的影片——用字幕拆分: 在指定時間切開,第二段的時間碼會從零重新開始。
2. 製作雙語字幕
雙語字幕在每條裡同時顯示兩種語言,通常原文在上、譯文在下,學語言或全家一起看片時很常用。
已經有兩種語言的字幕
用雙語字幕製作工具:先放上面的語言,再放第二種語言。 兩個檔案條數相同時一一配對,否則按時間重疊配對。為不同版本製作的兩個字幕檔案,斷句位置往往不同,很難對齊——要檢查中段幾分鐘,不能只看開頭。
只有一種語言
不用合併。用 SubtitleFlow 翻譯這個檔案並選擇雙語匯出: 每條字幕同時包含原文和譯文,時間完全一致,因為譯文就是從同一個檔案逐條翻出來的。
小技巧:一條雙語字幕可能有四行高。如果擋畫面,就把每行寫短一點,或者在播放器的字幕設定裡調小字號。
3. 把字幕放進影片檔案
大多數播放器會自動載入和影片同名、放在同一目錄的 SRT(movie.mp4 + movie.srt)。 如果需要一個單獨的檔案——給手機、電視或上傳用——有兩種做法。
軟字幕:新增字幕軌(快,可以關閉)
MKVToolNix(免費,有圖形介面)幾秒就能把 SRT 加成一條字幕軌,不重新編碼。用 ffmpeg:
ffmpeg -i movie.mkv -i subs.srt -map 0 -map 1 -c copy movie-subbed.mkv ffmpeg -i movie.mp4 -i subs.srt -map 0 -map 1 -c copy -c:s mov_text movie-subbed.mp4
硬字幕:把文字燒進畫面(始終顯示)
有些不識別字幕軌的平臺(比如部分短影片應用)需要這種方式。影片會重新編碼,需要一些時間:
ffmpeg -i movie.mp4 -vf subtitles=subs.srt -c:a copy movie-burned.mp4
HandBrake 也能用圖形介面完成(字幕頁 → 匯入 SRT → 勾選燒錄)。
會弄亂時間軸的錯誤
- 忘了偏移量:第二段的字幕全部出現在第一段裡。
- 影格率不一致:25 fps 和 23.976 fps 的字幕會越走越偏。合併前先用字幕影格率轉換統一。
- 用不同版本的字幕配對:兩個不相干的 SRT 疊出來的雙語字幕會配錯行。改為翻譯其中一個檔案,兩種語言就共用同一套時間軸。
- 用 Word 之類的軟體編輯:可能改掉換行符或編碼,把檔案弄壞。用純文本編輯器或字幕工具。
更習慣桌面軟體?免費的 Subtitle Edit 也能拼接字幕(工具 → 合併字幕)和平移時間。
常見問題
怎麼把兩個 SRT 檔案合成一個?
如果它們是同一個影片的兩個部分(CD1 和 CD2),就首尾拼接:第二個檔案的時間碼通常從 00:00:00 重新開始,拼接前要把它整體往後推第一部分的時長。合併工具可以一步完成。如果它們是同一個影片的兩種語言,就應該上下疊成雙語字幕。
第二個字幕檔案的偏移量怎麼確定?
用第一部分影片的準確時長——在 VLC 等播放器裡開啟它,看總時長,比如 58:41,把它填成第二個檔案的偏移量。如果拼好後差一兩秒,檢查第一部分結尾是否有黑場或片頭。
怎麼用兩個 SRT 做雙語字幕?
用雙語字幕製作工具:先放要顯示在上面的語言,再放第二種語言,每條字幕都會同時顯示兩行。兩個檔案條數相同時效果最好,比如一個檔案是另一個保留時間軸翻譯出來的。
怎麼把字幕永久合併到電影裡?
兩種方式:用 MKVToolNix 或 ffmpeg 把 SRT 作為可開關的字幕軌封裝進去(軟字幕),幾秒就完成,畫質不變;或者用 ffmpeg、HandBrake 把文字燒進畫面(硬字幕),需要重新編碼,而且無法關閉。