SRT vs VTT:字幕格式比較與指南
SRT vs VTT 比較:了解 SubRip 和 WebVTT 字幕格式的差異、各平台支援情況,以及何時使用哪種格式。
SRT(SubRip Text)和 VTT(WebVTT)是兩種最廣泛使用的字幕檔案格式:SRT 是具有近乎通用影片播放器支援的傳統標準,而 VTT 是為 HTML5 影片設計的現代網頁原生格式,具備內建的樣式和定位功能。
選擇正確的字幕格式會影響相容性、樣式選項,以及字幕在各平台上的呈現方式。本指南詳細說明 SRT 和 VTT 的具體差異、各平台的支援情況,以及何時選擇哪一種。
什麼是 SRT?
SRT 代表 SubRip Text,這是一種起源於 1990 年代末的字幕格式,作為 SubRip 軟體的一部分,該工具設計用於從 DVD 中提取(「rip」)字幕。儘管歷史悠久,SRT 仍然是業界支援最廣泛的字幕格式。
SRT 檔案是副檔名為 .srt 的純文字檔案。每個字幕項目由三部分組成:連續的數字索引、顯示開始和結束時間的時間碼行,以及一行或多行字幕文字。項目之間以空行分隔。
以下是 SRT 檔案的結構:
1
00:00:01,000 --> 00:00:04,000
This is the first subtitle line.
2
00:00:05,500 --> 00:00:08,200
This is the second subtitle.
It can span multiple lines.
3
00:00:10,000 --> 00:00:13,750
Speaker identification is done
manually in the text itself.
SRT 格式的主要特性:
- 時間碼格式:
HH:MM:SS,mmm(時、分、秒、毫秒以逗號分隔) - 連續編號:每個提示從 1 開始編號
- 純文字:不原生支援樣式、顏色或定位
- 編碼:通常為 UTF-8,但較舊的檔案可能使用其他編碼
- 箭頭分隔符:開始和結束時間以
-->分隔
SRT 的簡單性既是其最大的優勢也是主要的限制。任何文字編輯器都可以建立和修改 SRT 檔案,幾乎所有影片播放器和編輯應用程式都能讀取它們。但是,您無法在格式規範內控制字型大小、顏色、位置或任何其他視覺屬性。
什麼是 VTT?
VTT 代表 WebVTT(Web Video Text Tracks),這是由 W3C(全球資訊網聯盟)專門為 HTML5 <video> 和 <track> 元素開發的字幕和標題格式。該規範最初於 2010 年發布,並成為 W3C 推薦標準,使其成為網頁影片字幕的官方標準。
VTT 檔案是副檔名為 .vtt 的純文字檔案。它必須以標頭 WEBVTT 開始,後面可選擇性地加上中繼資料。每個提示可以包含選擇性的識別碼、時間碼行和字幕文字。
以下是 VTT 檔案的結構:
WEBVTT
Kind: captions
Language: en
intro
00:00:01.000 --> 00:00:04.000
This is the first subtitle line.
00:00:05.500 --> 00:00:08.200
This is the second subtitle.
It can span multiple lines.
styled-cue
00:00:10.000 --> 00:00:13.750 position:10% align:start
<v Speaker 1>This cue has positioning
and a voice tag for speaker ID.</v>
VTT 格式的主要特性:
- 必要標頭:每個檔案必須以
WEBVTT開始 - 時間碼格式:
HH:MM:SS.mmm(毫秒使用句點,而非逗號) - 可選的提示識別碼:提示可以有命名 ID,而非連續編號
- CSS 樣式支援:支援
::cue偽元素透過 CSS 設定樣式 - 定位:提示設定允許垂直、行、位置、大小和對齊控制
- 語音標籤:
<v Speaker Name>標籤支援格式內的說話者辨識 - 中繼資料標頭:
WEBVTT標頭後的鍵值對提供額外上下文 - 註解:支援
NOTE區塊進行檔案層級的標註
VTT 設計用於解決舊版字幕格式的限制,同時與網頁技術原生整合。其對 CSS 樣式、說話者語音標籤和提示定位的支援使其比 SRT 在網頁影片播放器中表現力明顯更強。
SRT vs VTT:主要差異
雖然 SRT 和 VTT 乍看之下很相似,但它們在幾個重要方面有所不同,不僅僅是副檔名。
| 功能 | SRT | VTT |
|---|---|---|
| 副檔名 | .srt |
.vtt |
| 檔案標頭 | 不需要 | 需要 WEBVTT |
| 時間碼分隔符 | 逗號(,) |
句點(.) |
| 提示編號 | 需要連續編號 | 可選的命名識別碼 |
| 文字樣式 | 不支援 | CSS ::cue 樣式、粗體、斜體、底線 |
| 定位 | 不支援 | 行、位置、大小、對齊設定 |
| 說話者辨識 | 手動(基於文字) | 原生語音標籤(<v>) |
| 註解 | 不支援 | 支援 NOTE 區塊 |
| 中繼資料 | 不支援 | 標頭中繼資料鍵值對 |
| HTML 標籤 | 有限(部分播放器支援 <b>、<i>) |
完整支援(<b>、<i>、<u>、<c>、<v>、<lang>) |
| 字元編碼 | 各異(建議 UTF-8) | 要求 UTF-8 |
| 網頁標準 | 否 | W3C 推薦標準 |
對大多數使用者來說,最實際的差異是相容性與功能性。SRT 在任何地方都能使用,但除了顯示定時文字外什麼都不做。VTT 在網頁上原生運作,具有豐富的格式選項,但在桌面影片編輯器和傳統媒體播放器中的支援較窄。
平台相容性
了解哪些平台接受哪種格式可以節省時間,避免轉換的麻煩。以下是主要平台和工具的支援情況。
| 平台/工具 | SRT | VTT | 備註 |
|---|---|---|---|
| YouTube | 有 | 有 | 接受兩種手動上傳;自動生成 SRT |
| Vimeo | 有 | 有 | 接受兩種;建議使用 VTT 進行樣式設定 |
HTML5 <video> |
無 | 有 | VTT 是唯一原生支援的格式 |
| VLC Media Player | 有 | 有 | 完整支援兩種格式 |
| Adobe Premiere Pro | 有 | 無 | SRT 匯入/匯出;不原生支援 VTT |
| DaVinci Resolve | 有 | 無 | SRT 是匯入的首選 |
| Final Cut Pro | 有 | 無 | 支援 SRT 和 iTT |
| Facebook / Instagram | 有 | 有 | 上傳建議使用 SRT |
| TikTok | 有 | 無 | SRT 用於隱藏式字幕上傳 |
| Netflix | 兩者(透過 TTML) | 兩者(透過 TTML) | 偏好 TTML/DFXP 交付 |
| Zoom | 有 | 有 | 雲端錄音使用 VTT |
| Microsoft Teams | 有 | 有 | 會議逐字稿生成 VTT |
| WordPress | 無 | 有 | HTML5 影片原生使用 VTT |
| Wistia | 有 | 有 | 接受兩種字幕上傳 |
一般規律:網頁平台和現代工具支援 VTT,而影片編輯軟體和傳統播放器偏好 SRT。如果您為網頁播放製作內容,VTT 是自然選擇。如果您要將檔案交付給編輯或上傳到社群媒體,SRT 是更安全的選擇。
何時使用 SRT
當廣泛相容性比格式控制更重要時,選擇 SRT。
影片編輯工作流程。 大多數專業編輯軟體——Premiere Pro、DaVinci Resolve、Final Cut Pro、Avid Media Composer——原生處理 SRT。如果您的字幕檔案需要在編輯器之間移動,SRT 可避免轉換問題。
社群媒體上傳。 TikTok 和 Instagram 等平台接受 SRT 用於燒入式或隱藏式字幕。上傳字幕到社群平台時,SRT 通常是唯一被接受的格式。
傳統系統支援。 較舊的媒體播放器、機上盒和 DVD/藍光製作工具都圍繞 SRT 建構。如果您的觀眾使用較舊的播放硬體或軟體,SRT 保證相容性。
簡單性和可攜性。 SRT 檔案建立、編輯和除錯都非常簡單。不需要記住標頭,沒有特殊語法,格式即使第一次看到也能自我解釋。
自由接案和客戶交付。 向客戶或合作者交付字幕檔案時,SRT 是最安全的預設選擇,因為它不需要解釋,並且適用於接收者使用的任何工具。
何時使用 VTT
當您需要網頁原生功能、樣式或無障礙合規時,選擇 VTT。
HTML5 網頁影片。 如果您使用 <video> 元素在網站上嵌入影片,VTT 是 <track> 標籤唯一支援的字幕格式。不需要轉換層或 JavaScript 函式庫。
有樣式的字幕。 VTT 讓您使用 ::cue 偽元素將 CSS 樣式套用到字幕。您可以透過標準 CSS 控制字型、顏色、背景、透明度和文字陰影。
video::cue {
background-color: rgba(0, 0, 0, 0.7);
color: #ffffff;
font-size: 1.2em;
}
字幕定位。 VTT 支援精確放置的提示設定。這對於避開螢幕上的圖形、說話者名稱或下方三分之一覆蓋層很有用。
00:00:10.000 --> 00:00:14.000 position:10% line:0 align:start
This caption appears at the top-left.
說話者辨識。 VTT 的語音標籤(<v>)提供了一種結構化的方式來辨識說話者,這對會議逐字稿、訪談和多說話者內容很有用。播放器可以使用這些標籤為不同說話者設定不同顏色。
無障礙合規。 對於網頁內容的 WCAG 2.1 合規,VTT 是推薦格式,因為它與 HTML5 無障礙 API 整合,並支援字幕(為聾人/重聽觀眾)和描述(為盲人/弱視觀眾)。
如何在 SRT 和 VTT 之間轉換
在 SRT 和 VTT 之間轉換很簡單,因為這兩種格式在結構上很相似。
SRT 轉 VTT
手動將 SRT 檔案轉換為 VTT:
- 將
WEBVTT作為檔案的第一行 - 在標頭後加一個空行
- 將時間碼中所有逗號替換為句點(
00:00:01,000變成00:00:01.000) - 可選擇移除連續提示編號(在 VTT 中不是必需的)
- 以
.vtt副檔名儲存檔案
轉換前(SRT):
1
00:00:01,000 --> 00:00:04,000
Welcome to the presentation.
2
00:00:05,500 --> 00:00:08,200
Today we will cover three topics.
轉換後(VTT):
WEBVTT
00:00:01.000 --> 00:00:04.000
Welcome to the presentation.
00:00:05.500 --> 00:00:08.200
Today we will cover three topics.
VTT 轉 SRT
將 VTT 檔案轉換為 SRT:
- 移除
WEBVTT標頭和任何中繼資料行 - 將時間碼中所有句點替換為逗號(
00:00:01.000變成00:00:01,000) - 在每個時間碼行前添加連續提示編號
- 移除任何 VTT 特有的功能(語音標籤、定位、CSS 類別)
- 以
.srt副檔名儲存檔案
自動轉換
對於批次轉換或頻繁的格式切換,Vocova 等工具會自動處理。當您在 Vocova 中從音訊或影片生成字幕時,可以直接匯出為 SRT 和 VTT(以及 PDF、DOCX、CSV 和 TXT),無需手動轉換。當您需要同一內容的多種格式用於不同平台時,這特別有用。
大多數影片編輯應用程式和線上字幕編輯器也包含內建的格式轉換。FFmpeg 可以在命令列上轉換格式:
ffmpeg -i subtitles.srt subtitles.vtt
其他需要了解的字幕格式
SRT 和 VTT 涵蓋了大多數使用案例,但還有幾種其他格式適用於專門應用。
ASS / SSA(Advanced SubStation Alpha)
ASS 及其前身 SSA 是在動畫字幕社群中流行的字幕格式。它們支援進階樣式,包括字型、顏色、動畫、卡拉 OK 效果和精確的螢幕定位。ASS 檔案比 SRT 或 VTT 複雜得多,主要與 VLC 和 MPC-HC 等媒體播放器一起使用。大多數網頁平台不直接接受 ASS 檔案。
TTML(Timed Text Markup Language)
TTML 是由 W3C 維護的基於 XML 的字幕格式。它用於專業廣播和串流工作流程,特別是 Netflix、BBC 和其他大型內容發行商。TTML 支援豐富的樣式、基於區域的定位,以及在單一檔案中包含多個字幕軌。其 XML 結構使其冗長但高度結構化。
SCC(Scenarist Closed Captions)
SCC 是北美廣播電視使用的傳統格式。它編碼 CEA-608 隱藏式字幕資料,是美國 FCC 合規字幕的要求。SCC 檔案不是人類可讀的,需要專業軟體來建立和編輯。如果您為廣播電視製作內容,您的字幕供應商可能會交付 SCC 檔案。
SBV(SubViewer)
SBV 是 YouTube 歷史上用於自動生成字幕的簡單字幕格式。它在結構上類似於 SRT,但使用不同的時間碼格式。SBV 在 YouTube 上傳中已基本被 SRT 和 VTT 取代。
常見問題
我可以上傳 SRT 檔案到 YouTube 嗎?
可以。YouTube 接受 SRT 和 VTT 檔案進行手動字幕上傳。您可以透過任何影片的「字幕」部分在 YouTube Studio 中上傳。YouTube 也自動生成字幕,可以 SRT 格式下載。
VTT 支援樣式和顏色嗎?
支援。VTT 透過 ::cue 偽元素支援 CSS 樣式、內聯標籤如 <b>、<i> 和 <u>,以及使用 <c.classname> 的類別式樣式。您可以控制字型顏色、背景顏色、文字大小和透明度。但並非所有影片播放器都會渲染 VTT 樣式——支援取決於播放器的實作。
哪種格式更適合無障礙?
VTT 是網頁無障礙合規的推薦格式。它與 HTML5 無障礙 API 整合,支援 kind 屬性(字幕、描述、章節),並允許透過語音標籤進行說話者辨識。對於網頁影片的 WCAG 2.1 合規,使用 <track> 元素的 VTT 是標準做法。
SRT 檔案可以包含粗體或斜體等格式嗎?
SRT 規範不包含格式。但是,許多影片播放器會解析 SRT 提示中的基本 HTML 標籤(<b>、<i>、<u>)並相應渲染。這種行為不保證在所有播放器上一致,因此依賴它進行關鍵格式設定是有風險的。
字幕檔案的最大檔案大小是多少?
SRT 和 VTT 都沒有格式層級的檔案大小限制。平台特定的限制各有不同:YouTube 允許最大 10 MB 的字幕檔案,而大多數平台接受遠低於 1 MB 的典型影片長度檔案。一小時的影片通常產生 50-150 KB 的字幕檔案。
如何從音訊或影片生成 SRT 或 VTT 檔案?
您可以使用自動語音辨識工具轉錄音訊或影片來生成字幕檔案。Vocova 等服務可以轉錄超過 100 種語言的音訊,帶有時間戳記和說話者標籤,然後讓您直接匯出為 SRT、VTT 和其他格式。關於字幕生成工具的比較,請參閱我們的最佳 AI 字幕生成器指南。