字幕檔案格式:SRT、WebVTT、ASS、SBV、STL 與 TTML 完整指南(2026)
詳解每一種主要字幕格式,含規格、程式碼範例、平台相容性與決策指南。2026 年 SRT、WebVTT、ASS/SSA、SBV、STL 與 TTML/DFXP 完整比較。
字幕檔是一份純文字文件,告訴影片播放器要顯示什麼文字、何時顯示,以及 — 可選擇性的 — 如何設定樣式與定位。2026 年值得關注的七種格式為 SRT(通用基準)、WebVTT(網頁原生、HTML5)、ASS/SSA(動漫與卡拉 OK 的進階樣式)、SBV(YouTube 內部格式)、STL(歐洲廣播標準)與 TTML/DFXP(Netflix 與廣播工作流程採用的 W3C XML 標準)。每一種都有其特定用途,選錯了保證帶來相容性的麻煩。
本參考指南涵蓋技術規格、最小範例、平台支援與決策樹,讓你第一次就能選對格式。若你只需要兩種格式的比較,SRT vs VTT 這篇文章較為簡短。本指南則是完整地圖。
快速比較
| 格式 | 副檔名 | 樣式設定 | 定位 | 主要用途 | 平台覆蓋 |
|---|---|---|---|---|---|
| SRT | .srt | 極少(斜體、粗體、底線) | 無 | 通用影片播放 | 近乎全面支援 |
| WebVTT | .vtt | 基於 CSS | 完整(x,y,align) | HTML5 影片、網頁 | 所有現代瀏覽器 |
| ASS / SSA | .ass、.ssa | 豐富(字型、顏色、效果) | 完整 | 動漫、卡拉 OK、樣式化字幕 | VLC、MPV、Aegisub |
| SBV | .sbv | 無 | 無 | YouTube 上傳 | 僅 YouTube Studio |
| STL (EBU) | .stl | 符合廣播規範 | 有 | 歐洲電視廣播 | 專業廣播 |
| TTML / DFXP | .ttml、.dfxp、.xml | XML + CSS | 完整 | OTT、廣播、Netflix | Netflix、SMPTE 流程 |
每一種主要格式皆為人類可讀的純文字,STL 的某些變體除外。任何一種都可轉換成另一種,但從較豐富格式轉為較簡單格式時會失去樣式。
SRT(SubRip Text)
SRT 是字幕格式的最低共同分母。它是 2000 年代初期為 SubRip DVD 擷取工具所設計,其簡潔性正是它成為通用格式的原因 — 幾乎所有影片播放器、影片剪輯器與串流平台都支援它。
結構。 SRT 檔案是一串提示(cue),每個提示包含數字索引、以 --> 分隔的起訖時間戳,以及一行或多行文字。提示之間以空行分隔。時間戳使用 HH:MM:SS,mmm(以逗號作為小數分隔符)。
最小範例:
1
00:00:01,000 --> 00:00:03,500
Welcome to the video.
2
00:00:04,000 --> 00:00:07,200
Subtitles make content accessible
to global audiences.
樣式設定。 SRT 支援少量類 HTML 標籤:<i>italic</i>、<b>bold</b>、<u>underline</u> 以及 <font color="#ff0000">colored</font>。標籤支援因播放器而異,超出這些範圍即不具可攜性。
限制。 無定位、無直書、無動畫、無精確 CSS 控制。支援 Unicode,但某些較舊的播放器會預設 Windows-1252 或 Latin-1,因此建議以無 BOM 的 UTF-8 儲存以獲得最廣相容性。
何時使用。 上傳至影片平台、本機播放,以及任何需要最大相容性的情境的預設選擇。
WebVTT(Web Video Text Tracks)
WebVTT 是 HTML5 影片字幕的 W3C 標準。它在設計上表面與 SRT 相容,同時加入網頁真正需要的功能:CSS 樣式、定位、後設資料提示和章節標記。
結構。 以 WEBVTT 標頭開始,後接一系列提示。時間戳使用 HH:MM:SS.mmm(以句點作為小數分隔符,而非逗號)。提示可在行內攜帶樣式與定位提示。
最小範例:
WEBVTT
1
00:00:01.000 --> 00:00:03.500
Welcome to the video.
2
00:00:04.000 --> 00:00:07.200 line:80% position:50% align:center
Subtitles make content accessible
to global audiences.
樣式設定。 透過樣式表中的 ::cue 和 ::cue(selector) 偽元素支援 CSS,或在 VTT 檔案中直接使用 STYLE 區塊。你可以控制顏色、背景、字型、字型大小、粗細與陰影效果。
定位。 提示設定(line、position、size、align、vertical)控制文字顯示位置。這是相較 SRT 的主要功能優勢。
擴充功能。 支援 NOTE 區塊作為註解、STYLE 區塊內嵌 CSS,以及透過 HTML <track> 元素的 kind 屬性提供章節/後設資料軌道。
何時使用。 HTML5 影片、網頁播放器、章節標記,以及任何需要 CSS 級字幕外觀控制的情境。
ASS / SSA(Advanced SubStation Alpha)
ASS(Advanced SubStation Alpha)及其前身 SSA 是字幕世界中的重量級格式。最初為 SubStation Alpha 卡拉 OK 與動漫字幕工具所開發,ASS 提供所有廣泛使用字幕格式中最豐富的樣式選項。
結構。 類 INI 的區塊:[Script Info]、[V4+ Styles]、[Events]。Events 為實際的字幕提示,每個提示包含圖層、起訖時間、樣式名稱與文字。文字可包含大括號內的行內覆寫標籤({\b1}bold{\b0}、{\c&H00FFFF&}yellow、{\pos(100,200)}positioned)。
最小範例:
[Script Info]
Title: Example
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,48,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Welcome to the video.
Dialogue: 0,0:00:04.00,0:00:07.20,Default,,0,0,0,,{\b1}Subtitles{\b0} matter.
樣式設定。 命名樣式定義一次即可套用至多個提示。行內覆寫可動畫化屬性(\t(start,end,\fscx120) 可在兩個時間之間水平縮放)、旋轉文字、套用陰影與外框,並使用 \p1 ... \p0 指令繪製向量圖形。
何時使用。 動漫 fansub、卡拉 OK 歌詞、高度樣式化的字幕,以及任何需要產業級字體與定位控制的情境。對多數用例而言是殺雞用牛刀。
相容性。 VLC、MPV、mpv.net 及多數動漫社群播放器完整支援 ASS。網頁播放器一般不支援。YouTube 在上傳時會移除 ASS 樣式。
SBV(YouTube 格式)
SBV 是 YouTube 歷史上的內部字幕格式。本質上是沒有索引或樣式的精簡版 SRT。YouTube Studio 仍接受 SBV,與 SRT、VTT、TTML 及其他數種格式並列。
結構。 時間戳以逗號分隔,後接字幕文字。提示之間以空行分隔。時間戳使用 H:MM:SS.mmm。
最小範例:
0:00:01.000,0:00:03.500
Welcome to the video.
0:00:04.000,0:00:07.200
Subtitles make content accessible
to global audiences.
何時使用。 幾乎沒必要,除了一種狹窄情況:你手上已有工具輸出的 SBV 檔,且正要直接上傳至 YouTube。對於新的工作流程,請使用 SRT 或 VTT — YouTube 兩者皆接受。
STL(EBU 字幕資料交換格式)
EBU-STL 是歐洲廣播聯盟的二進位字幕交換格式,標準化於 EBU Tech 3264。它是歐洲廣播電視的主流格式,也是許多公共廣播機構交付時要求的格式。
結構。 二進位容器包含一個一般字幕資訊(GSI)標頭,後接一系列文字與時間資訊(TTI)區塊,每個區塊 128 位元組。GSI 區塊編碼後設資料,如語言、字元集、影格率與畫面比例。每個 TTI 區塊為單一提示,帶有精確的進出影格編號與樣式屬性。
樣式設定。 支援類電視文字(teletext)樣式的顏色和定位屬性、倍高字元與方塊背景。輸出在視覺上受限,以符合傳統廣播字幕能力。
何時使用。 交付至歐洲電視網路(BBC、ZDF、France Télévisions 等)的廣播。若你並非在專業廣播領域工作,應該不會接觸到此格式。
相容性。 專業廣播軟體(EZTitles、WinCAPS、Subtitle Workshop)支援 STL。消費級影片播放器不支援。
TTML 與 DFXP(W3C Timed Text Markup Language)
TTML(Timed Text Markup Language)是 W3C 基於 XML 的格式,已成為專業 OTT(over-the-top)與串流交付的骨幹。DFXP 是 W3C 最初標準化的 TTML 設定檔,IMSC(SMPTE-TT)則是廣播業者與 Netflix 採用的更嚴格設定檔。
結構。 XML 文件包含根 <tt> 元素,內含 <head>(樣式、區域、後設資料)與 <body>(分區,包含段落,每個段落代表一個帶有起訖時間的字幕提示)。
最小範例:
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xml:lang="en">
<head>
<styling>
<style xml:id="default" tts:color="white" tts:fontFamily="Arial" tts:fontSize="100%"/>
</styling>
</head>
<body>
<div style="default">
<p begin="00:00:01.000" end="00:00:03.500">Welcome to the video.</p>
<p begin="00:00:04.000" end="00:00:07.200">Subtitles make content accessible<br/>to global audiences.</p>
</div>
</body>
</tt>
樣式設定。 完整類 CSS 的樣式,可行內設定或透過樣式定義。支援用於定位的區域、透過 <set> 元素的動畫、用於東亞排版的注音標記,以及豐富的文字語意。
何時使用。 Netflix 交付、OTT 平台、要求 SMPTE-TT 或 IMSC 設定檔的廣播工作流程,以及任何需要精確樣式並通過處理管線的情境。
相容性。 Netflix 要求 IMSC 1.1。Amazon Prime、Hulu 和 Disney+ 接受 TTML 變體。Apple TV 採用 iTunes Timed Text(iTT),這是 TTML 的一個設定檔。消費級播放器通常偏好 SRT 或 VTT。
平台相容性對照表
| 平台 | SRT | VTT | ASS/SSA | SBV | STL | TTML/DFXP |
|---|---|---|---|---|---|---|
| YouTube(上傳) | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
| Vimeo | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Netflix(交付) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅(IMSC) |
| Amazon Prime(交付) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
HTML5 <track> | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| VLC | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| MPV | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Adobe Premiere Pro | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| DaVinci Resolve | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| Final Cut Pro | ✅ | ✅ | ❌ | ❌ | ❌ | ✅(iTT) |
| TikTok / Instagram Reels | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
「交付」代表該平台在其接收管線中接受該格式,並不代表它可直接在消費者應用中播放。
決策樹:你該使用哪種格式?
依序回答以下問題。第一個「是」即為你的格式。
- 你是否要交付至 Netflix 或其他主要 OTT 服務? 使用 TTML / IMSC 1.1。這是硬性要求,不是偏好。
- 你是否要交付至歐洲廣播電視? 使用 EBU-STL。請向具體的廣播業者查閱其交付規格以確認 STL 變體。
- 你是否需要為動漫、卡拉 OK 或排版密集內容製作樣式化字幕? 使用 ASS / SSA。沒有其他格式能提供相當的控制力。
- 你是否要嵌入網頁上的 HTML5 影片? 使用 WebVTT。它是
<track>元素的原生格式。 - 你是否要上傳至 YouTube? 使用 SRT(YouTube 偏好的輸入)或 VTT。除非你有既有的工作流程,否則跳過 SBV。
- 你是否需要在未知播放器上最大相容性? 使用 SRT。沒有格式比它更廣泛支援。
對多數內容創作者 — Podcaster、YouTuber、課程創作者 — 答案幾乎總是 SRT 或 WebVTT。外來格式僅在特定平台或客戶強制要求時才相關。
在格式之間轉換
所有七種格式都可互相轉換,但每次轉換在某個方向上都會遺失資訊。從豐富格式(ASS、TTML)轉為簡單格式(SRT、SBV)會移除樣式與定位。反向轉換則保留文字,但無法重建原始樣式。
常見轉換工具:
- FFmpeg:
ffmpeg -i input.ass output.srt可處理大多數字幕轉換,包括去除至純文字。 - Subtitle Edit(Windows、免費):具視覺預覽的 GUI,可在約 30 種字幕格式間轉換。
- Aegisub(跨平台、免費):專門的 ASS 編輯器,可匯入與匯出 SRT 和 VTT。
- 線上轉換器:一次性轉換好用,但敏感內容請避免使用(上傳後內容已超出你的掌控)。
對於共享提示模型的格式組合(SRT、VTT、SBV、ASS events),程式化轉換相當直接。XML 格式(TTML/DFXP)則因命名空間與巢狀元素,需要適當的解析器。
字元編碼與 Unicode
所有現代字幕格式皆支援 UTF-8,這也是 2026 年你唯一該使用的編碼。舊檔可能採用 Windows-1252、Latin-1、Shift-JIS 或 GB2312 — 若你的文字顯示為 ?????? 或 é 而非 é,就是檔案編碼錯誤。多數編輯器可讓你重新儲存為 UTF-8。
有一個細節要小心:請勿以位元組順序標記(BOM)儲存 UTF-8。BOM 是檔案開頭的三個不可見位元組,會擾亂較舊的 SRT 解析器和某些串流管線。在 VS Code 中,請選擇「以編碼儲存 → UTF-8」,而非「UTF-8 with BOM」。
從音訊生成字幕
現代轉錄服務可直接輸出至大多數字幕格式。典型管線為:
- 上傳或貼上來源音訊/影片
- 選擇輸出格式:SRT、VTT、TXT 或 DOCX
- 下載生成的檔案並附加至你的影片
Vocova 支援匯出至 SRT、VTT、DRCX(Descript)、純文字,以及帶時間戳的 PDF,涵蓋內容創作者與多數專業工作流程的所有實務需求。若需要 TTML、ASS 或 STL,標準做法是先匯出為 SRT,再使用上方列出的工具轉換。
關於從影片生成字幕的深入教學,請見最佳 AI 字幕生成器指南。
常見問題
最廣泛使用的字幕格式是哪種?
2026 年,SRT 是最廣泛使用的字幕格式。它幾乎被所有影片播放器、影片剪輯器與串流平台支援,其簡潔性也讓它成為多數轉錄工具的預設輸出。
SRT 和 VTT 有什麼差別?
SRT 是傳統的通用格式,僅有極少樣式且無定位。WebVTT 是現代 HTML5 標準,支援完整 CSS 樣式、定位和章節標記。WebVTT 時間戳使用句點(.),而 SRT 使用逗號(,)。
YouTube 支援 WebVTT 嗎?
支援。YouTube Studio 在上傳時接受 WebVTT、SRT、SBV、TTML、SAMI 及其他數種格式。SRT 最常被選用,因為它最容易生成與編輯。
我可以使用字幕檔滿足無障礙合規嗎?
可以。列出的所有格式皆可作為隱藏式字幕,只要包含說話者辨識和非語音聲音([music playing]、[door slams])。轉錄與無障礙涵蓋具體的 WCAG 要求。
Netflix 要求哪種格式?
Netflix 要求 IMSC 1.1,這是 TTML 的一個設定檔。交付規格強制規定具體的樣式、時間與後設資料限制,超出通用 TTML 的範圍。Netflix 為需符合規範的供應商公開其 Timed Text Style Guide。
2026 年仍有人用 ASS 嗎?
有。ASS 仍是動漫 fansub、卡拉 OK 風格字幕,以及任何需超越 VTT 排版控制的用例的標準。它未被棄用,社群工具也持續更新。
如何為 SRT 加上樣式?
SRT 支援少量行內 HTML 標籤:<i>、<b>、<u> 和 <font color="...">。更進階的需求則需切換至 VTT 或 ASS。
總結
正確的字幕格式取決於檔案要去哪裡,而非個人偏好。SRT 用於通用相容性、WebVTT 用於網頁、ASS 用於樣式化排版、TTML 用於 OTT 交付、STL 用於歐洲廣播,而 SBV 幾乎用不到。一切皆以無 BOM 的 UTF-8 編碼,並在平台要求特定輸入時透過 FFmpeg 或 Subtitle Edit 轉換。
如果你正在啟動轉錄工作流程,先產出 SRT 或 VTT — 它們涵蓋內容創作者 90% 的需求,其他所有格式距離一次轉換。
