OpenClaw-hot-skills-zh youtube-watcher-zh
通过 yt-dlp 提取 YouTube 视频字幕,支持视频摘要、问答和内容提取,仅适用于有字幕的视频
install
source · Clone the upstream repo
git clone https://github.com/L-LesterYu/OpenClaw-hot-skills-zh
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/youtube-watcher-zh" ~/.claude/skills/l-lesteryu-openclaw-hot-skills-zh-youtube-watcher-zh && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/youtube-watcher-zh" ~/.openclaw/skills/l-lesteryu-openclaw-hot-skills-zh-youtube-watcher-zh && rm -rf "$T"
manifest:
skills/youtube-watcher-zh/SKILL.mdsource content
YouTube 字幕提取器
通过 yt-dlp 提取 YouTube 视频字幕并进行内容分析
🎯 功能特性
- 📝 字幕提取 - 从 YouTube 视频中提取带时间戳的字幕
- 🎬 内容分析 - 基于字幕进行视频内容摘要
- ❓ 问答支持 - 根据字幕内容回答问题
- 🔍 内容搜索 - 在字幕内容中搜索特定信息
- 📊 统计分析 - 分析字幕的词汇、主题等统计信息
🚀 快速开始
1. 安装依赖
确保安装了 yt-dlp:
# Ubuntu/Debian sudo apt install yt-dlp # macOS (使用 Homebrew) brew install yt-dlp # 或通过 pip 安装 pip install yt-dlp
2. 基本使用
提取视频字幕:
# 提取单个视频字幕 yt-dlp --write-subs --sub-format "srt" "https://www.youtube.com/watch?v=VIDEO_ID"
📝 使用方法
提取字幕
# 提取字幕并保存为 SRT 格式 yt-dlp --write-subs --sub-format "srt" --sub-lang "en,zh" "YOUTUBE_URL" # 提取字幕并包含自动生成的字幕 yt-dlp --write-subs --sub-format "srt" --sub-lang "en,zh,en-auto" "YOUTUBE_URL"
字幕格式支持
- SRT - 标准字幕格式
- VTT - WebVTT 字幕格式
- ASS/SSA - 高级字幕格式
- JSON - 原始 JSON 数据
🔍 内容分析
视频摘要
基于字幕内容生成视频摘要:
# 提取关键字和主题 # 通过文本分析工具处理字幕内容
内容问答
根据字幕内容回答问题:
# 示例问题 "这个视频主要讲了什么?" "视频中提到了哪些关键概念?" "视频的主要内容分为哪几个部分?"
内容搜索
在字幕中搜索特定内容:
# 搜索关键词 grep "关键词" video.srt # 使用文本搜索工具 find "搜索词" in video.srt
⚙️ 配置选项
yt-dlp 参数
| 参数 | 描述 |
|---|---|
| 写入字幕文件 |
| 字幕格式 |
| 字幕语言 |
| 自动生成的英文字幕 |
| 不提取播放列表 |
| 不修改文件时间戳 |
输出格式
# 输出文件命名规则 视频标题.语言.srt 视频标题.语言.vtt 视频标题.语言.json
📊 字幕处理
字幕清理
- 去除重复条目
- 时间戳标准化
- 文本格式化
- 语言检测
内容分析
- 词汇统计 - 计算词频、关键词
- 主题提取 - 识别主要讨论话题
- 情感分析 - 分析内容的情感倾向
- 结构分析 - 识别内容结构和逻辑
🎬 实际应用
1. 视频研究
# 提取教育视频的主要观点 # 分析演讲者的主要论点 # 识别技术视频的关键步骤
2. 内容创作
# 基于字幕创建文章摘要 # 生成视频内容的文字版本 # 创建视频内容的索引目录
3. 学习辅助
# 将视频内容转换为文字笔记 # 创建视频内容的问答集 # 生成视频内容的思维导图
📁 文件管理
存储结构
workspace/ ├── videos/ │ ├── [视频ID]/ │ │ ├── video.srt # 字幕文件 │ │ ├── video.vtt # WebVTT 格式 │ │ ├── video.json # 原始数据 │ │ └── summary.txt # 内容摘要 └── processed/ ├── transcripts/ # 处理后的字幕 ├── summaries/ # 视频摘要 └── analysis/ # 内容分析
文件命名约定
- 使用视频 ID 作为主目录名
- 保留原始文件扩展名
- 添加处理时间戳避免覆盖
🔧 高级功能
批量处理
# 批量提取多个视频字幕 for video_id in "ID1" "ID2" "ID3"; do yt-dlp --write-subs --sub-format "srt" "https://www.youtube.com/watch?v=$video_id" done
自动化工作流
结合其他工具实现自动化:
# 字幕提取 + 内容分析 + 摘要生成 extract_and_analyze() { local url="$1" yt-dlp --write-subs --sub-format "srt" "$url" # 后续处理脚本 }
⚠️ 注意事项
限制条件
- 字幕可用性 - 仅适用于有字幕的视频
- 语言支持 - 取决于视频的字幕语言
- 版权限制 - 请遵守版权法和 YouTube 服务条款
性能考虑
- 大文件处理需要较多内存
- 网络连接质量影响下载速度
- 视频长度影响处理时间
🚨 使用限制
法律合规
- 仅用于个人学习和研究
- 不得用于商业目的
- 尊重内容创作者的版权
- 遵守 YouTube 的服务条款
技术限制
- 需要稳定的网络连接
- 需要足够的存储空间
- 处理大量视频时需要考虑性能
📞 故障排除
常见问题
-
字幕提取失败
- 检查视频是否有字幕
- 尝试不同的字幕格式
- 确认网络连接正常
-
格式不支持
- 更新 yt-dlp 到最新版本
- 尝试使用备用提取器
- 检查视频地区的字幕可用性
-
处理错误
- 检查文件权限
- 确保有足够的磁盘空间
- 重试失败的提取
提示: 此技能仅适用于有字幕的 YouTube 视频。无字幕的视频将无法提取内容。