Mac 上怎么下载 YouTube 字幕:存成 SRT,或直接转成纯文字稿

更新于 2026 年 10 月 · 阅读约 6 分钟 · 含免费的 yt-dlp 命令
太长不看:只想看看、摘几句,用 YouTube 自带的「内容转文字」(在视频简介里),免费,但只能复制。要 SRT 字幕文件,免费的 yt-dlp 一条命令就行。不想开终端,就用 Vidnip:检测视频后,在字幕菜单里点「只下载字幕(.srt)」或「只下载文字稿(.txt)」。文字稿去掉了时间轴,合并了重复的行,拿来做笔记、交给 AI 总结正合适;而且只下字幕不占免费额度。

先看清楚:这个视频有哪种字幕

能下载的是字幕轨,也就是播放器上的字幕(CC)按钮能打开、关掉的那种。如果字幕是印在画面里的(关不掉),它只是画面的一部分,任何下载工具都拿不到文字。

YouTube 上的字幕轨有三种:

四种方法一览

方法要花钱吗能得到什么适合
YouTube 自带的「内容转文字」免费网页上的整段文字,自己选中复制偶尔看一个视频、摘几句
yt-dlp 命令免费SRT 文件,整个播放列表也能一起下会用终端
在线下载网站、浏览器扩展多数免费,有广告SRT 或 TXT偶尔用一次
Vidnip只下字幕不占免费额度SRT,或去掉时间轴的 TXT,点两下经常用、不想开终端

1. YouTube 自带的「内容转文字」:免费,只能复制

  1. 在浏览器里打开视频,点简介末尾的「...更多」把简介展开。
  2. 往下找到「转写文稿」一栏,点「内容转文字」。
  3. 视频旁边会打开转写文稿,跟着播放滚动,点任意一句就跳到那个时间点。要文字就直接选中复制。

按钮名字跟着 YouTube 的界面语言走:英文界面是 Show transcript,日文界面是「文字起こしを表示」。

哪里不方便:没有字幕的视频没有这一栏;一次只能一个视频;拿不到 SRT 文件,长视频要一路往下拖着选。

2. yt-dlp:免费,一条命令存成 SRT

yt-dlp 是开源的命令行下载工具。用 Homebrew 装上它和 ffmpeg(转换字幕格式要用):

brew install yt-dlp ffmpeg

# 先看这个视频有哪些字幕:
# 「Available subtitles」下面是人工字幕,「Available automatic captions」下面是自动字幕
yt-dlp --list-subs "视频地址"

# 只下人工字幕,存成 SRT,不下视频
# (简体中文有的视频是 zh-Hans,有的是 zh-CN,都写上;视频没有的语言会自动跳过)
yt-dlp --skip-download --write-subs --sub-langs "en,zh-Hans,zh-CN" --convert-subs srt "视频地址"

# 只有自动生成的字幕时:下原声的那一条(代码以 -orig 结尾)
yt-dlp --skip-download --write-auto-subs --sub-langs ".*-orig" --convert-subs srt "视频地址"

--skip-download 表示不下视频;--sub-langs 填语言代码,用逗号隔开,也可以写规则(.*-orig 就是「所有原声自动字幕」);--convert-subs srt 把 YouTube 给的 VTT 转成 SRT。文件存在终端当前所在的文件夹,名字是「视频标题 [视频 ID].语言代码.srt」。把地址换成播放列表的地址,列表里每个视频的字幕都会下下来。

限流提醒:YouTube 对字幕请求有频率限制,自动翻译的字幕最严:同一个视频拿到一种翻译以后,几分钟内再要别的翻译,基本都会返回 429。一次少要几种语言,下播放列表时加上 --sleep-subtitles 5,被拒了就等几分钟再来;原声字幕一般不受影响。

3. Vidnip:点两下,存成 SRT 或纯文字稿

不想开终端,Vidnip 把同样的事做成了两个菜单项:

  1. 复制视频网页的地址,粘贴到 Vidnip 顶部的地址栏,按回车或者点「检测」。YouTube 一般要 10~20 秒。
  2. 「检测到的视频」下面会出现视频卡片。点卡片右侧的字幕按钮(对话气泡图标),菜单里列着这个视频的全部字幕轨:「人工字幕」「自动生成」,还有「自动翻译」子菜单(常用语言排在前面,其它的在「全部…」里)。勾上想要的语言;不勾也行,Vidnip 会按 设置 → 字幕 里的「首选语言」挑一条。
  3. 在同一个菜单的最下面,点「只下载字幕(.srt)」或「只下载文字稿(.txt)」。也可以在卡片上点右键,选「只下载字幕」(右键这一项只出 .srt)。

下载列表里会多出一行,带「字幕」标签,显示「正在获取字幕…」,一般很快就好。文件存在下载文件夹里(默认是「下载」,窗口底部可以改),名字是「视频标题 [字幕].语言代码.srt」,比如 … [字幕].en-orig.srt;勾了几种语言,就有几个文件。英文界面下,标记是 [Subtitles]。

在线下载网站和浏览器扩展也能下字幕,偶尔用一次没问题。注意两点:这类网站大多有广告和跳转;扩展常常要求读取你访问的所有网站,装之前看清权限。它们同样会碰到 YouTube 的限流。

SRT 怎么转成纯文字

SRT 里每一句都带序号和起止时间,像这样:

12
00:01:05,200 --> 00:01:08,900
今天我们来聊聊
怎么把字幕存下来

Vidnip 的「只下载文字稿(.txt)」会在本机把它转成纯文字:去掉序号和时间轴,去掉 <i> 这类样式标签,把自动字幕里滚动重复的行合并掉,一行一句,UTF-8 编码;转好后只留 .txt。

手上已经有 SRT 文件,也可以用 macOS 自带的工具,在终端里一行转好:

tr -d '\r' < "字幕.srt" | sed -E -e '/-->/d' -e '/^[0-9]+$/d' -e 's/<[^>]*>//g' -e '/^[[:space:]]*$/d' | uniq > "文字稿.txt"

依次是:去掉 Windows 换行符、删时间轴、删序号、去标签、删空行,最后用 uniq 把相邻的重复行合并掉(自动字幕是滚动显示的,同一句会出现两三次)。唯一的副作用:台词里单独成行的纯数字(比如只念了一个年份)也会被当成序号删掉。

拿到文字稿以后

下载不了?几种常见情况

使用与版权:字幕和文字稿是视频作品的一部分,版权归原作者。只下载自己的视频、开放授权的视频,或者用于个人学习和笔记;不要把整份字幕或文字稿转发、再发布。YouTube 的服务条款对下载内容有限制,用之前请确认你的用途。

常见问题

YouTube 字幕怎么下载成 SRT 文件?

三种办法:用免费的 yt-dlp 命令,加上 --skip-download --write-subs --convert-subs srt(只有自动字幕时把 --write-subs 换成 --write-auto-subs);用 Vidnip,检测视频后在字幕菜单里点「只下载字幕(.srt)」;或者用在线下载网站。YouTube 自带的「内容转文字」只能复制文字,拿不到 SRT 文件。

下载字幕要钱吗?会占 Vidnip 的免费额度吗?

yt-dlp 和 YouTube 自带的「内容转文字」都免费。Vidnip 的「只下载字幕」和「只下载文字稿」也不占免费额度,前 3 个免费视频用完以后照样能下。

SRT 和 TXT 有什么区别?

SRT 每一句都带序号和起止时间,播放器能加载,也能看出哪句话在第几分钟。TXT 只有文字,没有时间轴,适合阅读、搜索和交给 AI 总结。Vidnip 的 TXT 还会把自动字幕里滚动重复的行合并掉。

视频没有中文字幕,能下中文的吗?

如果 YouTube 给这个视频提供自动翻译,可以。在 Vidnip 字幕菜单的「自动翻译」里勾 Chinese (Simplified),或者在 yt-dlp 里用 --write-auto-subs --sub-langs zh-Hans。这是机器翻译,质量一般;YouTube 对它限流最严,一次没拿到就过几分钟再试。

为什么有的语言没下下来?429 是什么意思?

429 表示 YouTube 暂时限制了请求次数,自动翻译的字幕最容易碰到。等几分钟再下缺的那几种,一次少要几种语言;用 yt-dlp 下播放列表时可以加 --sleep-subtitles 5 放慢速度。原声字幕一般不受影响。

画面里印着的字幕能下载吗?

不能。那种字幕是画面的一部分,没有单独的字幕文件,只能用文字识别或语音识别重新生成。判断方法:能用播放器的字幕(CC)按钮关掉的,才是能下载的字幕轨。

下载的字幕存在哪里?

Vidnip 存在下载文件夹里(默认是「下载」),文件名是「视频标题 [字幕].语言代码.srt」,比如 en-orig 表示英文原声自动字幕;勾了几种语言就有几个文件。yt-dlp 默认存在终端当前所在的文件夹。

字幕和文字稿,点两下就有

在 Vidnip 里检测视频,字幕菜单最下面就是「只下载字幕(.srt)」和「只下载文字稿(.txt)」。只下字幕不占免费额度。

下载 Vidnip for Mac
macOS 14+ · Apple 芯片 · 已通过 Apple 公证
YouTube 是 Google LLC 的商标。Vidnip 与 Google、YouTube 没有关联,也未获得其认可。