核心用法
该技能通过yt-dlp工具从YouTube视频提取现有字幕/自动字幕,支持多种输出格式和智能缓存机制。
主要功能:
- 优先获取人工校对字幕,自动回退到YouTube生成的自动字幕
- 输出格式可选JSON分段数据(默认)或纯文本(
--text) - 支持时间戳控制(默认带时间戳,
--no-ts移除) - 本地SQLite缓存加速重复查询
- 多语言选择(
--lang参数)
可靠性降级策略(当YouTube直接访问受限时):
1. YouTube内置字幕面板API(youtubei/get_transcript)
2. DownSub第三方服务
3. Noteey字幕API
4. 备用第三方转录服务(tubetranscript.com同款后端)
显著优点
- 多重回退机制:4层降级策略确保高可用性,即使YouTube反爬虫拦截也能获取字幕
- 隐私可控:第三方回退可禁用,纯本地执行时仅与YouTube服务器通信
- 性能优化:SQLite本地缓存避免重复下载相同视频字幕
- 路径安全:
--cookies和--cache参数严格限制在批准目录,防止目录遍历攻击 - 格式灵活:JSON模式便于程序处理,文本模式适合直接阅读或LLM输入
潜在缺点与局限性
- 依赖外部工具:必须预装
python3和yt-dlp,环境配置门槛存在 - Cookie管理负担:VPS/云服务器IP常被YouTube拦截,需手动维护
cookies.txt - 第三方隐私风险:启用回退时视频ID/URL可能发送至外部服务
- 仅提取现有字幕:无法为无字幕视频生成转录(非语音识别工具)
- YouTube政策依赖:若YouTube变更API或加强反爬虫,工具可能失效
适合人群
- 需要将YouTube视频内容转为文本进行摘要、分析或翻译的知识工作者
- 构建视频内容数据库的开发者/数据工程师
- 研究YouTube内容的学术用户
- 使用LLM处理视频内容的AI工作流构建者
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 隐私泄露 | 第三方回退服务可能记录视频偏好 | 禁用回退或仅处理公开视频 |
| 账号关联 | Cookie文件包含YouTube登录凭证 | 使用专用账号,文件权限设为600,永不提交至代码仓库 |
| 服务中断 | YouTube反爬虫升级 | 保持`yt-dlp`更新,准备备用Cookie方案 |
| 缓存膨胀 | SQLite数据库持续增长 | 定期清理`{baseDir}/cache/transcripts.sqlite` |使用建议
安全最佳实践:
- Cookie文件存放于
~/.config/yt-transcript/(项目外路径) - 生产环境使用环境变量
YT_TRANSCRIPT_COOKIES而非命令行参数 - 敏感视频处理时禁用第三方回退(检查脚本配置)
性能优化:
- 批量处理时保持默认缓存启用
- 仅需文本分析时使用
--text --no-ts减少数据量