Files
Agent-Reach/agent_reach/skill/references/video.md
T
ming 4ca570a39f feat(transcribe): Whisper transcription module with Groq→OpenAI fallback (#277)
Adds agent_reach/transcribe.py (download → compress → chunk → transcribe with provider fallback, fully mocked tests). Maintainer follow-up on the branch: wired an agent-reach transcribe CLI subcommand + skill docs so agents can actually invoke it, added the missing configure openai-key branch the error hint referenced, removed two dead static methods. 103 tests pass; wheel-gate clean.
2026-06-10 15:03:37 +08:00

129 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 视频/播客
YouTube、B站、小宇宙播客的字幕和转录。
## YouTube (yt-dlp)
### 获取视频元数据
```bash
yt-dlp --dump-json "URL"
```
### 下载字幕
```bash
# 下载字幕 (不下载视频)
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --skip-download -o "/tmp/%(id)s" "URL"
# 然后读取 .vtt 文件
cat /tmp/VIDEO_ID.*.vtt
```
### 获取评论
```bash
# 提取评论(best-effort,不保证完整)
yt-dlp --write-comments --skip-download --write-info-json \
--extractor-args "youtube:max_comments=20" \
-o "/tmp/%(id)s" "URL"
# 评论在 .info.json 的 comments 字段中
```
### 搜索视频
```bash
yt-dlp --dump-json "ytsearch5:query"
```
> **字幕注意**: 手动上传的字幕提取可靠;自动生成字幕可能存在行间重复,需后处理。
> **评论注意**: `--write-comments` 基于网页抓取(非 YouTube Data API),部分评论可能丢失。
### 无字幕兜底:Whisper 音频转写
```bash
# 视频没有字幕时的兜底:下载音频并用 Whisper 转写(Groq 免费 key 即可)
agent-reach transcribe "https://www.youtube.com/watch?v=VIDEO_ID"
agent-reach transcribe ./local_audio.mp3 -o /tmp/transcript.txt
```
> 需要先配置 key`agent-reach configure groq-key gsk_xxx`(免费,console.groq.com
> 或 `agent-reach configure openai-key sk-xxx`。默认 auto 模式:groq 失败自动降级 openai。
## B站 / Bilibili (yt-dlp + bili-cli)
### 视频元数据 (yt-dlp)
```bash
yt-dlp --dump-json "https://www.bilibili.com/video/BVxxx"
```
### 字幕 (yt-dlp)
```bash
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --convert-subs vtt --skip-download -o "/tmp/%(id)s" "URL"
```
### 搜索/热门/排行 (bili-cli)
```bash
# 搜索视频
bili search "query" --type video -n 5
# 热门视频
bili hot -n 10
# 排行榜
bili rank -n 10
```
> **412 风控**: 海外 IP 必须提供 Cookie`--cookies-from-browser chrome` 或 `--cookies /path/to/cookies.txt`),国内 IP 一般不受影响。
> **安装 bili-cli**: `pipx install bilibili-cli`,然后 `bili login` 扫码登录。
## 小宇宙播客 / Xiaoyuzhou Podcast
### 转录单集播客(可选 --polish 增强标点)
```bash
# 输出 Markdown 文件到 /tmp/。--polish 让 Llama 3.3 70B 给文稿补中文标点+合理分段
~/.agent-reach/tools/xiaoyuzhou/transcribe.sh --polish "https://www.xiaoyuzhoufm.com/episode/EPISODE_ID"
```
> 转写 prompt 已要求 Whisper 输出中文标点;若标点效果仍不理想,可加 `--polish` 用 Groq 上免费的 Llama 3.3 70B 补标点+合理分段(9 分钟播客约多 ~7 秒)。每次转写多一轮 LLM 调用,按需使用。
### 前置要求
1. **ffmpeg**: `brew install ffmpeg`
2. **Groq API Key** (免费): https://console.groq.com/keys
3. **配置 Key**: `agent-reach configure groq-key YOUR_KEY`
4. **首次运行**: `agent-reach install --env=auto` 安装工具
### 检查状态
```bash
agent-reach doctor
```
> 输出 Markdown 文件默认保存到 `/tmp/`。
## 抖音视频解析
```bash
# 解析视频信息
mcporter call 'douyin.parse_douyin_video_info(share_link: "https://v.douyin.com/xxx/")'
# 获取无水印下载链接
mcporter call 'douyin.get_douyin_download_link(share_link: "https://v.douyin.com/xxx/")'
```
> 详见 [social.md](social.md#抖音--douyin)
## 选择指南
| 场景 | 推荐工具 |
|-----|---------|
| YouTube 字幕 | yt-dlp |
| B站字幕 | yt-dlp |
| 播客转录 | 小宇宙 transcribe.sh |
| 抖音视频解析 | douyin MCP |