用途:从 YouTube 视频 URL 提取字幕或转录文本,并保存为本地文件。输入为 YouTube 链接,支持 youtube.com/watch?v=、youtu.be/ 和 youtube.com/shorts/ 格式;若未提供链接,会检查对话上下文中的 YouTube 链接。
主要能力与用法:
- 优先尝试命令行提取。先执行 which yt-dlp 检查工具是否可用。可用时用 yt-dlp --cookies-from-browser=chrome --get-title "[VIDEO_URL]" 获取标题,再用 yt-dlp --cookies-from-browser=chrome --write-auto-sub --write-sub --sub-lang zh-Hans,zh-Hant,en --skip-download --output "<Video Title>.%(ext)s" "[VIDEO_URL]" 下载字幕。建议始终加 --cookies-from-browser 以避免登录限制,默认 chrome;若浏览器报错,需用户指定可用浏览器(如 firefox、safari、edge)后重试。
- 下载的 .vtt/.srt 文件会去除头部、样式标签和重复行,转换为每行“时间戳 字幕文本”的纯文本,保存为 <Video Title>.txt。
- 回退方案:当 yt-dlp 缺失或失败时,使用 Chrome DevTools MCP 通过浏览器 UI 自动化提取。打开视频页、读取页面快照、点击描述区的“...more/...更多/Show more”展开,再点击“Show transcript/显示转录稿/内容转文字”打开转录面板。为降低开销,用 evaluate_script 执行脚本读取 ytd-transcript-segment-renderer 节点,拼接时间戳与文本;若返回 BUFFERING 则等待数秒重试,最多 3 次。完成后保存文件并用 close_page 释放资源。
输出要求:字幕文件保存到当前工作目录,文件名格式为 <Video Title>.txt,内容每行为“时间戳 字幕文本”;完成后报告文件路径、字幕语言和总行数。
限制:若 yt-dlp 与 Chrome DevTools MCP 均不可用,则无法继续,需用户安装 yt-dlp 或配置 Chrome DevTools MCP。若视频无可用转录稿,会提示并停止。其他错误(如视频不可用)会转入浏览器自动化步骤。