SRT 時間戳記格式:詳解 hh:mm:ss,mmm
逐項瞭解 SubRip 時間戳記 hh:mm:ss,mmm --> hh:mm:ss,mmm 的含義、常見格式錯誤、它與 VTT 和 SBV 的區別,以及如何從 TranscribeNext 匯出 SRT。
SRT 時間戳記行的格式是 00:01:23,456 --> 00:01:27,890。小時、分鐘和秒各佔兩位,毫秒佔三位;秒與毫秒之間使用英文逗號。起止時間之間依次為空格、兩個連字元、大於號和空格。格式不正確時,播放器可能跳過該條字幕。
SRT 檔案結構
SRT(SubRip Subtitle)是純文字格式,沒有檔案頭、樣式塊或元資料。各條字幕帶有編號,並以空行分隔。
1
00:00:00,000 --> 00:00:05,230
大家好,歡迎收聽今天的Podcast。
2
00:00:05,230 --> 00:00:09,450
謝謝邀請,很高興來到這裡。
3
00:00:09,450 --> 00:00:15,120
我們直接來聊聊 AI 轉錄吧。每條字幕通常稱為 cue,依次包含以下四部分:
- 序號:從 1 開始遞增,單獨佔一行
- 時間戳記行:開始時間、箭頭、結束時間
- 文字:一行或多行字幕
- 空行:結束目前字幕條目;最後一條也建議以空行結束
逐項解讀時間戳記
從左到右解讀 00:01:23,456:
- 00:小時,不足兩位時補零
- 01:分鐘,範圍為 00 至 59,不足兩位時補零
- 23:秒,範圍為 00 至 59,不足兩位時補零
- ,:秒與毫秒之間的分隔符,使用英文逗號而非句點
- 456:毫秒,固定三位
因此,00:01:23,456 表示從影片開始算起的 1 分 23 秒 456 毫秒。SRT 使用從零起算的絕對時間,而不是影格編號;同一影片採用 24、25 或 30 fps 時,時間戳記的含義不變。
容易造成播放問題的格式錯誤
- 使用逗號,不是句點。 `00:00:01.500` 是 WebVTT 的寫法,不符合標準 SRT 時間戳記格式。
- 毫秒固定三位。 `,5` 和 `,50` 不能代替 `,500`。
- 各字段補足位數。 嚴格的解析器,包括部分硬體播放器,會拒絕 `0:01:23,456`。
- 箭頭寫作 ` --> `。 依次為空格、兩個連字元、大於號、空格;少寫字元可能導致解析失敗。
- 結束時間必須晚於開始時間。 零時長或起止顛倒的字幕可能被跳過。
- 按開始時間升序排列,並盡量避免重疊;重疊字幕在不同播放器中的表現可能不同。
- 條目之間保留空行,否則下一條的序號可能被當作字幕文字。
重要
常見錯誤是把毫秒前的逗號寫成句點,尤其容易出現在手動轉換 WebVTT 時。只把擴充功能名從 .vtt 改成 .srt 並不會完成格式轉換,還需要修改檔案內容。
SRT、VTT 與 SBV 的區別
三種格式都能表示起止時間,但寫法不同。同一時間範圍的示例如下:
SRT 00:01:23,456 --> 00:01:27,890
VTT 00:01:23.456 --> 00:01:27.890
SBV 0:01:23.456,0:01:27.890- SRT:毫秒前用逗號,包含小時,沒有檔案頭;許多編輯器和播放器都支援。
- VTT(WebVTT):毫秒前用句點,小時可省略,以 `WEBVTT` 行開頭;支援定位和 CSS 樣式,可用於 HTML5 `<track>` 元素。
- SBV(YouTube):毫秒前用句點,小時無需補零;起止時間以逗號分隔,不使用箭頭,也沒有字幕序號。
實用秘訣
手動將簡單 SRT 轉為 VTT 時,需要在頂部新增 `WEBVTT` 和空行,並把時間戳記中的毫秒分隔逗號改成句點。反向轉換時則去掉檔案頭,並把時間戳記中的句點改回逗號。
換行、長度與樣式
- 一條字幕可以包含多行文字,播放器會逐行顯示。
- 常見英文字幕建議不超過兩行、每行約 42 個字元;中文應根據畫面寬度和閱讀速度調整,過長的內容可能在小螢幕上顯示不全。
- SRT 沒有統一的官方樣式規範。許多播放器支援 `<b>`、`<i>`、`<u>` 和 `<font color="#ffffff">`,但部分硬體播放器會直接顯示標籤文字。
- 字幕顯示時長通常建議在 1 至 7 秒左右,並根據文字長度調整。
字元編碼
SubRip 出現時尚未統一採用 Unicode,因此舊檔案可能出現亂碼。TranscribeNext 使用 UTF-8 匯出,以保留多語言字元和表情符號。若播放器顯示亂碼,請檢查其編碼設定,必要時將檔案重新儲存為 UTF-8。
從 TranscribeNext 匯出 SRT
- 1打開已完成的逐字稿
- 2點選“下載”,選擇 SRT
- 3系統會將文字分段的時間轉換為字幕起止時間
- 4在影片編輯器中將檔案匯入為字幕
重要
SRT 匯出需要與目前文字一致的時間分段。如果編輯後時間資訊已失效,系統會拒絕匯出;請先檢查轉錄內容與時間戳記是否匹配。
上傳到 YouTube
- 1打開 YouTube Studio
- 2選擇影片
- 3點選左側菜單中的“字幕”
- 4點選“上傳檔案”,選擇包含時間資訊的檔案
- 5上傳 SRT 檔案
- 6YouTube 會讀取時間資訊並同步字幕
支援 SRT 的軟體
- Adobe Premiere Pro
- Final Cut Pro
- DaVinci Resolve
- Sony Vegas
- iMovie
- Camtasia
- VLC Media Player
- YouTube Studio
- Vimeo
常見問題
- 小時可以超過 99 嗎? 為相容常見播放器,建議保持兩位小時字段;超長內容可拆分處理。
- 序號必須正確嗎? 部分播放器會忽略序號,但編輯器和校驗工具可能檢查它。建議保持連續編號。
- 字幕可以沒有文字嗎? 空條目可能無法正確處理;不需要的條目應直接刪除。
- 允許使用位元組順序標記(BOM)嗎? 現代播放器通常支援帶或不帶 BOM 的 UTF-8;不帶 BOM 的相容性往往更好。
- 為什麼字幕逐漸不同步? 請確認時間戳記對應的是同一份影片,而不是剪輯前的版本或時長不同的素材。SRT 使用絕對時間,必須與最終影片匹配。
實用秘訣
如果需要在音訊中跳轉,而不是製作字幕,可使用轉錄頁面中帶時間戳記的可點選分段,詳見時間戳記相關說明。
標籤
相關文章
VTT 格式:網頁影片字幕
匯出 WebVTT 字幕,用於 HTML5 影片、網頁播放器和現代串流平台。
匯出指南:選擇合適的格式
瞭解各種匯出格式,以及它們各自適合的使用場景。
帶時間戳記的轉錄:跳轉到錄音位置
透過文字分段的時間戳記定位錄音,搜尋文字後跳轉收聽,並按需匯出時間資訊。
JSON 格式:面向開發者的結構化資料
匯出包含文字分段、時間戳記、檔案資訊和講者資訊的 JSON 資料,便於開發和整合。
相關工具
- 支援的音訊與影片格式 — 包括 MP3、WAV、OGG、MP4、MPEG 等格式,以及各格式的限制與使用建議。
- Mac 轉錄應用程式 — 使用 Whisper 和 Parakeet 免費離線錄音與轉錄;離線處理時,檔案不會離開您的電腦。