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 的服务条款
技术限制
- 需要稳定的网络连接
- 需要足够的存储空间
- 处理大量视频时需要考虑性能
📞 故障排除
常见问题
字幕提取失败
- 检查视频是否有字幕
- 尝试不同的字幕格式
- 确认网络连接正常
格式不支持
- 更新 yt-dlp 到最新版本
- 尝试使用备用提取器
- 检查视频地区的字幕可用性
处理错误
- 检查文件权限
- 确保有足够的磁盘空间
- 重试失败的提取
提示: 此技能仅适用于有字幕的 YouTube 视频。无字幕的视频将无法提取内容。