全新推出 BillionVerify:以 1% 的成本验证数十亿邮箱。 试用 BillionVerify

transcript.im
← 博客

YouTube 字幕提取下载:TXT、SRT、VTT

作者 LeoYouTube

YouTube 字幕提取可存成 TXT、SRT 或 VTT,不用保存视频也能下载字幕。

YouTube 字幕提取下载:TXT、SRT、VTT

所谓 YouTube 字幕提取,就是把 YouTube 视频中说出的话保存成一份文件,这样即使观看页面已经不在了,你也能随时打开它。YouTube 自带的字幕视图——官方在查看字幕的帮助页面里做了说明——是一条可以滚动的字幕行列表。你可以一边跟着读,一边点某一行让播放器跳过去。但那篇帮助文章并没有讲如何得到一个能保存下来的文档。本页讲的就是这份文件。

这个文件也不等于视频。MP4 保存画面,MP3 保存声音,两者都不是原话。这个文件也和“保存播放器叠加在画面上的字幕轨”不是同一件事。后者是 YouTube 字幕下载负责的。而这里要处理的对象是字幕:把说过的话逐行写下来,格式则根据你接下来要做什么来定。

“下载字幕”是什么意思

本文所说的“下载”,指的是把说过的话存成一个有名字的文件。视频本身带有创作者上传的字幕轨时,文字就来自它;没有时,则来自对语音的转录。无论哪种方式,结果都是说过的话的先后顺序,而不是观看页面的副本。

下载的转录是带时间戳的口语文字文本文件,不是视频文件

那个页面上有好几样东西看起来相关,却都不属于这个文件。简介是创作者写的说明文字。章节(如果视频有的话)是导航标记。画面里的标题卡和烧录进画面的字幕都是图像像素,不会被当作文字读取。评论是别人写的内容。文件会跳过这些,只保留说出来的话。

那篇帮助文章讲的是阅读和跳转,而且只针对已经有字幕的视频。本页不再重复打开那个视图的操作。如果视频从来没有字幕,面板里就一行也没有,但仍然可以通过转录音频来生成文件。在播放器旁边阅读,标签页一关就结束了。而 YouTube 字幕提取得到的,是到第二天依然还在的那份副本。

文件有多清楚,完全取决于它来源的语音。安静的出镜讲解音频,比背景里还压着车流的街头采访要好读得多。几个人同时说话时,会被并成一行。字幕轨里从没拼对过的名字,不会因为你把它导出就变正确。要引用哪一句,先核对清楚。

粘贴的 URL 必须是公开能打开的。私享上传、已被删除的视频,或仅限会员观看的上传,都没法靠粘贴生成文件。YouTube 要确认观看者年龄后才肯放行的视频,或在某个地区无法播放的视频,同样会卡在这一步。在 YouTube Studio 里管理自己上传的视频是另一回事,而且只涉及你自己掌控的频道里的视频。本文只讨论别人已经能公开观看的视频。

当这些文字离开浏览器标签页时,下载才算完成。在那之前,你仍然只是在 YouTube 上阅读。之后,你就得到了一个可以移动、重命名,并用其它程序打开的文件。

复制与导出

如果屏幕上的一句话就够用,你多半会直接复制。在电脑上框选面板,能复制下什么全看浏览器允许到什么程度。碰到讲座,这种选取并不可靠:选到一半就断了,某一行被漏掉,顺带选中的时间戳顺序还得看页面当时是怎么排的。在手机上选中整个面板就更麻烦了。复制第二句,第一句就没了。而且没有任何东西以文件名保存下来。

导出则是在这些行已经作为字幕存在之后才开始的。YouTube 字幕提取会根据这些行写成一个文件。你选的格式,是给接下来要打开它的程序用的,而不是为了配合浏览器的选取。对做好的字幕执行复制,和使用 TXT 导出,都只拿走文字,把时间留下。阅读时,时间戳留在屏幕上;当你要的是带开始和结束时间的字幕条目时,它们会保留在 SRT 和 VTT 里。

当你要留下的就是那些文字时,如何从 YouTube 下载字幕:

  1. 在公开的观看页面上,复制视频的 URL。
  2. 粘贴到 transcript.im。一个 URL,一份字幕。
  3. 视频上已有的字幕轨会被当作来源读取。如果没有字幕轨,就改为对语音进行转录。每一段话都会变成一行。
  4. 保存文件。TXT 保存的是文字本身。当下一个程序需要开始和结束时间时,就保存成 SRT 或 VTT。Markdown 和 JSON 是另外两种保存方式,分别给笔记应用或脚本使用。TXT、SRT 和 VTT 分别长什么样,见下文。

这个顺序很重要。得先有这些行,才谈得上文件。那篇帮助文章到阅读和跳转就结束了,所以导出是在你离开那个视图之后才发生的。

一段短视频和一场两小时的讲座,走的是同一条路。讲座恰恰是手动复制最容易出问题的地方,因为选区很长,漏掉的内容在你真正需要那一行之前根本看不出来。下载得到的是完整的先后顺序,而不是你勉强选中的那一段。

把手动复制当成还停留在观看页时顺手抓一句的办法。把导出当成保留视频原文的方式。如果下一步是要放进文档里引用、给自己的剪辑配字幕,或者一段下周还要再搜的文字,那你要的就是文件。

导出 TXT、SRT 或 VTT

按任务挑格式,别按习惯挑。覆盖阅读和带时间字幕的三种格式是 TXT、SRT 和 VTT。下面的示例只用一句虚构的字幕,好让格式看得清楚。真正的文件用的是视频里的时间,而且每一句都有对应的字幕条,不是只有一条。

选择转录格式:TXT 仅文字,SRT 用于视频剪辑,VTT 用于网页播放器

文件里面有什么什么时候打开它
TXT只有文字,每行一条字幕,没有时间你要阅读、引用或粘贴原文时
SRT带编号的字幕条,毫秒前是逗号编辑器要 SubRip 文件时
VTT有 WEBVTT 标头,毫秒前是句点网页播放器要 WebVTT 时

TXT 就是纯文字。大约在视频第 1 分钟说出的一句话,在 TXT 里就只是那句话,后面跟一个换行。你在阅读器里看到它旁边标的开始时间,不会写进 TXT。做笔记、做引用、粘贴到文档或聊天窗口,要的就是它。如果播放器或编辑器需要让这句字幕在某个时刻显示出来,那它就不对。

SRT 是大多数编辑器已经能导入的带时间格式。同一句虚构的字幕看起来是这样:

1
00:01:02,000 --> 00:01:05,200
第 1 分钟处的那句示例字幕。

数字是字幕条序号。箭头分隔开始时间和结束时间。逗号是 SubRip 时间戳的一部分,不是句子里的停顿。后面每一条字幕之间用一个空行隔开。

VTT 为网页播放器承载同样的字幕条。标头是必需的,毫秒用句点:

WEBVTT

00:01:02.000 --> 00:01:05.200
第 1 分钟处的那句示例字幕。

把逗号和句点对调,有些播放器就会拒绝这个文件。文字没变,变的只是容器。如果编辑器说它要 SRT,就别把 VTT 塞给它,还指望导入能宽容。

结束时间是这行自己的结尾,会做修剪,好让它不撞进下一行。字幕轨,尤其是自动生成的,有时会给某一行一个与下一行重叠的时长。播放器如果同时遵守两个区间,就会一次显示两条字幕。导出会把靠前的那条剪短,让它在下一行开始时结束,而且绝不会早于自己的开始时间。你仍然能拿到每一句。不会出现两行争同一个时刻。

Markdown 和 JSON 是这些同样的字幕的可选形态。Markdown 在每句话前面放一个分秒标记,在笔记应用里很方便。JSON 保留原始分段,在脚本里很方便。当目的地是播放器或编辑器时,两者都不能替代 SRT 或 VTT。

要把 YouTube 字幕提取结果导出为 TXT、SRT 或 VTT,先用公开链接生成字幕,再选格式。之后编辑文件不会把任何改动写回 YouTube 视频。修改只留在你的副本里。如果你真正需要的是把字幕轨当成给播放器用的字幕文件,而不是把原文当成文档,那是字幕下载器的活儿,不是把这里的流程再走一遍。

复用下载好的字幕

一个你从不打开的文件不值得保存。复用是很平常的事,格式本来就该配合它。

一个人查看笔记本电脑上带时间戳的已下载 YouTube 转录,旁边放着笔记本

需要指回某个时间点的课堂笔记,不该只靠 TXT 来建。TXT 是句子。字幕条的时间活在 SRT 或 VTT 里,在屏幕上则一直显示到你关闭阅读器。把那个时间写在笔记里对应的句子旁边。一句你以后还要找回来的话,是在文本里搜索,这比在长长的上传视频里拖动播放头强。视频本身不是一份你能搜索的文档。

给自己的剪辑配字幕的剪辑师要的是 SRT 或 VTT,然后把那个文件导入编辑器。这些字幕条只是起点的轨道,不是已经定稿的成品。人名、口音和重叠的说话仍然需要通读一遍。如果你跳过这次通读,字幕稿里一个错词就会变成屏幕上一个错的字幕。导出这一步没有任何东西替你核对文字。

NotebookLM、ChatGPT、Claude、Gemini、Kimi 和 Manus 接受的是文本,不是观看页。把 TXT 粘贴进你已经在用的那个。在 transcript.im 上,同样的字幕还可以在采信一条有杂音的字幕前先过一遍 Clean;笔记需要另一种语言时过 Translate;长演讲需要更短的概览时过 Summary、Core Points、Chapter Summary、Study Notes 和 MindMap。这些结果和文件并排放着。它们不是另一份 TXT,当目的地是编辑器时,也不能替代 SRT 或 VTT。

引用任何句子时都保留它的时间,否则你就没法重新打开正确的时刻。在有杂音的录音进入编辑器、变成 SRT 或 VTT 之前,先通读一遍。文件不会把一个错词标出来,它只会把它显示出来。

如果只是边看边读,那留在播放页就够了。当这些文字需要比标签页活得更久时,就做一次 YouTube 字幕提取,把它存成下个程序能直接打开的格式。

转录生成器

把任何视频变成文字

粘贴 YouTube、TikTok 或 Instagram 链接,即可阅读逐行带时间戳的转录文本。

可导出为 TXT、SRT 或 VTT。