介绍
# tube-summary
在 YouTube 上搜索任意主题的视频,然后使用字幕提取并总结其内容。
## 快速开始
### 步骤 1:搜索视频
当被问及某个主题时,搜索 YouTube 并列出前 10 个结果:
```bash python3 scripts/youtube-search.py "your search query" ```
这将返回一个编号的视频列表,其中包含标题、频道和观看次数。
### 步骤 2:用户选择一个视频
用户通过编号选择一个视频(例如,输入“3”选择第三个视频)。
### 步骤 3:下载字幕
使用 yt-dlp 从选定的视频中提取英文字幕:
```bash yt-dlp --write-subs --sub-langs en --skip-download "VIDEO_URL" ```
这将在不下载视频的情况下创建一个 `.en.vtt` 字幕文件。
### 步骤 4:处理与总结
使用字幕处理器进行分析和总结:
```bash python3 scripts/process-subtitles.py "path/to/subtitle-file.vtt" ```
这将生成: - **关键主题 (Key Topics)**:视频中涵盖的主要主题 - **摘要 (Summary)**:内容的简洁 2-3 段描述 - **时间戳 (Timestamps)**:带有上下文的显著时刻 - **关键引用 (Key Quotes)**:演讲者的重要陈述
## 工作流程
1. **搜索** → `youtube-search.py "<topic>"` → 显示前 10 个视频 2. **用户选择** → 例如,“Video 5” 3. **提取 URL** → 从搜索结果中获取 4. **下载字幕** → `yt-dlp --write-subs --sub-langs en --skip-download "URL"` 5. **处理** → `process-subtitles.py "subtitle.vtt"` 6. **展示** → 带有关键要点的格式化摘要
## 先决条件
- `yt-dlp`(安装:`pip install yt-dlp`) - `requests`(用于 YouTube 搜索回退) - Python 3.7+
## 注意事项
- 如果 YouTube 搜索 API 不可用,回退机制将使用 requests 进行网页抓取 - 如果字幕不是人工创建的,则可能是自动生成的 - 某些视频可能没有英文字幕 - 字幕文件将在运行 yt-dlp 的同一目录中创建
## 示例用法
``` User: "Tell me about Rust programming language"
→ Search returns 10 videos about Rust
User: "Summarize video 3"
→ Downloads subtitles from video 3 → Processes and returns detailed summary ```