如何下载 YouTube 字幕并转换为任意格式 | AllSubConverter
YouTube 如何存储字幕
当你在 YouTube 上开启字幕时,看到的文字是以 WebVTT — 也就是驱动整个现代网络字幕的 VTT 格式 — 传递的。无论视频字幕是人工录入的、由 YouTube 语音识别自动生成的,还是实时翻译的,你的浏览器获取的底层文件几乎总是 VTT。这对想复用这些字幕的人来说是个好消息:你不需要转录任何东西,只需下载已有的内容。
问题在于格式。VTT 非常适合网络播放,但大多数离线工具、视频编辑器和媒体播放器期望的是别的格式 — 通常是 SRT。所以真正的工作流分两半:先把字幕文件从 YouTube 弄出来,然后转换成你的项目实际需要的格式。本教程涵盖了这两部分:三种可靠的下载方法和一条通往 SRT、ASS、LRC 等任意目标格式的清晰转换路径。
三种可靠的 YouTube 字幕下载方法
方法一:浏览器扩展
最简单的途径是使用专门抓取字幕的浏览器扩展。这些扩展会在 YouTube 页面上添加一个下载按钮,大多数还允许你选择语言轨道和输出格式。这是快速获取单个视频字幕的最佳选择,无需碰命令行。寻找那些支持导出 VTT 或 SRT 的扩展,并能在人工编辑和自动生成轨道之间切换。
方法二:命令行 yt-dlp
在可靠性和控制力方面,yt-dlp — youtube-dl 的活跃维护后继者 — 几乎无可匹敌。它是一个命令行工具,但字幕相关的命令很短,而且可以毫不费力地扩展到播放列表和频道。要仅下载某个视频的英文字幕而不下载视频本身,运行:
yt-dlp --write-subs --write-auto-subs --sub-lang en --skip-download "https://www.youtube.com/watch?v=VIDEO_ID"
这会在当前文件夹中生成一个或多个 .vtt 文件。--write-auto-subs 参数会在没有人工字幕时拉取 YouTube 的自动生成字幕,你还可以添加 --sub-format 来指定格式(如果 YouTube 提供多种选项的话)。
方法三:在线下载工具
如果你无法安装软件或扩展,第三方"粘贴链接"网站可以帮你获取字幕轨道。它们对一次性任务很方便,但会将视频链接(有时还有你的操作记录)发送到第三方服务器,而且有些会以可能引入错误的方式重新格式化文件。把它们用于快速任务,而对于你打算长期保留的内容,优先使用你能自己掌控的工具。
✓小提示: YouTube 通常提供两种字幕 — 人工编辑的和自动生成的。人工编辑的轨道准确度远高于自动版,时间同步也更干净,所以在退而使用自动版本之前,务必先检查是否有人工编辑的轨道。
完整工作流:先下载,再转换
拿到 VTT 文件后,转换就是轻而易举的事了。以下是从 YouTube 视频到项目可用字幕文件的完整流程。
- 找到一个带字幕的视频。 打开视频并确认目标语言有字幕。如果 CC 按钮存在且提供你需要的语言,就说明存在可下载的字幕轨道。
- 下载字幕轨道。 使用扩展、
yt-dlp或在线下载工具将字幕保存为.vtt文件。 - 转换为目标格式。 将 VTT 文件投入 VTT 转 SRT 转换器(或其他你需要的目标格式)。转换在浏览器中运行,文件永远不会离开你的设备。
- 下载并检查结果。 保存转换后的文件,在文本编辑器中打开或与视频一起加载,确认时间同步正确。
为什么要将 VTT 转为 SRT?
大多数离线使用场景需要的是 SRT 而非 VTT。VLC、MPV 等桌面媒体播放器以及大多数手机播放器原生读取 SRT,但会忽略或错误处理 VTT。视频编辑软件通常能干净地导入 SRT 却拒绝 VTT。如果你在归档字幕,SRT 更简单的结构(没有网络专属的提示信息)也更便于手动存储和编辑。
转换本身是一个小而精确的变换:WEBVTT 头部被移除,序号被加回,每个时间戳中的句号变成逗号。我们的转换器自动处理所有这些,同时将时间精度保持到毫秒。
修复常见问题
- 自动字幕逐渐失同步。 YouTube 机器生成的时间是近似的,所以在长视频上预期会有轻微偏移。人工编辑的轨道(如果有的话)几乎总是同步更好。
- 出现奇怪字符或乱码。 重新检查文件是否以 UTF-8 读取。大多数 VTT 下载已是 UTF-8,但少数旧版下载器会错误地重新编码。
- 下载了多个语言轨道。 当视频有多种字幕语言时,用
--sub-lang(在 yt-dlp 中)或扩展中的轨道选择功能只抓取你需要的那一种。 - 文本中出现颜色和样式标签。 VTT 可以携带 SRT 无法表达的内联样式。好的转换器会干净地去除这些标签,只留下纯文本和时间码。
- 转换后换行看起来不对。 YouTube 为自己的播放器硬换行字幕。你通常可以保持原有换行,或者根据目标播放器重新排列。
其他目标格式呢?
SRT 是最常见的目标,但不是唯一的。如果你想为电影项目添加样式字幕,将 VTT 转为 ASS 可以让你添加字体、颜色和定位。如果你在从 MV 中提取歌词供 Winamp 或 foobar2000 这样的播放器使用,转为 LRC 可以获得这些应用所需的轻量 [mm:ss.xx] 标签格式。同一个下载的 VTT 就是它们所有人的起点。
关于隐私
字幕文件可能包含敏感内容,一旦字幕离开你的设备,你就失去了对它的控制。使用你本地运行的工具(如 yt-dlp)下载,并在浏览器中转换,可以让整个工作流留在你的机器上 — 没有上传,没有第三方服务器,事后也不需要清理任何痕迹。
准备转换
下载 YouTube 字幕给你一个 VTT 文件;转换则给你一个你的工具实际能用的东西。最常见的下一步是把这个 VTT 变成通用的 SRT 格式,在浏览器中只需几秒钟。
几秒钟内将你下载的 YouTube 字幕转为 SRT。
立即转换 VTT 为 SRT →