支援的 SRT 與 VTT 字幕格式規範
字幕時間平移工具專為處理兩種主流的字幕檔案格式而設計:SRT(SubRip Subtitle)與 VTT(WebVTT)。為了確保工具能正確解析並重新計算時間戳記,輸入的檔案必須符合特定的結構規範:
- SRT 檔案:必須是標準的 UTF-8 編碼文字,且含有編號字幕區塊。每個區塊需由遞增的數字序號開始,緊接著時間戳記行,最後為字幕文字。
- VTT 檔案:必須以
WEBVTT標頭作為檔案的開頭。
本工具在處理過程中,會完整保留字幕識別碼、設定、註解、樣式、區域、換行方式和字幕文字,僅針對時間戳記進行精確的數學平移計算。
在使用本工具前,請確保檔案已儲存為 UTF-8 編碼。若檔案編碼不符,系統會顯示錯誤訊息:「此檔案不是有效的 UTF-8 文字。請另存為 UTF-8 後再試一次。」。此外,本工具的檔案處理上限為 2 MB。若上傳的檔案過大,系統將會攔截並顯示「請選擇不超過 ‹max› 的字幕檔案。」或「字幕文字太大,無法在此處理。請將內容控制在 ‹max› 個字元以內。」。
時間平移計算與偏移格式
本工具提供兩種平移量輸入格式,以配合不同的調整需求:
- 秒數:使用十進位小數進行微調。例如,輸入
2.5會將所有字幕延後 2.5 秒;輸入-0.75則會將字幕提前 0.75 秒。若輸入格式不符,系統會提示:「請輸入帶正負號的秒數,例如 2.5 或 -0.75。」。 - 時間碼:採用
H:MM:SS.mmm(時:分:秒.毫秒)格式進行更直覺的時間對齊。例如,可輸入-00:00:02.500來將字幕整體提前 2.5 秒。若格式錯誤,系統會顯示:「請輸入帶正負號的時間碼,例如 -00:00:02.500。」。
不論使用何種格式,正值皆代表延後字幕顯示,負值則代表讓字幕提早顯示。
字幕結構與時間順序驗證機制
為了確保平移後的字幕檔案在各類播放器中皆能正常載入,本工具在輸出前會執行嚴格的結構與時間順序驗證。以下為核心驗證規則與對應的錯誤處理:
- 時間戳記格式驗證:若偵測到無法解析的時間格式,將顯示「第
‹number›段字幕在第‹line›行的時間戳記無效。」。 - 起訖時間邏輯:每段字幕的結束時間必須晚於開始時間。若違反此規則,系統會阻擋並提示:「第
‹number›段字幕的結束時間必須晚於開始時間。」。 - 時序遞增驗證:字幕必須依時間先後順序排列。若偵測到後方字幕的開始時間早於前方字幕,會觸發錯誤:「第
‹number›段字幕的開始時間早於上一段字幕。」。 - 內嵌時間戳記:針對 WebVTT 特有的內嵌時間戳記,其順序必須在該字幕段落範圍內且呈遞增排列,否則會顯示「第
‹number›段字幕的內嵌 VTT 時間戳記超出該段範圍或順序錯誤。」。
本工具允許字幕在時間上重疊,或擁有完全相同的開始時間,這在多角色同時對話的場景中是合法的。
邊界限制:零點時間保護
在進行負向平移(將字幕提前)時,最常見的邏輯錯誤是導致字幕的開始時間計算出小於零的負值。
本工具設有安全保護機制,不允許任何字幕的時間起點早於 00:00:00.000。一旦計算發現某段字幕平移後會越過零點界線,平移程序將會立即中止,並顯示精確的錯誤提示:「這項平移會讓第 ‹number› 段字幕早於零點。請使用 ‹minimum› 或更晚的偏移量。」。此機制可防止字幕檔案因產生無效的負數時間戳記而損壞。
瀏覽器端本地處理與隱私保護
本工具採用完全本地化的處理架構。當您拖放字幕檔案、貼上文字或進行時間平移計算時,所有的解析、時間加減運算與檔案重建工作,皆直接在您電腦的瀏覽器中執行。
您的字幕文字和檔案只會留在你的瀏覽器中。BroBroGo 不會上傳或儲存這些內容。這意味著即使處理包含未公開影片內容的敏感字幕,也無需擔心資料外洩至外部伺服器。
常見問題解答 (FAQ)
支援哪些 SRT 和 VTT 檔案?
可使用含編號字幕區塊的 UTF-8 SRT 檔案,或以 WEBVTT 開頭的 WebVTT 檔案。字幕識別碼、設定、註解、樣式、區域、換行方式和字幕文字都會依原樣保留。
負向平移讓時間早於零點時會怎樣?
工具會停止平移,不會截斷或刪除字幕。這樣能精確保留每段字幕的長度和指定偏移量;請縮短提前時間後再試一次。
固定平移能修正愈來愈不同步的字幕嗎?
不能。固定平移只能修正整份檔案中相同的延遲或提前量。如果播放時差距持續增加(即時間軸漂移),則需要調整字幕計時速率或個別字幕。
為什麼平移時會出現「無法平移字幕。請檢查輸入後再試一次。」?
這通常是因為輸入的字幕內容不符合標準格式,例如缺少必要的 SRT 編號、WEBVTT 標頭,或是時間戳記格式毀損,導致解析器無法進行數學運算。請確保檔案結構完整後再行操作。