用途:当用户提供 YouTube 链接,或要求下载/获取/抓取 YouTube 转录文本、字幕、说明文字时,本技能用于从 YouTube 视频中下载字幕(转录文本)。
主要能力与流程:
- 先检测 yt-dlp 是否安装,未安装则按系统尝试自动安装:macOS 用 brew install yt-dlp,Linux(apt/Debian/Ubuntu)用 sudo apt update && sudo apt install -y yt-dlp,也可用 pip3 install yt-dlp 或 python3 -m pip install yt-dlp。安装失败则提示用户按 https://github.com/yt-dlp/yt-dlp#installation 手动安装。
- 下载前先列出可用字幕:yt-dlp --list-subs "YOUTUBE_URL",确认人工字幕、自动生成字幕及可用语言。
- 优先下载人工字幕:yt-dlp --write-sub --skip-download --output "OUTPUT_NAME" "YOUTUBE_URL";不可用时回退到自动生成字幕:yt-dlp --write-auto-sub --skip-download --output "OUTPUT_NAME" "YOUTUBE_URL"。两者都会生成 .vtt 文件。
- 可用 yt-dlp --print "%(title)s" "YOUTUBE_URL" 获取视频标题,用于生成文件名,并对特殊字符做替换清理。
- 后处理:将 VTT 去重并转为纯文本(示例使用 python3 脚本处理,去除 WEBVTT、Kind、Language、时间戳行及标签、实体转义,保留原始讲话顺序),最终保存为 .md 或 .txt;随后可选自动润色,去掉填充词、修正语法、分段加标题,宣称保持 100% 含义忠实,并清理临时 VTT 文件。
适用场景:需要 YouTube 视频文本内容用于阅读、分析或二次整理时;视频有字幕或自动字幕时。
限制:依赖 yt-dlp 和 Python;私人、年龄受限、地区封锁或无字幕的视频可能失败;自动字幕可能包含重复行,需去重;润色为脚本式规则处理,效果受字幕质量影响;输出目录默认 transcripts/,可自定义。