跳至主要內容
SubtitleMatrix

VTT 字幕格式

格式轉換WebVTT(VTT)

這種格式能表達什麼

文字樣式
粗體與斜體
畫面定位
否
卡拉 OK 計時
否
字幕段落內換行
是
時間軸
每條字幕都有開始與結束時間
時間精確度
1 毫秒
時間以影格編號儲存
否
由右至左的文字
是

範例

一份典型的 WebVTT 檔案,以及本站從中讀出什麼

檔案

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

從中讀出了什麼

2 cues, 2 lines of text

  00:00:01.000 → 00:00:04.000
    Hello there.
  00:00:04.500 → 00:00:08.000
    Second line with italics.   [italic ×1]
    [settings align:start position:10%]

Outside the cues:
  header     "WEBVTT"

右邊不是轉換後的檔案,而是本站從左邊讀出的內容,也是這份檔案每一次轉換的起點。

一份格式不規則的 WebVTT 檔案,以及仍然讀出什麼

檔案

WEBVTT - boundary sample

NOTE a comment
spanning two lines

STYLE
::cue { color: red }

REGION
id:fred
width:40%

00:01.000 --> 00:03.000
Hours-less timecode with <b>bold</b> and <v Roger>a voice tag.

00:05.000 --> 00:04.000
End before start.

NOTE between cues

00:07.000 --> 00:09.000
&nbsp; entities stay literal.

00:10.000 --> oops
Unreadable end time.

NOTE trailing

從中讀出了什麼

3 cues, 3 lines of text

  00:00:01.000 → 00:00:03.000
    Hours-less timecode with bold and <v Roger>a voice tag.   [bold ×1]
  00:00:05.000 → 00:00:05.001
    End before start.
  00:00:07.000 → 00:00:09.000
    &nbsp; entities stay literal.

Outside the cues:
  header     "WEBVTT - boundary sample"
  blocks     NOTE ×3, STYLE, REGION

Reported while reading — repaired or skipped, never silently:
  1 × blocks that were neither a cue nor a NOTE/STYLE/REGION block (they were skipped)
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

真實檔案常帶 BOM、Windows 換行、時間碼前的雜訊列,或根本讀不出的時間碼;這些都不會拋出錯誤,讀不懂的部分會被回報,而不是悄悄丟掉。

把 WebVTT (VTT) 轉成其他格式

每一個都完全在你的瀏覽器裡執行。標籤標明了那個方向要付出什麼代價,打開之前就能看到。

轉換為此格式

WebVTT(VTT)是本站支援的字幕格式之一,這一頁是它的說明:能存什麼、不能存什麼,以及每一種可以轉過去的格式各有一頁。

上方那張表就是全部,沒有藏起來的功能清單。某一列寫「否」,就是轉進 VTT 時真的會遺失的東西;下面每個轉換頁都會在開啟檔案之前把那份清單說清楚。VTT 比 SRT 多一層:除了毫秒精度的起止時間與正文,還有可選的識別碼、行內標籤,以及字幕之外的 WEBVTT 標頭、NOTE 註解、STYLE 區塊(CSS 規則)、REGION 區域定義與 align、position 這類設定。

這些轉換全部在你的瀏覽器裡執行,不上傳、不需要帳號——對受保密協議、病歷或播出限制約束的素材,這一點是硬要求。

常見問題

VTT 檔案是什麼?

.vtt 是網頁的字幕格式。HTML5 的 <track> 元素直接載入它,所以瀏覽器、串流播放器與多數現代平台都預期這種格式;它除了 SRT 的內容,還帶標頭、可選註解與每條字幕的設定。

VTT 格式會儲存樣式嗎?

會一點,而且是在文字裡面而不是旁邊:強調與顏色屬於字幕的一部分(<b>、<i>、<u>、<font color="…">)。檔案不宣告字級、描邊或邊界,那些由顯示字幕的頁面決定;VTT 也可以在字幕上方帶一個 STYLE 區塊放 CSS 規則,有帶的檔案會原樣保留。

VTT 的每條字幕都有開始與結束時間嗎?

有,而 VTT 裡的時刻寫成 00:00:04.126。這是 VTT 最細的刻度——到毫秒——數字是精確的,所以一條字幕可以很短、很長,或與下一條重疊,檔案不會額外暗示什麼。

VTT 應該轉成哪種格式?

本站沒有任何格式能裝下 VTT 的全部,所以沒有免費的方向——每一頁轉換都列出自己的遺失清單。請依你能接受哪份清單來選目標,而不是依你最常看到的格式來選。

VTT 檔案在 cue 之外還能存什麼?

標頭列,以及可選的註解(NOTE)、樣式區塊(STYLE)、區域定義(REGION)與每條字幕的設定,例如 align、position 與 line。網頁字幕會用到這些;轉進沒有這些構造的格式時它們會被丟棄,那一頁會說清楚。