视频字幕提取 MCP 教程:下载 YouTube、B 站字幕,整理 SRT 与文字
看 YouTube 上的课程、B 站里的教程,想把讲解保存为文字,或者下载一份字幕配合视频阅读,可以让 AI Agent 调用视频字幕提取 MCP:先找到视频已有的字幕轨道,再下载字幕文件,整理成带时间戳的段落或纯文字正文。
哼哼猫 MCP 的 extract_subtitles 工具支持 YouTube 与 B 站(哔哩哔哩)视频字幕提取。本文介绍如何选择字幕语言、下载 SRT/VTT,以及将 B 站的 BCC JSON 转成常用字幕格式。
已有字幕提取和音视频转文字,有什么区别?
两种方式都能帮助你阅读视频内容,处理的来源不同:
| 手中的内容 | 适合的方式 | 结果来自哪里 |
|---|---|---|
| YouTube、B 站视频有可用字幕轨道 | extract_subtitles |
平台已有的人工或自动字幕 |
| 视频未取得可用字幕,但有声音 | 音视频转文字 MCP | 对音轨进行 ASR 语音识别 |
| 电脑上的录音、会议或播客文件 | 音视频转文字 MCP | 上传音频或提交文件直链后识别 |
字幕提取读取已有字幕,ASR 则重新识别声音。 如果你需要保存平台字幕,先提取字幕轨;如果需要识别没有字幕的视频,可以按音视频转文字 MCP 教程处理。
第一步:连接 MCP,确认字幕工具可用
按哼哼猫 MCP 接入说明创建 API Key,并在 WorkBuddy、Codex 等 Agent 中连接下面的服务地址:
https://api.meowload.net/mcp
工具列表中应能找到 extract_subtitles。想让 Agent 先了解接入方法,也可以让它调用 get_docs:
{
"page": "mcp",
"lang": "zh"
}
get_docs 用于读取接入文档;获取字幕文件时,仍需调用 extract_subtitles,再读取它返回的下载地址。
第二步:复制提示词,下载视频字幕并整理正文
把下面的最后一行换成你的 YouTube 或 B 站视频链接:
请使用哼哼猫 meowload MCP,提取下面视频的字幕。
1. 调用 extract_subtitles,取得全部可用字幕轨道。
2. 列出 language_name、language_tag 和可下载的格式。
优先选择中文字幕;没有中文字幕时使用视频原语言。
同一语言有多条轨道时保留选项,让我确认,不直接合并。
3. 及时下载选中的字幕文件,并保留原格式。
有 SRT 地址时直接保存 SRT;只有其他格式时,
根据实际内容转换为 SRT,保留原有文字和时间轴。
4. 再生成一份纯文字正文,去掉字幕序号和时间标记,
按原顺序整理,不根据标题补写内容。
5. 另列内容要点,并说明本次使用的字幕语言和轨道。
如果没有取得字幕,先告诉我结果,再由我决定是否语音识别。
视频链接:<粘贴 YouTube 或 B 站视频链接>
这段提示词把字幕文件、正文和内容摘要分开保存。字幕用于定位原视频,正文便于阅读,摘要则是 Agent 在取得文字后做的整理。
要把文件保存到电脑,可以再补充保存目录,并使用具备 HTTP 下载和本地文件保存能力的 Agent。
工具返回了哪些字幕信息?
调用 extract_subtitles 时,只需要视频链接:
{
"url": "<YouTube 或 B 站视频链接>"
}
返回结果中的 subtitles[] 是字幕轨道列表,每条轨道包含语言信息和 urls[] 下载地址。下面是裁剪后的结构示例,地址为示意:
{
"subtitles": [
{
"language_name": "English",
"language_tag": "en",
"urls": [
{ "format": "srt", "url": "https://subtitles.example.com/video.en.srt" },
{ "format": "vtt", "url": "https://subtitles.example.com/video.en.vtt" }
]
}
]
}
读取结果时,注意两点:
- 同一语言可能有多条字幕。 人工字幕和自动字幕可能使用相同的
language_tag,不能只按语言去重。选择时结合language_name查看轨道标注。 - 工具返回的是字幕地址。 需要继续下载并读取文件,才能得到字幕正文;视频标题和简介不能代替字幕内容。
各格式按用途选择:
| 格式 | 适合的用途 |
|---|---|
| SRT | 保存时间轴,导入常用播放器或剪辑工具 |
| VTT | 网页视频字幕和时间文本轨道 |
| JSON3 | 对 YouTube 字幕做程序化处理 |
| JSON(BCC) | 读取 B 站字幕条目,再整理文字或转换格式 |
具体有哪些格式,以当前轨道的 urls[] 为准。字段说明见哼哼猫字幕提取文档。
B 站字幕怎样转换为 SRT 或 VTT?
B 站返回 BCC JSON 下载地址。Agent 读取后,根据 body[] 中每条字幕的 from、to 和 content 转换;起止时间以秒为单位。
例如,原始条目是:
{
"body": [
{ "from": 1.2, "to": 3.8, "content": "今天介绍如何整理视频字幕。" }
]
}
转换为 SRT 后是:
1
00:00:01,200 --> 00:00:03,800
今天介绍如何整理视频字幕。
SRT 使用序号和逗号分隔的毫秒时间;VTT 文件以 WEBVTT 开头,时间中的毫秒使用小数点。转换时保留原条目的顺序、起止时间与文字,按格式输出即可。WebVTT 的格式可参考 W3C 规范。
这一步由 Agent 读取 JSON 中的字幕内容,生成 SRT 或 VTT 文件。如果只想得到文字,按顺序读取 content 即可。
B 站多 P 视频请保留原链接中的 ?p= 参数,确保处理的是你要阅读的那一集。字幕链接有时效,B 站链接通常约 30 分钟后失效,取得后及时下载。
字幕提取 MCP 常见问题
能直接提取中文字幕或英文字幕吗?
可以从实际返回的轨道中选择中文、英文等语言,再下载对应文件。自动生成的字幕也会列出;整理引用或课程笔记时,可以回到原视频核对专有名词和关键语句。
视频画面有字幕,为什么没有取得字幕文件?
画面中显示的文字,可能已经嵌入视频画面,并不一定有独立的字幕轨道。如果有讲话,可以通过 ASR 识别音轨,再生成文字与时间戳。
没有可用字幕时怎么办?
字幕列表为空或工具提取失败时,先确认视频链接与分 P 是否正确。如果改用语音识别,可以先按视频提取与下载 MCP 教程取得音频或带声音的视频地址,再创建转文字任务。完整流程见视频链接提取文案教程。
怎样整理一组课程或播放列表的字幕?
先按批量视频下载 MCP 教程取得列表中的视频链接,再逐条提取可用字幕,按视频标题和顺序保存。这样每份字幕、正文和笔记都能对应到原视频。