

# Chronometrica 与 Pinto Studio 对比：YouTube SRT 和 VTT 字幕输出

如果你需要从现有的公开 YouTube 字幕轨道中直接获取 SRT 或 VTT 字幕文本，选择 Chronometrica。如果 Pinto Studio 提供的带时间信息的片段适合你现有的字幕转换流程，则选择 Pinto Studio。Chronometrica 会按你的请求生成相应格式的字幕文本。Pinto Studio 的文档说明，其片段输出可供你自行转换。输出形式是选择这两款产品的主要依据。（[Chronometrica 输出](https://apify.com/chronometrica/youtube-transcript-scraper)，[Pinto Studio 输出](https://apify.com/pintostudio/youtube-transcript-scraper)）

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

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

## 决定由谁生成字幕文本

从 YouTube 复制的转录文本可能包含时间标记，但仍不是可用的字幕文件。一位读者在 [YouTube 社区提问](https://www.reddit.com/r/youtube/comments/1dwhwvn/is_there_any_way_to_convert_transcript_of_youtube/)中提出了这个问题。这位读者已有转录文本，但复制的时间不符合 SRT 语法。

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

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

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

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

此表描述的是文档中说明的输出结构。（[Chronometrica](https://apify.com/chronometrica/youtube-transcript-scraper)，[Pinto Studio](https://apify.com/pintostudio/youtube-transcript-scraper)）

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

Chronometrica 提取现有的公开字幕。没有字幕时，它不会通过语音转文字生成文本。语音转文字是指从录制的语音中生成书面文字。如果任务要求从没有可用字幕的视频中获取文本，那么将 VTT 换成 SRT 并不能解决问题。（[Chronometrica 文档](https://apify.com/chronometrica/youtube-transcript-scraper)）

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

Chronometrica 会按你提供的顺序尝试 `preferredLanguages`。如果所请求的语言均不匹配，它会报告带有明确类型的失败，而不会改用其他语言。这种失败信息会标明问题类型。只有当你能接受另一种语言作为结果时，才将其加入列表。（[Chronometrica 输入](https://apify.com/chronometrica/youtube-transcript-scraper/input-schema)，[输出约定](https://apify.com/chronometrica/youtube-transcript-scraper)）

将提取与翻译分开处理。如果你需要另一种语言，请先决定如何获取和审核该语言的文本。[YouTube 翻译含义审核指南](/zh-Hans/articles/%E5%AF%B9%E7%85%A7%E5%8E%9F%E7%89%88%E5%AE%A1%E6%9F%A5youtube%E8%A7%86%E9%A2%91%E8%AF%91%E6%96%87%E5%90%AB%E4%B9%89/)说明了为何需要单独进行这项审核。

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

## 在 Chronometrica 中明确请求 SRT 或 VTT

Chronometrica 的 `outputFormats` 接受 `json`、`text`、`srt`、`vtt` 和 `llm`。默认值为 `json` 和 `text`。因此，需要 `srt` 或 `vtt` 字段时，你必须明确请求。（[当前输入模式](https://apify.com/chronometrica/youtube-transcript-scraper/input-schema)）

公开的 [YouTube 字幕 SRT/VTT Task](https://apify.com/chronometrica/youtube-transcript-scraper/examples/youtube-subtitles-srt-vtt) 可作为起始预设。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 输出](https://apify.com/chronometrica/youtube-transcript-scraper)，[输入模式](https://apify.com/chronometrica/youtube-transcript-scraper/input-schema)）

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

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

Pinto Studio 的文档说明，每次运行使用 1 个 `videoUrl` 和 1 个 `targetLanguage`。其公开输出示例将 `start` 和 `dur` 表示为以秒为单位的数字字符串。这些值可以转换为字幕时间。（[Pinto Studio 输入](https://apify.com/pintostudio/youtube-transcript-scraper/input-schema)，[输出示例](https://apify.com/pintostudio/youtube-transcript-scraper)）

如果由你控制转换流程，请先将这些值按数字读取，再做加法。结束时间等于开始时间加上持续时间。保持单位一致，然后按所需的字幕语法写入。

如果现有流程已包含编辑规则，这个额外步骤可能有用。例如，你的编辑器可能要求在导出前审核较短的字幕条目。你的流程可以保留原始片段，应用你选定的更改，并记录更改内容。

如果不需要这种控制，编写和维护格式转换工具会增加字幕任务的工作量。直接提供的格式化文本可让你从保存和检查阶段开始。你仍需确认文件能打开，且字幕条目与视频匹配。

完整的转换说明见 [YouTube 字幕转换指南](/zh-Hans/articles/youtube%E5%AD%97%E5%B9%95%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2/)。这里需要决定的是，你的工作流程是否需要由你控制这一步转换。

## 用虚构示例查看差异

本示例完全虚构。它用于检查字幕格式和计算。它不是 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 检查 1 个视频

如果你希望直接获取现有公开字幕的 SRT 或 VTT 格式文本，请使用 [Chronometrica YouTube Transcript Scraper](https://apify.com/chronometrica/youtube-transcript-scraper)。明确请求所需格式，然后检查 1 个相关公开视频的成功输出和失败信息。

将所请求的字幕字段内容保存为扩展名正确的文件。在目标播放器或编辑器中打开文件，并对照视频测试 1 个条目。记录源字幕语言和该项检查的结果。这样，你就有了具体的字幕交付内容，并有明确依据判断是否需要进一步编辑。

## 来源和延伸阅读

- [Chronometrica YouTube Transcript Scraper：输出与适用范围](https://apify.com/chronometrica/youtube-transcript-scraper)
- [Chronometrica 输入模式](https://apify.com/chronometrica/youtube-transcript-scraper/input-schema)
- [Chronometrica YouTube 字幕 SRT/VTT Task](https://apify.com/chronometrica/youtube-transcript-scraper/examples/youtube-subtitles-srt-vtt)
- [Pinto Studio YouTube Transcript Scraper：文档中说明的输出](https://apify.com/pintostudio/youtube-transcript-scraper)
- [Pinto Studio 输入模式](https://apify.com/pintostudio/youtube-transcript-scraper/input-schema)
- [读者关于将 YouTube 转录文本转换为 SRT 的提问](https://www.reddit.com/r/youtube/comments/1dwhwvn/is_there_any_way_to_convert_transcript_of_youtube/)