字幕不同步怎麼辦?字幕延遲修復指南
開頭和結尾各找一句臺詞對一下。兩處差的時間一樣?把整個檔案平移這麼多秒。結尾差得更多?字幕是按另一個影格率做的, 轉換 23.976 ↔ 25 或 24 ↔ 25。前面都對、從某處開始整體錯開?說明影片是另一個剪輯版本:在那裡把字幕切開,修好後半段再合併回去。
拖著字幕延遲滑塊調到“看著差不多”,往往撐不過幾分鐘就又對不上了——因為大多數不同步並不是一個固定的延遲。 先判斷屬於哪種情況,再用對應的方法修。下面用到的工具都免費,直接在瀏覽器裡執行。
你遇到的是哪一種不同步?
| 現象 | 原因 | 修法 | 免費工具 |
|---|---|---|---|
| 每句都早(或晚)同樣的時間 | 片頭不同,或版本開頭多幾秒少幾秒 | 整體平移固定秒數 | 字幕平移 |
| 開頭還行,越往後越偏 | 影格率不同(23.976 / 24 與 25 fps) | 轉換影格率 | 字幕影格率轉換 |
| 越來越偏,但不符合常見影格率比例 | 影片重新編碼或改過速度 | 按倍率縮放時間 | 字幕變速 |
| 前面都對,從某處開始整體錯開 | 剪輯版本不同、多了一場戲、插了廣告 | 切開、平移後半段、再合併 | 字幕拆分 + 合併 |
翻譯方法對比表
算出延遲(字幕時間計算)
每次核對需要兩個時間:這句話應該出現的時間(影片裡說出來的時刻),和它實際出現的時間(字幕檔案裡的開始時間)。 挑一句短而清楚的臺詞,比如喊名字、一句“喂?”,時間點最好找。
在開頭附近核對一句
播放影片,在這句話說出來時暫停,記下播放器上的時間,比如 00:10:26。 用文本編輯器開啟 SRT,找到這句的開始時間,比如 00:10:24,000。 延遲 = 實際 − 檔案 = +2 秒(字幕早了 2 秒)。
在後面再核對一句
隔 40 分鐘左右再對一句。如果還是 +2 秒左右,就是固定偏移,直接看平移;如果差距變大了,就是漂移。
漂移的話,算出倍率
倍率 =(實際時間 2 − 實際時間 1)÷(檔案時間 2 − 檔案時間 1),都換算成秒。再和下面的影格率比例對照。
用兩次測量算一個例子:
A 句:檔案 00:10:00(600 秒) 實際 00:10:26(626 秒) B 句:檔案 00:50:00(3000 秒) 實際 00:52:08(3128 秒) 倍率 = (3128 - 626) / (3000 - 600) = 2502 / 2400 = 1.0425 25 / 23.976 = 1.0427 -> 從 25 fps 轉成 23.976 fps
值得記住的幾個比例:
- ≈ 1.043 或 ≈ 0.959:25 fps 與 23.976 fps(PAL 與 NTSC 電影),每小時差 2 分半左右。
- ≈ 1.042 或 ≈ 0.960:25 fps 與 24 fps,幅度幾乎一樣。
- ≈ 1.001:24 與 23.976 fps,每小時只差 3.6 秒左右,短時間核對很容易誤以為是固定延遲。
倍率大於 1,說明字幕要放慢(往後推);小於 1,要加快(往前提)。如果算不出明確的比例,而且誤差是突然跳變而不是逐漸變大,看只有一段不同步。
在播放器裡臨時調
VLC
播放時按 H 讓字幕延後 50 毫秒,按 G 提前 50 毫秒,螢幕上會顯示當前延遲。 差得多的話,在「工具 → 軌道同步」裡直接填秒數。這是 Windows 和 Linux 版的預設快捷鍵,Mac 版不一樣,以「偏好設定 → 快捷鍵」裡為準。 這個設定只對本次播放有效,VLC 不會把它寫回 SRT。
Subtitle Edit(免費,Windows)
Subtitle Edit 直接改檔案:同步 → 調整所有時間把全部(或選中的)字幕提前或延後;同步 → 更改影格率在不同影格率之間轉換。改完記得儲存。
1. 整體偏移:把整個檔案平移
算出延遲
同上:實際時間減檔案時間。+2 表示字幕早了,-1.5 表示字幕晚了。
平移
開啟字幕平移工具,貼上或上傳 SRT / VTT,填入秒數(正數往後、負數往前,可以帶小數)。
下載並抽查
下載檔案,改成和影片同名,開頭和結尾各抽查一句。
2. 越來越偏:轉換影格率
同一部電影有 23.976 / 24 fps 的版本(影院、藍光、大多數流媒體),也有 25 fps 的版本(PAL 電視和早年的歐版 DVD,整體快了約 4%)。 按一個版本做的字幕,放在另一個版本上就會慢慢錯開。
確定是哪一對影格率
根據算出的倍率:1.043 → 從 25 轉 23.976;0.959 → 從 23.976 轉 25;1.042 / 0.960 → 24 與 25 之間。 如果知道影片的影格率(VLC:工具 → 編解碼器資訊),就把它作為目標影格率。
轉換
在字幕影格率轉換工具裡,「源」填字幕原本對應的影格率,「目標」填你影片的影格率。
再處理剩下的固定偏移
如果轉換後每句都還差同樣一點(比如片頭不同),再用平移工具收尾。
3. 速度不同:按倍率縮放
字幕越來越偏,但倍率對不上任何一對常見影格率——比如影片被重新編碼、為了上傳加過速、錄製時速度略有不同——就把倍率直接填進字幕變速工具。它把每個時間碼乘以這個倍率:1.05 讓字幕慢約 5%,0.95 快約 5%。 縮放是從零點開始算的,所以縮放後再核對一次,剩下的固定偏移用平移去掉。
只有一段不同步
前 40 分鐘分毫不差,之後突然全部晚 30 秒,說明剪輯版本不同:多了一場戲、多了前情回顧,或者電視錄影裡插了廣告。只修跳變之後的部分就行。
找到第一句錯開的字幕
記下它在檔案裡的開始時間(比如 00:41:10)和影片裡實際說出來的時間(比如 00:41:40)。
在它前面切開
在字幕拆分工具裡,把切分點設在最後一句正確字幕和第一句錯開字幕之間。 第二段會重新計時,第一句從零開始。
用正確的偏移量合併回去
在合併字幕工具裡先加第一段、再加第二段,偏移量填第一句錯開字幕應該出現的時間—— 這裡是 41:40,即 2500 秒。有好幾段廣告,就對每個跳變點重複一遍。
如果是字幕多了或少了內容(某場戲你的影片里根本沒有),任何工具都沒法自動對齊,只能在字幕編輯器裡手動刪掉或重新打軸。
在播放器裡調,還是改字幕檔案?
- 播放器:固定延遲、只看一次,夠用了。大多數播放器關掉影片就忘了這個設定,不少電視應用也只能粗調。
- 改檔案:漂移(播放器改不了速度)、只有一段不同步,以及字幕要拿到別處用——電視、手機、分享給朋友、翻譯、燒進影片——都必須改檔案本身。
小技巧:修好的檔案改成和影片同名(movie.mp4 + movie.srt),播放器會自動載入;在確認結尾也對得上之前,先別刪原檔案。
常見問題
字幕和影片不同步怎麼修?
先看差距是不是從頭到尾都一樣。每句都早(或晚)同樣的時間,就把整個檔案平移這麼多秒;越往後差得越多,說明字幕是按另一個影格率做的,需要轉換影格率(最常見的是 23.976 ↔ 25、24 ↔ 25);只有某一段之後才不對,就在出問題的地方把檔案切開,單獨修後半段。
字幕延遲多少秒怎麼算?
找一句清楚的臺詞,記下影片裡這句話實際說出來的時間,再看字幕檔案裡這句的開始時間。兩者相減(實際時間 − 檔案時間)就是要調的秒數:正數說明字幕早了,要往後推;負數說明字幕晚了,要往前提。
為什麼字幕越往後越不同步?
因為字幕是按另一個播放速度的版本做的——典型情況是 25 fps 的 PAL 版和 23.976 / 24 fps 的電影版。兩者相差約 4%,相當於每小時差 2 分半左右。整體平移解決不了,必須做影格率轉換。
不裝軟體能調字幕延遲嗎?
能。用 VLC 播放時按 G 或 H,每按一下字幕移動 50 毫秒(Mac 版快捷鍵可能不同,以 VLC 偏好設定裡的快捷鍵為準)。想直接改檔案,可以用在瀏覽器裡執行的線上字幕平移工具,檔案不需要上傳到伺服器。
在播放器裡調還是直接改字幕檔案?
只看一次,在播放器裡調就夠了。如果還要再看、放到電視或別的裝置上、分享給別人、拿去翻譯或燒進影片,就要改檔案本身——播放器裡的調整通常關掉影片就沒了,也不會跟著檔案走。
開頭是同步的,到中間以後就對不上了,怎麼回事?
你的影片和字幕對應的不是同一個剪輯版本——多了或少了一場戲,或者插了廣告。出問題之後的部分會整體偏移一個固定時間。在那個位置把字幕切開,單獨修好後半段,再把兩段合併回去。