如何为 YouTube 视频添加字幕(SRT 或 VTT)
手把手教你把 SRT 或 VTT 字幕上传到 YouTube,以及当 YouTube 拒绝你的文件时该怎么办。
YouTube 支持带时间码的字幕,上传自己的字幕文件比 YouTube 自动生成的字幕准确得多,尤其是在涉及专业术语、人名,或者非英语音频的情况下。
上传字幕文件
- 打开 YouTube Studio,进入内容。
- 点击要添加字幕的视频,然后打开字幕标签页。
- 如果你要添加字幕的语言还没有出现在列表中,点击添加语言。
- 在该语言下方,点击“字幕”旁边的添加,然后点击上传文件。
- 选择包含时间信息(不要选“仅文字稿”:这个选项会去掉你的时间码,并要求 YouTube 重新同步,这就失去了提前做好时间轴文件的意义)。
- 选择你的
.srt或.vtt文件并发布。
为什么 YouTube 有时会拒绝文件
以下几种情况最容易导致上传失败:
- 时间码格式错误。 SRT 使用逗号(
00:00:01,000),VTT 使用点号(00:00:01.000)。混淆两者是上传被拒绝或内容错乱最常见的原因。 - 缺少
WEBVTT头部信息。 如果你上传的是.vtt文件,第一行必须是WEBVTT。缺少这一行,YouTube 会判定文件无效。 - 编码问题。 非 UTF-8 编码的文件(如果字幕是从较旧的软件导出的,这种情况很常见)可能导致带重音符号的字符或非拉丁文字显示为乱码。
- cue 时间重叠。 如果两个 cue 的时间范围有重叠,一些平台会悄悄丢弃其中一个。
SRT 还是 VTT:对 YouTube 来说有区别吗?
YouTube 两种格式都接受,所以实际上取决于你手头已经有什么。如果你用的是导出 SRT 格式的转录工具或剪辑软件(更常见的默认选项),不需要转换,直接上传即可。如果你已经有基于 Web 工作流程生成的 VTT 文件,同样可以顺利上传。
真正需要注意的情况是,如果你同时要用 HTML5 的 <video> 元素把同一份字幕嵌入到自己的网站上:浏览器在这种场景下专门要求 VTT 格式,所以最好两种格式都准备好。两者之间的转换纯粹是机械性的(时间码分隔符、头部信息、cue 编号),不需要手动重新调整时间轴。我们的SRT 转 VTT 转换器可以在浏览器里瞬间完成这项工作,不会向服务器上传任何内容。