什麼是 srv3?YouTube 彩色、卡拉 OK 字幕的格式
更新於 2026年10月2日
srv3 是 YouTube 自家的字幕格式,也叫 YouTube Timed Text,副檔名常見 .srv3 或 .ytt。和最常見的 SRT 不同,srv3 能記錄文字顏色、外框、在畫面上的位置,以及每個字的時間,所以 YouTube 上那些會跟著歌聲變色的卡拉 OK 字幕,幾乎都是用 srv3 做的。
srv3 的名稱由來
YouTube 的字幕系統內部把這個格式稱為「srv3」(第 3 版),檔案的根元素就寫著 format="3"。用 yt-dlp 下載字幕時選 srv3 格式,拿到的就是這種檔案。製作彩色字幕的社群工具 (例如 YTSubConverter) 則習慣稱它為 YouTube Timed Text,存成 .ytt。兩者內容相同,只是副檔名不同。
YouTube 官方的「支援的字幕檔案格式」說明裡沒有列出 srv3,但實際上可以在 YouTube Studio 上傳,社群已經用這種方式製作彩色字幕很多年。
檔案長什麼樣子
srv3 是 XML 文字檔。<head> 裡定義樣式,<body> 裡是一句句字幕:
<?xml version="1.0" encoding="utf-8" ?>
<timedtext format="3">
<head>
<pen id="0"/>
<pen id="1" fc="#FFFFFF" ec="#000000" et="3"/>
<pen id="2" fc="#5B8CFF" ec="#000000" et="3"/>
<pen id="3" fo="0" bo="0"/>
<ws id="0"/>
<wp id="0"/>
<wp id="1" ap="7" ah="50" av="95"/>
</head>
<body>
<p t="1000" d="2000" wp="1"><s p="3">​</s>​<s p="1">Sing along</s></p>
</body>
</timedtext>
<pen>:文字樣式。fc是文字顏色,fo是文字不透明度,ec是外框顏色,et是外框類型,sz是字型大小 (百分比),fs是字型,b、i、u是粗體、斜體、底線。<wp>:畫面位置。ap是錨點 (0~8,對應九宮格),ah、av是水平、垂直位置的百分比。<ws>:視窗樣式,例如文字對齊方式。<p>:一句字幕。t是開始時間,d是持續時間,單位都是毫秒。<s>:字幕裡的一段文字,p指定要用哪個 pen。
範例裡有兩個是為了配合 YouTube 而加的,不影響畫面:
- id 為 0 的空白定義:iOS App 會忽略第一個 pen 的背景設定,所以每種定義的第一個都放一個不使用的空白項目。
- 字幕開頭的
​:​是看不見的零寬空格。開頭先放一段用透明 pen 3 的零寬空格,再放一個不屬於任何<s>的零寬空格,YouTube 才會保留歌詞那段的樣式 (原因見下方〈在 YouTube 上的限制〉)。
字型
srv3 不能寫字型名稱,fs 只能從 YouTube 提供的 7 種字型中選一種:
fs |
字型 | 類型 |
|---|---|---|
| 不寫或 0 | Roboto | 預設 |
| 1 | Courier New | 等寬襯線 |
| 2 | Times New Roman | 襯線 |
| 3 | Lucida Console | 等寬無襯線 |
| 4 | Roboto | 無襯線 |
| 5 | Comic Sans MS | 休閒 |
| 6 | Monotype Corsiva | 手寫 |
| 7 | Carrois Gothic SC | 小型大寫 |
這些都是西文字型,沒有中文、日文、韓文的字。中日韓文字會改用裝置上的其他字型顯示,所以換了字型後,中日韓文字可能看不出變化,只有英文和數字會變。
和 SRT、WebVTT、ASS 的差別
| 功能 | SRT | WebVTT | ASS | srv3 |
|---|---|---|---|---|
| 文字顏色 | 部分播放器支援 <font color> |
支援 | 支援 | 支援 |
| 外框、陰影 | 不支援 | 有限 | 支援 | 支援 |
| 畫面上的位置 | 不支援 | 支援 | 支援 | 支援 |
| 逐字時間 (卡拉 OK) | 不支援 | 支援 (行內時間標記) | 支援 (\k) |
支援 |
| 可以上傳到 YouTube | 可以 | 可以 | 不行 | 可以 |
ASS 是功能最多的字幕格式,常用在動畫字幕組,但 YouTube 不接受 ASS。想在 YouTube 上保留顏色、位置和卡拉 OK 效果,就要轉成 srv3。
卡拉 OK 效果怎麼做出來
srv3 沒有「這個字在幾秒變色」的標籤。卡拉 OK 效果是用一連串重複的字幕做出來的:同一句歌詞拆成很多筆字幕,每一筆都比前一筆多一個字是「已唱」的顏色。
為了好讀,下面省略了開頭的零寬空格:
<p t="1000" d="400"><s p="2">Sing</s><s p="1"> along</s></p>
<p t="1400" d="1600"><s p="2">Sing along</s></p>
上面兩筆字幕前後相接:1 秒時 Sing 先變色,1.4 秒時整句都變色。逐字時間越細,拆出來的字幕就越多,一首歌常有好幾千筆,所以很難手寫,要用工具產生。
srv3 還有另一種寫法:在 <s> 加上 t 屬性,讓每個字在指定時間才出現。YouTube 的自動字幕就是用這種方式一個字一個字跑出來。
同一時間點也可以有兩筆以上的字幕,疊在不同位置或用不同外框,做出陰影或雙層外框的效果。
在 YouTube 上的限制
以下整理自 YTSubConverter 的說明,製作前先了解比較不會踩雷:
- YouTube Studio 的預覽看不到樣式。 上傳後,Studio 字幕編輯器裡顯示的是純文字,這是正常的。只要不在 Studio 裡修改,正式的播放器就會顯示樣式。如果在 Studio 裡改過字幕,樣式可能會不見。
- 手機 App 的顯示比較陽春。 手機 App 不支援自訂背景 (一律是黑底),注音和振假名會變成括號裡的普通文字。
- 偏離中央的字幕在劇院模式會往兩側移。 放在畫面左右的字幕,在電腦版的劇院模式下會更靠邊,甚至超出影片範圍。
- 每句第一段的樣式可能被拿掉。 上傳時,YouTube 會刪掉每筆字幕第一段文字的樣式設定,除非這筆字幕還有不屬於任何一段的文字。常見的做法是在開頭放看不見的零寬空格,Kara3 匯出時會自動處理。
- 字型只有 7 種可選。 只能使用上面表格裡的字型,不能指定其他字型。
- 字型大小只有四分之一的效果。
sz設 200% 實際只會放大到 125%,最小也只能縮到 75%。
用 Kara3 編輯 srv3
Kara3 是免費、免安裝的 srv3 編輯器。它會把重複字幕合併回一句歌詞,讓你直接改文字、時間、顏色和位置,匯出時再自動產生重複字幕;無法辨識的內容會原樣保留,不會被破壞。
想從頭做一份卡拉 OK 字幕,可以看〈卡拉 OK 字幕製作教學〉;手上已經有 SRT 或 ASS,可以看〈把 SRT、ASS 轉成 srv3〉。