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.md
source 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 参数

参数描述
--write-subs
写入字幕文件
--sub-format "srt"
字幕格式
--sub-lang "en,zh"
字幕语言
--sub-lang "en-auto"
自动生成的英文字幕
--no-playlist
不提取播放列表
--no-mtime
不修改文件时间戳

输出格式

# 输出文件命名规则
视频标题.语言.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 的服务条款

技术限制

  • 需要稳定的网络连接
  • 需要足够的存储空间
  • 处理大量视频时需要考虑性能

📞 故障排除

常见问题

  1. 字幕提取失败

    • 检查视频是否有字幕
    • 尝试不同的字幕格式
    • 确认网络连接正常
  2. 格式不支持

    • 更新 yt-dlp 到最新版本
    • 尝试使用备用提取器
    • 检查视频地区的字幕可用性
  3. 处理错误

    • 检查文件权限
    • 确保有足够的磁盘空间
    • 重试失败的提取

提示: 此技能仅适用于有字幕的 YouTube 视频。无字幕的视频将无法提取内容。