視訊與字幕·字幕工具包
WebVTT 解釋:從 WebSRT 到 HTML5 影片的 W3C 字幕格式
· 背景
字幕 webvtt 檔案格式 瀏覽器處理
WebVTT 的建立是為了讓瀏覽器可以本地顯示字幕。這篇文章介紹了它作為 WebSRT 的起源、它與 SRT 的區別、規範添加的內容以及它目前的使用情況。
為什麼瀏覽器需要自己的字幕格式 - 原生影片的到來和標準軌道格式的缺乏
原生影片為網頁提供了媒體元素,但定時文字仍需要瀏覽器可以取得和解析的可互通檔案表示形式。對於需要定義語法、提示行為和示範掛鉤的瀏覽器功能來說,非正式的 SRT 檔案是不夠的。 WebVTT 提供面向網路的合同,同時保持可識別的提示和時間戳記形狀。
此瀏覽器上下文解釋了它的熟悉性和額外結構。最小的 VTT 看起來與 SRT 很接近,但它不是帶有另一個擴展名的 SRT 。簽章、時間戳記標點符號和提示語法是決定瀏覽器是否已收到 WebVTT 的一部分。
WebSRT 和重新命名為 WebVTT — 早期 WHATWG 工作和轉向 W3C
此格式在成為 WebVTT(即網路視訊文字軌道)之前,曾在早期的 WebSRT 名稱下進行過討論。此血統傳達了設計路徑:從廣泛理解的字幕塊形狀開始,然後定義網路媒體所需的附加行為。本文避免了日期、指定的編輯和詳細的標準主體年表,因為這些事實並未通過用於實施宣告的存儲庫材料進行驗證。
對於前端開發人員來說,持久的教訓是 WebVTT 是瀏覽器媒體功能的指定輸入,而不是特定於播放器的約定。實作應該針對其當前語法並在消費性播放器中進行測試,而不是依賴歷史標籤。
規範在 SRT 上新增的內容 — WEBVTT 標頭、提示標識符、提示設定和樣式掛鉤
WebVTT 新增必要的 WEBVTT 簽章並允許不需要是數字的提示標識符。提示設定可以遵循結束時間來表達對齊和放置,而「註解」、「樣式」和「區域」區塊則提供超出普通 SRT 提示清單的元資料和表示結構。然後,瀏覽器樣式掛鉤可以處理顯示的提示,而無需將文字燒錄到影片中。
ToolAcre 實作了一個重點子集。它保留在結束時間戳之後找到的設置,但在加載時刪除提示標識符並跳過“NOTE”、“STYLE”和“REGION”區塊。這對於普通轉換來說已經足夠了,並故意不是完整 WebVTT 模型的無損編輯器。
點、標題和 UTF-8 — 阻止 SRT 檔案成為有效 VTT 檔案的微小差異
三個小細節將最小的 VTT 與 SRT 分開。第一行必須攜帶 WEBVTT 簽名,時間戳在毫秒之前使用句號,且文字必須是 UTF-8。 ToolAcre 透過測試簽章來偵測 VTT,同時容忍可選的位元組順序標記和前導空格;沒有該簽章的文字預設為 SRT。
序列化器寫入簽章和點標點符號,而不是保留來源碰巧使用的任何內容。檔案輸入被讀取為 UTF-8。因此,舊編碼的 SRT 可以在轉換之前顯示替換字符,並更改其容器語法無法恢復已錯誤解碼的位元組。
使用 WebVTT 的地方 — HTML5 軌道元素、HLS 字幕和許多視訊平台
WebVTT 是與 HTML 視訊軌道元素關聯的 sidecar 格式,出現在使用定時文字的 Web 交付系統中。一些串流媒體和平台工作流程也使用 WebVTT,但接受詳細資訊屬於目的地,應在那裡檢查,而不是從擴充功能推斷。有效的 VTT 檔案仍可能使用錯誤的媒體類型提供服務或被跨來源傳送規則阻止。
工具包產生檔案表示;它不配置 HTML 頁面、伺服器標頭或流清單。將轉換視為交付的一個階段,並使用觀眾將使用的相同 URL、標頭和來源關係來測試實際播放器。
這不包括完整的樣式和區域模型,大多數字幕檔案從未使用過
完整的樣式和區域模型位於此轉換器之外。複雜的提示選擇器、區域佈局和呈現策略值得使用支援 WebVTT 的創作工具和瀏覽器測試。解析器會跳過 STYLE 和 REGION 區塊,因此透過此路徑發送這樣的主區塊會將它們從任一輸出中刪除,而不是不可見地保留它們。
此工具也會將提示設定攜帶到 SRT 輸出中,即使 SRT 沒有定義對其進行操作的機制。此記錄的限制是每當放置很重要時保留原始 VTT master 的原因,而不是假設每個目標都會以相同的方式忽略額外文字的原因。
重點:真正的網路標準 — 字幕工具包如何產生遵循該標準的 WebVTT
WebVTT 將熟悉的定時文字模式轉換為定義的 Web 輸入。簽名對其進行標識,時間戳語法是規範的,並提示模型可以攜帶的不僅僅是純順序文字。 Subtitle Toolkit 透過將時間解析為整毫秒,然後編寫 WEBVTT 標頭、點分隔符號和不含識別碼行的提示,從 SRT 產生最小規格檔。
比較來源和輸出提示計數並在將結果附加到播放器之前讀取所有解析問題。如果來源依賴註解、區域、樣式區塊或標識符,請選擇保留這些功能的工作流程;專注的轉換器應該說明該邊界,而不是暗示完全的往返保真度。