繁體中文

如何將 SRT 字幕轉換為 WebVTT

將檔案載入到字幕工具包中(自動偵測格式)並以其他格式下載。計時在內部保持為整數毫秒,因此轉換是精確的且往返不會累積漂移。

重命名該文件不起作用。 WebVTT 檔案必須以文字行 WEBVTT 開頭,並且必須在毫秒之前使用句號而不是逗號。瀏覽器在重新命名 SRT 後通常不會顯示任何內容,也不會出現錯誤解釋原因。

真正破壞播放的三個差異

首先,标题。 WebVTT 檔案的第一行以 WEBVTT 一詞開頭。 SRT 沒有標頭,從第一個提示開始。這一行缺失是轉換後的檔案在瀏覽器中無提示失敗的最常見原因。

其次,毫秒分隔符號。 SRT 用逗號寫入 00:00:01,500;WebVTT 寫入 00:00:01.500 帶句號。玩家期待其中一個而給出另一個時通常會拒絕這個提示。

第三,提示编号。 SRT 通常在每個時間戳記之前在其自己的行上放置一個整數。在 WebVTT 中,該標識符是可選的,當存在時,它可以是任何字串而不是數字。

還有一些較小的差異並不那麼重要。 WebVTT 允許省略小時部分,因此 01:30.000 表示九十秒。它還支援時間戳後的cue設置,例如line:90%align:center。

什麼能在轉換中存活下來,什麼不能

  • 兩個方向的計時都準確無誤。兩種格式均表示整數毫秒。
  • 提示內的換行符號會保留下來。它們對於可讀性很重要並被保留。
  • 諸如線條和對齊之類的提示設定會保留到 VTT 中,並被丟棄到 SRT 中,因為 SRT 無法表達它們。
  • 出於同樣的原因,WebVTT STYLE 和 REGION 區塊將被跳過而不是轉換。
  • 匯出時提示編號從 1 開始連續重新編號,這修復了手動編輯文件累積的間隙和重複項。

驗證發生在載入時

每個文件在載入時都會被檢查,結果會顯示在預覽上方。每個訊息都會指定一個特定的提示編號,因為「此檔案無效」在具有九百個提示的檔案中毫無用處。

錯誤是真正的破壞:提示在開始之前結束、提示在前一個提示之前開始、無法讀取的時間戳。警告在技術上是有效的,但通常是無意的:永遠不會出現的零持續時間提示,或兩個提示重疊,因此同時顯示。

格式錯誤的提示不會中止文件。壞塊被報告,其餘塊仍然加載,因此您可以一次性看到問題的規模,而不是一次修復一個崩潰的錯誤。

當您在那裡時刪除格式

字幕檔案通常帶有標記:類似 HTML 的標記(如斜體和粗體)、WebVTT 類別和語音標記以及控制定位的 SubStation 覆蓋區塊。

刪除格式操作會刪除所有這些內容,同時保留每個提示內的換行符號。諸如 & 之類的字元實體故意保留,因為它們是內容而不是格式。

工作範例:HTML5 影片元素的字幕

您擁有來自轉錄服務的 episode-01.srt,並且需要網頁上影片的字幕。該頁面使用了 track 元素,這需要 WebVTT。

SRT 檔案的開頭如下:

1 / 00:00:02,000 --> 00:00:04,500 / 歡迎回到節目。

  1. 將 episode-01.srt 載入到字幕工具包中。偵測到格式;將顯示提示計數和任何驗證訊息。
  2. 修復任何報告為錯誤的內容。有關重疊的警告值得一看,但很少會阻止播放。
  3. 下載為 VTT。

結果: 以 WEBVTT 行開頭的文件,後面跟著時間戳記為 00:00:02.000 --> 00:00:04.500 並帶有句號的提示。提示從 1 開始重新編號,文字及其內部換行符保持不變,計時與毫秒相同。

開啟工具

在字幕工具包中轉換字幕

在瀏覽器中解析和重寫,這對於禁運下的字幕很重要。它不轉錄或翻譯。

這不包括什麼

  • 僅限 SRT 和 WebVTT。 ASS 和 SSA、TTML、SAMI 和嵌入式廣播字幕格式既不能讀取也不能寫入。
  • 僅針對 VTT 輸出保留提示定位;匯出到 SRT 會丟棄它。
  • STYLE 和 REGION 區塊將被跳過而不是轉換。
  • 此工具可以轉換您已有的字幕檔。它不轉錄音訊也不翻譯。
  • 提示編號在匯出時總是會重新編號,因此故意編號不連續的檔案將會遺失該編號。