字幕条目卡片与视频时间轴对齐,旁边放着 2 张字幕文档。

SRT 和 VTT 是字幕文本格式。每个字幕条目包含文字,以及这些文字的开始和结束时间。一个条目就是一条字幕。实用的结果应是可以保存,并能在目标播放器或编辑器中打开的字幕文本。

本对比由 Chronometrica 发布。下文的产品信息来自于 2026 年 10 月 20 日核查的公开文档。本文比较输出形式,不对准确性、速度或价格作出基于实测的结论。

决定由谁生成字幕文本

从 YouTube 复制的转录文本可能包含时间标记,但仍不是可用的字幕文件。一位读者在 YouTube 社区提问中提出了这个问题。这位读者已有转录文本,但复制的时间不符合 SRT 语法。

这个问题分为 2 个部分。先获取字幕文字及其时间,再将它们整理为编辑器接受的字幕格式。第二部分就是格式生成步骤:把带时间信息的片段转换为字幕文本。

如果你有公开视频 URL,但没有字幕格式转换工具,Chronometrica 很适合。它的可选字段 `srt` 和 `vtt` 包含已生成相应格式的字幕文本。你可以保存所请求的字段内容,并在编辑器中检查。Actor 返回的是文本字段;选择格式不会自动生成并下载字幕文件。Actor 是一种托管的数据采集程序。(Chronometrica 文档)

是否需要自行控制转换,是改变这一选择的主要条件。你可能已有合并短片段、设置换行或为特定编辑流程准备字幕的规则。这些是你自己的编辑规则。本文并未确认这些规则属于产品设置。

决定由谁生成字幕文本
决策要点ChronometricaPinto Studio
已核查的输出可选的已格式化 `srt` 和 `vtt` 文本包含 `start`、`dur` 和 `text` 的 `data` 数组
检查字幕前的工作保存所请求的文本字段内容将片段转换为所需格式
本文所述的适用情况你希望直接获取已格式化的字幕文本你自行控制转换过程

此表描述的是文档中说明的输出结构。(Chronometrica,Pinto Studio)

选择格式前,先核查字幕要求

Chronometrica 提取现有的公开字幕。没有字幕时,它不会通过语音转文字生成文本。语音转文字是指从录制的语音中生成书面文字。如果任务要求从没有可用字幕的视频中获取文本,那么将 VTT 换成 SRT 并不能解决问题。(Chronometrica 文档)

运行 Actor 前,记录源视频 URL、所需字幕语言和目标字幕格式。这 3 项信息定义了成功标准。即使字幕可读,语言不对也无法满足英语字幕的要求。

Chronometrica 会按你提供的顺序尝试 `preferredLanguages`。如果所请求的语言均不匹配,它会报告带有明确类型的失败,而不会改用其他语言。这种失败信息会标明问题类型。只有当你能接受另一种语言作为结果时,才将其加入列表。(Chronometrica 输入,输出约定)

将提取与翻译分开处理。如果你需要另一种语言,请先决定如何获取和审核该语言的文本。YouTube 翻译含义审核指南说明了为何需要单独进行这项审核。

在本文中,成功是指获取所请求的现有字幕轨道,生成所需字幕格式,并对照视频检查结果。这并不意味着每个公开 URL 都必须返回字幕。

在 Chronometrica 中明确请求 SRT 或 VTT

Chronometrica 的 `outputFormats` 接受 `json`、`text`、`srt`、`vtt` 和 `llm`。默认值为 `json` 和 `text`。因此,需要 `srt` 或 `vtt` 字段时,你必须明确请求。(当前输入模式)

公开的 YouTube 字幕 SRT/VTT Task 可作为起始预设。Task 是已保存的输入预设。运行前请检查实际输入,因为已保存的预设可能发生变化。

以下输入已对照公开的输入模式核查,但未实际运行。示例 URL 来自公开输入模式中的示例,目前是否有可用字幕尚不清楚。请将其替换为与你的字幕任务相关的公开视频。

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 输出,输入模式)

这两处都要查看。成功数据集显示你获得了什么。`OUTPUT` 说明哪些输入失败。不要把查询失败变成空字幕文件。这样会掩盖成功提取与缺少源文本之间的区别。

需要自行控制转换时,使用片段输出

Pinto Studio 的文档说明,每次运行使用 1 个 `videoUrl` 和 1 个 `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` 秒。2 个片段的持续时间均为正数,字幕条目没有重叠。

生成的 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. 明确所需结果。记录视频 URL、字幕语言和目标格式。注明将使用字幕的播放器或编辑器。这样,验收检查就能针对文件实际使用的环境。
  2. 检查当前输入。明确请求所需字幕格式。如果使用上面的输入,请替换示例 URL。按顺序审核语言列表,只保留你能接受的语言。
  3. 结合查看成功和失败信息。确认成功返回的数据行对应目标视频和字幕语言。查看 `OUTPUT` 中的失败信息。将缺少字幕或所请求语言不可用的情况记录为未解决事项。未知值应保持未知。
  4. 准备字幕文件。对于直接提供的格式化文本,将 `srt` 字段的内容保存为 `.srt` 文件,或将 `vtt` 字段的内容保存为 `.vtt` 文件。保存的是字幕文本本身。对于片段输出,先用一致的单位计算开始和结束时间,再按所需格式写入。
  5. 检查字幕条目。确认条目顺序、持续时间为正数,以及时间语法正确。检查间隔和重叠。间隔可能对应没有语音的时段。重叠则需要对照源视频审核。将源 URL 和字幕语言与保存的文件一起保留。
  6. 打开并试听。在目标播放器或编辑器中加载文件。选取部分条目,对照视频检查其开始和结束时间。将字幕文字与语音进行比较。文件即使能正常打开,也可能存在文字或时间不准确的问题。
  7. 记录决定。将字幕标记为已验收或尚未解决。说明仍需检查的内容。如果没有可用字幕,只有在任务允许使用新生成文本时,才选择单独的语音转文字流程。

这些检查回答不同的问题。格式检查确认字幕文本是否具备所需结构。播放检查确认所选条目是否与视频匹配。文字检查确认字幕文本是否适合你的用途。

分别保留这些结果。“文件能打开”是有用的结果,但不能证明每个词或每个条目都正确。简短的验收记录能让其他人了解你完成了哪些检查。

将来源信息与字幕一起保留

实用的字幕交付应包含源视频标识信息、字幕语言、字幕文本或已保存的文件,以及简短的条目检查记录。如果缺少这些信息,接手的人就必须自行查明文件来源,以及你审核过哪些内容。

用简短记录保存源 URL、所请求的格式、返回的字幕语言、保存的文件名和审核状态。再用一句清楚的话说明条目检查情况。例如,说明你试听了哪些开始和结束位置,以及是否需要修改。编辑字幕时,保留原始输出以供查阅。

不要只检查 1 个条目就声称已完成全部审核。说明你实际执行的检查。如果缺少语言值或来源信息,在能够确认之前,将其标记为未知。

这份记录也能帮助你判断直接提供的格式化文本是否满足需求。如果剩余工作只是常规字幕审核,那么直接提供的 SRT 或 VTT 文本是实用的起点。如果每次交付前都必须应用固定的编辑规则,自行控制转换过程可能更重要。

来源和延伸阅读

作者 Chronometrica · 更新日期

返回顶部 ↑