
先选择你拥有或有权编辑的视频。YouTube 工作室是视频所有者管理视频的界面,你可以在其中添加说明并检查账号权限。公开字幕工具可以帮助你拟定章节开始时间。但它无法确认你的账号设置,也无法证明播放器已接受你的章节。
下面的方法会生成两份独立记录:已核查的章节列表和账号权限检查记录。请分开保存,以免正确的列表掩盖尚未解决的权限问题。
1. 确认视频、时长和视频所有者的账号权限
章节是视频中有名称的一个部分。时间戳表示该章节的开始时间。章节时长是从该开始时间到下一章开始的时间;最后一章则计算到视频结束。
编辑前,请按以下步骤操作:
- 打开你要修改的那个视频。
- 确认你拥有该视频,或有权编辑其说明。
- 记录视频网址和视频 ID。ID 是用于识别该视频的简短代码。
- 从实际视频中确认并记录准确时长。
- 保留一份当前说明的副本。
- 在视频所有者账号中检查“高级功能”的使用权限。
将权限检查结果记录为“已确认”“不可用”或“未检查”。未经检查的设置属于未知状态。不要将其记为“不可用”。
请区分手动章节和自动章节。手动章节是你添加的时间戳和标题行。YouTube 通过另一套流程生成自动章节。根据 YouTube 帮助,手动章节会覆盖自动章节。
没有自动章节,并不能证明你的手动章节列表无效。请按手动章节自身的规则检查列表。如果你还要检查视频是否符合自动章节的使用条件,请另行记录结果。
公开字幕的获取结果无法证实上述视频所有者账号的情况。请在管理该视频的账号中检查。
2. 根据实际视频拟定章节开始时间
章节分界点是上一章结束、下一章开始的位置。先根据视频内容选择分界点,再检查分界点之间的时长。
观看开头、每次主题切换和结尾。将各章起点设在下一个主题实际开始的位置。口述标题可能有帮助,但视频也可能通过无声演示或画面中的操作切换主题。
按以下顺序操作:
- 简要列出视频的主要部分。
- 观看每个部分的开头。
- 记录拟定的开始时间。
- 写一个简短标题,说明该部分的内容。
- 再次观看切换处,确认时间和标题。
第一章必须从 00:00 开始。为开头取一个有帮助且符合内容的标题。
标题应帮助观众选择要看的部分。“准备材料”比“第二部分”提供的信息更多。检查标题能否概括整个章节。章节中只是简短提到某个主题,并不一定适合用该主题命名整章。
带时间信息的字幕可以帮助你定位口述内容中的主题切换,但无法确认无声画面中的变化。即使字幕文字看起来很明确,也要观看每个拟定的分界点。
本任务是将你自己的视频划分为章节。如果你只想在他人的课程中找到某段讲解,可以参阅处理这一较小任务的概念导航指南。一段有助于学习的片段,不一定适合作为完整发布列表中的一个章节。
3. 按需使用现有字幕
仅通过观看视频,你就可以编写手动章节。如果字幕有助于定位可能的主题切换,再使用字幕。
字幕轨道是同一视频的一组带时间信息的文本片段。每个片段都有开始和结束时间。转录文本将这些片段汇集在一起。
YouTube Transcript Scraper 读取现有的公开字幕轨道。Actor 是在托管平台上运行的数据采集程序。Task 是为 Actor 保存的一组预设输入。
根据文档,该 Actor 接受公开 YouTube 视频的直接网址或 ID。它不接受频道、播放列表或搜索页面作为采集输入。它不会将语音转换为新的文本,也不会下载音频或视频。如果没有字幕,请继续通过观看视频来完成操作。
所提供的简短输入示例如下:
{"includeFailedInputDetails":true,"outputFormats":["json"],"preferredLanguages":[],"startUrls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}将 `startUrls` 中的整个示例列表替换为包含目标公开视频网址的列表。示例网址仅用于展示有效的输入结构,并不证明该视频适合用于编写章节。
各项设置的作用如下:
- `startUrls` 包含输入的视频。本次检查只使用一个视频。
- `outputFormats` 用于请求 JSON 输出。JSON 是一种结构化文本格式,可以保留片段的时间信息。
- `preferredLanguages` 为空,因此 Actor 会选择当前可用的最佳字幕轨道。这并不保证选中英语字幕。
- `includeFailedInputDetails` 用于请求在本次运行的 OUTPUT 记录中提供失败详情。OUTPUT 是运行摘要。
如果你设置了语言偏好,Actor 会按顺序尝试这些语言。如果均不可用,它会报告所选语言不可用的失败结果,而不会自行改选其他语言。使用字幕前,请检查返回的语言。
公开的带时间戳转录 Task 是文档中提供的起点,可用于开展这项工作。所提供的来源核查确认了该页面和 Task ID 的存在。核查没有查看需登录后才能访问的已保存输入,也没有运行该 Task。开始运行前,请自行检查输入。
示例输入已通过所提供的输入结构校验。本文未进行付费 Actor 运行。文中的所有采集步骤,都是建议读者自行执行的操作。
使用字幕前先检查结果
自行运行后,确认视频身份和所选语言。检查 `videoId`、`videoUrl`、`transcriptLanguageCode`、`status` 和 `statusReason`。然后阅读本次运行的 OUTPUT,查看失败输入的详情。
每个成功处理且不重复的视频会生成一行数据集记录,即一条视频结果。失败输入不会生成成功的转录记录。因此,如果缺少某行结果,就需要检查失败原因;这并不能证明该视频没有合适的章节分界点。
对于返回的每个片段,使用 `text`、`startSeconds` 和 `endSeconds` 定位对应内容。按原样保留返回的 `durationSeconds`,包括 null 值。null 表示该值缺失或未知,不表示零秒。
对 `videoDurationSeconds` 也采用同样的处理方式。如果该值缺失,请从实际视频中获取时长。不要将最后一条字幕的结束时间当作视频结束时间。语音停止后,视频可能仍在继续。
语言信息、字幕来源信息和 `videoCoverageRatio` 都不能证明文字准确。请保留原始结果,并通过播放视频核实拟定的章节起点。Actor 的公开功能说明支持字幕采集,不会自动确认你的章节列表合格。
章节时间戳也不同于字幕条目的时间信息。每条字幕都有自己的文字显示开始和结束时间。如果你需要字幕文件,请参阅字幕转换指南。添加手动章节不需要先将字幕转换为字幕文件。
4. 检查格式和每个章节的时长
确定合适的分界点后,在说明中每行写一个时间戳和一个标题。第一行从 00:00 开始。至少写三行,每个时间都必须晚于前一个时间。
排除重复时间和超出视频范围的时间。位于视频结束时或结束后的时间戳,无法作为至少持续 10 秒的章节起点。
将每个开始时间换算为秒,以检查时长。将分钟数乘以 60,再加上秒数。例如,01:20 等于 1 × 60 + 20 = 80 秒。
除最后一章外,每章时长都用下一章的开始时间减去本章的开始时间。最后一章则用视频总时长减去该章的开始时间。
每个结果都必须至少为 10 秒。检查所有结果,包括最后一章。列表中相邻时间戳的间隔可能都合格,但最后一个时间戳之后的剩余时间仍可能不足。
如果某章过短,请重新查看内容。判断是否应将其与相邻章节合并,或另选一个仍符合实际主题切换的分界点。然后再次检查时长。如果移动后的时间会错误地标注视频内容,就不要仅为满足计算要求而移动时间。
YouTube 官方规则要求从 00:00 开始,至少有三个递增的时间戳,且每章至少持续 10 秒。通过这些检查,只能确认格式合规,不能确认账号权限或播放器是否接受章节。
5. 计算示例:原创虚构的两分钟视频
本例为原创虚构示例。视频、标题和拟议修改均为虚构。没有编辑任何真实的视频所有者的视频,也没有检查任何已发布视频的播放器。这里的计算仅用于讲解时长检查方法。
假设这个虚构视频在 02:00 结束,即 2 × 60 = 120 秒。拟写入说明的各行如下:
00:00 Prepare
00:35 Collect
01:20 Check开始时间分别为 0、35 和 80 秒。逐章检查:
| 章节 | 开始时间 | 下一章开始时间或视频结束时间 | 计算 | 时长 |
|---|---|---|---|---|
| 准备 | 00:00 | 00:35 | 35 − 0 | 35 秒 |
| 收集 | 00:35 | 01:20 | 80 − 35 | 45 秒 |
| 检查 | 01:20 | 02:00 结束 | 120 − 80 | 40 秒 |
三个章节都至少持续 10 秒。第一章从 00:00 开始,三个开始时间依次递增。
各章时长之和为 35 + 45 + 40 = 120 秒,与虚构视频的总时长一致。这个总和用于检查计算是否正确,不能证明标题符合真实内容,也不能证明 YouTube 会显示章节。
现在假设你在 01:55 添加第四章。其开始时间为 1 × 60 + 55 = 115 秒。
前一章将持续 115 − 80 = 35 秒,这个间隔合格。但最后一章只会持续 120 − 115 = 5 秒,不符合至少 10 秒的规则。
查看虚构内容后,删除或修改这个拟定的分界点。不要再添加 02:00 作为章节起点。这样会使最后一章的时长变为 120 − 120 = 0 秒。
实际检查时,如果尚未查看视频,未知的结束时间就必须保持为未知。没有确认结束时间,就不能认定最后一章的时长合格。
6. 保存说明并检查播放器
检查内容、格式和时长后,通过视频所有者账号发布列表:
- 在 YouTube 工作室中打开该账号拥有的视频。
- 保留一份原说明的副本。
- 将已核查的时间戳和标题行添加到说明中。
- 保存说明。
- 打开保存后的视频页面。
- 确认说明包含预期的各行内容。
- 检查播放器是否显示章节。
- 核对显示的章节起点是否符合预期的主题切换。
记录你实际观察到的结果。“说明已保存”和“章节已显示”是两个不同的结果。仅保存文字,无法确认播放器已显示章节。
如果章节没有显示,请重新检查已保存的各行内容、时长和“高级功能”的使用权限。不要仅凭草稿或格式检查就报告发布成功。所提供的来源既未保证章节一定显示,也未给出固定的等待时间。
7. 保留章节表,并单独记录权限
保留足够的信息,以便编辑后重复检查。版本是章节列表在某次保存时的状态。为每个版本添加标识和检查日期。
每个章节记录为一行:
| 保存字段 | 记录内容 |
|---|---|
| 视频 ID 和网址 | 你检查的具体视频 |
| 列表版本 | 本次编辑使用的版本 |
| 视频时长 | 已确认的时长,以秒为单位 |
| 章节顺序 | 该章在列表中的位置 |
| 章节标题 | 写入说明的标题文字 |
| 开始时间 | 说明中的时间戳 |
| 开始秒数 | 同一开始时间换算后的秒数 |
| 下一章开始时间或视频结束时间 | 用于计算时长的数值 |
| 章节时长 | 减法计算结果,以秒为单位 |
| 内容检查 | 你在分界点看到的内容 |
| 检查日期 | 你核查该版本的日期 |
为整个视频单独保留一份记录,记录编辑权限、“高级功能”的使用权限、已保存的说明,以及实际观察到的播放器结果。尚未完成检查的项目应记录为未知。
如果使用字幕,还应保留所选语言、`scrapedAt` 和任何失败说明。`scrapedAt` 记录字幕采集时间,不是你检查视频所有者设置或播放器的时间。
剪辑或替换视频后,重新检查修改位置之后的所有章节起点。再次确认总时长和最后一章的时长。此前的计算仅适用于此前的版本。
8. 根据问题状态选择下一项检查
根据实际出现的问题,决定下一步检查什么。
| 观察到的状态 | 下一项检查 |
|---|---|
| 第一个时间戳不是 00:00 | 修正第一行,并核查其标题 |
| 时间戳行少于三行 | 重新查看内容,编写符合规则的完整列表 |
| 时间重复或递减 | 修正顺序并重新计算时长 |
| 某章不足 10 秒 | 重新查看该分界点及附近内容 |
| 最后一章的时长未知 | 确认视频的实际结束时间 |
| 字幕不可用 | 直接观看视频 |
| 请求的语言不可用 | 检查失败结果和你的语言选择 |
| 已保存的说明与草稿不同 | 修正并保存预期版本 |
| 格式合格,但章节没有显示 | 检查视频所有者的账号权限,并记录播放器仍未显示章节的问题 |
缺少字幕轨道属于采集限制,不能据此认定存在账号权限问题。准确的公开转录文本同样不能证实视频所有者的账号权限。
如果文档列明的检查全部通过,但播放器仍未显示章节,请将结果保留为尚未解决。保留已核查的列表和账号观察记录。所提供的证据没有列出所有可能原因,因此不要在缺乏证据时认定原因。
来源和延伸阅读
作者 Chronometrica · 更新日期
返回顶部 ↑

