字幕條目卡片沿著影片時間軸排列,旁邊放著 2 張字幕文件。

SRT 和 VTT 都是字幕文字格式。每個字幕條目包含文字,以及這些文字的開始和結束時間。字幕條目就是一筆字幕。實用的輸出應是你能儲存,並在預定的播放器或編輯器中開啟的字幕文字。

本比較由 Chronometrica 發布。以下產品資訊來自於 2026 年 10 月 20 日查閱的公開文件。本文比較輸出方式,沒有根據實測對準確度、速度或價格作出主張。

選擇由誰準備字幕文字

從 YouTube 複製的文字稿可能帶有時間標記,卻不是可用的字幕檔。有讀者在 YouTube 社群提問中提出這個問題。這位讀者已有文字稿,但複製下來的時間不符合 SRT 語法。

這個問題分成 2 個部分。先取得字幕文字及其時間,再將它們整理成編輯器接受的字幕格式。第 2 個部分就是格式化步驟:把附時間的片段轉成字幕文字。

如果你有公開影片網址,但沒有字幕格式化工具,Chronometrica 很適合這項需求。其選用的 `srt` 和 `vtt` 欄位包含已格式化的字幕文字。你可以儲存所要求的欄位,並在編輯器中檢查。Actor 傳回的是文字欄位;選擇格式不會自動建立已下載的字幕檔。Actor 是在託管環境中執行的資料收集程式。(Chronometrica 文件)

是否需要自行掌控轉換,是改變這項選擇的主要條件。你可能已有規則,用來合併短片段、安排換行,或為特定剪輯流程準備字幕。這些是你自己的編輯規則。本比較並未確認產品提供這些設定。

選擇由誰準備字幕文字
選擇依據ChronometricaPinto Studio
已查核的輸出選用的已格式化 `srt` 和 `vtt` 文字含有 `start`、`dur` 和 `text` 的 `data` 陣列
檢查字幕前的工作儲存所要求的文字欄位將片段轉成所需格式
本文所述的適用需求你希望工具提供已格式化的字幕你自行掌控轉換

此表說明文件記載的輸出結構。(Chronometrica、Pinto Studio)

選擇格式前,先確認字幕需求

Chronometrica 擷取現有的公開字幕。沒有字幕時,它不會透過語音轉文字產生輸出。語音轉文字是指將錄製的語音轉成文字。如果你的工作需要從沒有可用字幕的影片取得文字,改選 SRT 而非 VTT 並不能解決這個問題。(Chronometrica 文件)

執行 Actor 前,先記下來源影片網址、所需字幕語言和目標字幕格式。這 3 項資訊決定什麼結果才算成功。即使字幕可以閱讀,只要語言不對,就不符合英語字幕的要求。

Chronometrica 會依你提供的順序嘗試 `preferredLanguages`。如果所有指定語言都不符合,它會回報帶有類型的失敗結果,而不會改用其他語言。帶有類型的失敗結果會指出問題的種類。只有在你能接受另一種語言作為結果時,才加入該語言。(Chronometrica 輸入、輸出規格)

請將擷取與翻譯分開處理。如果你需要另一種語言,請決定如何取得並審核該文字。YouTube 翻譯語意審核指南說明了這項獨立的審核需求。

在本比較中,成功是指取得所要求的現有字幕軌、準備所需的字幕格式,並對照影片檢查結果。這不代表每個公開網址都必須能取得字幕。

在 Chronometrica 中明確要求 SRT 或 VTT

Chronometrica 的 `outputFormats` 接受 `json`、`text`、`srt`、`vtt` 和 `llm`。預設值是 `json` 和 `text`。因此,需要 `srt` 或 `vtt` 欄位時,必須明確要求。(目前的輸入結構)

公開的 YouTube subtitles SRT/VTT Task 可作為起始預設。Task 是已儲存的輸入預設。執行前請檢查實際輸入,因為已儲存的預設可能改變。

以下輸入已對照公開的輸入結構查核,但未實際執行。範例網址來自公開輸入結構中的範例,目前是否有可用字幕仍屬未知。請將它換成與你的字幕工作相關的公開影片。

json
{
  "startUrls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ],
  "preferredLanguages": [
    "en"
  ],
  "outputFormats": [
    "json",
    "srt",
    "vtt"
  ],
  "includeFailedInputDetails": true
}
在 Chronometrica 中明確要求 SRT 或 VTT

這份輸入要求英語字幕,以及 2 種格式化字幕。它也要求結構化輸出,讓你能將字幕文字與附時間的片段作比較。只有在需要檢查 2 種格式時,才同時保留它們。如果工作只需要 1 種格式,請明確要求該格式。

成功處理的影片會產生 1 筆資料,包含影片識別資訊、字幕語言和附時間的片段。選用的 `srt` 和 `vtt` 欄位存放所要求的字幕文字。失敗資訊會寫入 `OUTPUT`,與成功資料集分開。`includeFailedInputDetails` 設定會在其中保留各筆輸入的失敗詳情。(Chronometrica 輸出、輸入結構)

請同時查看這 2 處。成功資料集顯示你取得了什麼。`OUTPUT` 則說明哪些輸入失敗。不要將查找失敗轉成空白字幕檔。這會掩蓋成功擷取與缺少來源文字之間的差異。

需要自行掌控轉換時,使用片段輸出

Pinto Studio 的文件記載,每次執行使用 1 個 `videoUrl` 和 `targetLanguage`。其公開的輸出範例以數字字串表示 `start` 和 `dur`,單位為秒。這些值可轉換成字幕時間。(Pinto Studio 輸入、輸出範例)

在你自行掌控的轉換流程中,先將這些值讀取為數值,再進行相加。結束時間等於開始時間加上持續時間。請保持單位一致,再依所需字幕語法寫入。

如果現有流程已套用編輯規則,這個額外步驟可能有用。例如,你使用的編輯器可能要求在匯出前審核較短的字幕條目。你的流程可以保留原始片段、套用所選的變更,並記錄變更內容。

如果你不需要這種控制,編寫及維護格式化工具就會增加字幕工作的負擔。工具提供已格式化的字幕,便可讓你從儲存和檢查階段開始。你仍須確認檔案能開啟,且字幕條目與影片相符。

如需完整的轉換說明,請參閱 YouTube 字幕轉換指南。這裡要判斷的是:你的工作流程是否需要自行掌控這個轉換步驟。

用虛構範例檢查差異

這整個範例都是虛構的。它用來檢查字幕格式與計算。它不是 Actor 的實際執行結果,也不是任何一款產品字幕準確度的證據。

假設你有 2 個虛構片段:

用虛構範例檢查差異
片段文字開始時間持續時間結束時間
A開啟編輯器。1.25 秒2.50 秒3.75 秒
B檢查字幕。4.00 秒1.20 秒5.20 秒

片段 A 的結束時間是 `1.25 + 2.50 = 3.75` 秒。片段 B 的結束時間是 `4.00 + 1.20 = 5.20` 秒。兩者之間的間隔是 `4.00 - 3.75 = 0.25` 秒。兩者的持續時間皆為正值,字幕條目也沒有重疊。

格式化後的 SRT 如下:

srt
1
00:00:01,250 --> 00:00:03,750
Open the editor.

2
00:00:04,000 --> 00:00:05,200
Check the subtitle.
用虛構範例檢查差異

對應的 VTT 如下:

vtt
WEBVTT

00:00:01.250 --> 00:00:03.750
Open the editor.

00:00:04.000 --> 00:00:05.200
Check the subtitle.
用虛構範例檢查差異

SRT 時間在毫秒前使用逗號。VTT 時間使用小數點,且 VTT 文字以 `WEBVTT` 開頭。這 2 種格式都保留相同的 2 個字幕條目及其時間。

如果你收到工具提供的已格式化字幕,請將它與片段比較。確認其中包含兩個字幕條目、兩段正值的持續時間,以及相同的四分之一秒間隔。如果這些檢查都通過,就可以儲存文字,不必自行編寫轉換程式。

如果你的流程從片段開始,就必須計算結束時間並寫入正確語法。自訂合併或換行會增加另一項編輯決定。請保留原始文字與時間,以便日後審核這些變更。

採用簡單的字幕驗收方法

先用 1 部相關的公開影片建立可行流程。準備更多字幕前,先訂好明確的成功檢查標準。

  1. 明定所需結果。記錄影片網址、字幕語言和目標格式。註明將使用字幕的播放器或編輯器。這能讓驗收檢查對應到檔案實際必須正常運作的環境。
  2. 檢查目前的輸入。明確要求所需的字幕格式。如果使用上方輸入,請替換範例網址。依順序檢查語言清單,只納入你能接受的語言。
  3. 一併閱讀成功與失敗資訊。確認成功資料列屬於預定的影片及字幕語言。查看 `OUTPUT` 中的失敗資訊。將缺少字幕或無法取得指定語言的情況記為待處理工作。未知值必須保留為未知。
  4. 準備字幕檔。如果工具提供已格式化的字幕,請將 `srt` 欄位的內容儲存為 `.srt` 檔,或將 `vtt` 欄位儲存為 `.vtt` 檔。請儲存字幕文字本身。如果使用片段輸出,請先用一致的單位計算開始和結束時間,再寫入所需格式。
  5. 檢查字幕條目。確認條目順序、持續時間是否為正值,以及時間語法是否正確。檢查間隔與重疊。間隔可能是沒有說話的時段。重疊則需要對照來源審核。將來源網址和字幕語言與已儲存的檔案一併保留。
  6. 開啟並聆聽。在預定的播放器或編輯器中載入檔案。選取部分字幕條目,對照影片檢查其開始和結束時間。比較文字與語音。檔案即使能正常開啟,字幕用字或時間仍可能不佳。
  7. 記錄決定。將字幕標記為已驗收或待處理。說明還有哪些項目需要檢查。如果沒有可用字幕,只有在工作允許使用新產生文字的情況下,才另選語音轉文字流程。

這些檢查回答不同的問題。格式檢查確認字幕文字是否具有所需結構。播放檢查確認所選字幕條目是否與影片配合。文字檢查則確認字幕文字是否適合你的用途。

請分開記錄這些結果。「檔案可以開啟」是有用的結果,但無法證明每個字或每個字幕條目都正確。簡短的驗收紀錄能讓其他人知道你已完成哪些檢查。

將來源資訊與字幕一併保留

實用的字幕交付應包含來源影片識別資訊、字幕語言、字幕文字或已儲存的檔案,以及簡短的字幕條目檢查紀錄。缺少這些資訊,接手的人就必須自行查明檔案來源,以及你審核過什麼。

用簡短紀錄列出來源網址、要求的格式、傳回的字幕語言、儲存的檔案名稱和審核狀態。再用一句簡單的話說明字幕條目檢查。例如,註明你聆聽了哪些開始和結束位置,以及是否需要修改。編輯字幕時,請保留原始輸出以供查閱。

不要在只檢查 1 個字幕條目後,就宣稱已完成全面審核。請說明你實際執行的檢查。如果缺少語言值或來源資訊,請將它標記為未知,直到能夠確認。

這份紀錄也能幫助你判斷,工具提供的已格式化字幕是否符合需求。如果剩下的工作只是一般字幕審核,已格式化的 SRT 或 VTT 文字就是實用的起點。如果每次交付前都必須套用可重複執行的編輯規則,自行掌控轉換可能更重要。

來源與延伸閱讀

作者 Chronometrica · 更新日期

返回頂端 ↑