Claude Video/watch:让 Claude 真正"看懂"视频的技能插件
一、核心观点
Claude 原本无法观看视频——粘贴一个 YouTube 链接,它只能靠标题猜测,或拉取残缺的字幕。
/watch插件通过帧提取 + 字幕转录 + 多模态阅读,让 Claude 真正"看见画面、听到声音"后再回答。
二、关键信息
2.1 是什么
- 一个适用于 Claude Code、Cursor、Copilot、Gemini CLI 等 50+ AI 编程工具的技能插件(Agent Skill)
- 核心命令:
/watch <视频URL或本地路径> <你的问题> - 零配置启动:首次运行自动通过
brew安装yt-dlp和ffmpeg(Linux/Windows 打印安装命令)
2.2 工作流程
用户输入 URL 或本地路径 ↓ yt-dlp 优先抓取字幕(免费、即时) ↓ 若无字幕 ffmpeg 提取音频 → Whisper API 转录(Groq 优先,OpenAI 备用) ↓ ffmpeg 按选定模式提取视频帧(JPEG,默认 512px 宽) ↓ 帧去重(perceptual hash 对比,剔除近似重复帧) ↓ 帧路径 + t=MM:SS 时间戳 + 字幕文本 → Claude 并行 Read 所有帧 ↓ Claude 基于"真实看到的画面 + 听到的音频"作答 ↓ 清理临时目录2.3 典型使用场景
| 场景 | 示例命令 |
|---|---|
| 分析内容结构/开场钩子 | /watch https://youtu.be/xxx what hook did they open with? |
| Bug 复现视频诊断 | /watch bug-repro.mov what's going wrong? |
| 快速视频摘要 | /watch https://youtu.be/xxx summarize this |
| 去除视频中的营销废话 | /watch https://youtu.be/xxx what's actually new — skip the hype |
| 播放列表转笔记 | /watch https://youtu.be/xxx summarize this to a note |
2.4 帧预算(Frame Budget)
Token 成本主要由帧数量决定,自动 fps 逻辑防止在长视频上浪费 context。
| 视频时长 | 默认帧数 | 密度描述 |
|---|---|---|
| ≤30 秒 | ~30 帧 | 密集,几乎覆盖每个关键时刻 |
| 30 秒–1 分钟 | ~40 帧 | 仍较密集 |
| 1–3 分钟 | ~60 帧 | 舒适 |
| 3–10 分钟 | ~80 帧 | 稀疏但可用 |
| >10 分钟 | 最多 100 帧(有上限模式) | 触发"稀疏扫描"警告,建议聚焦片段 |
聚焦模式:当用户指定时间段(如"2:30 附近"、"最后 30 秒"),使用--start/--end,可获得更高密度(最高 2 fps),远优于稀疏全扫。
2.5 帧去重机制
- 每帧缩放为 16×16 灰度缩略图
- 计算与上一个保留帧的平均绝对亮度差(MAD,0–255)
- 差值 ≤ 2.0 → 判定为近似重复,丢弃
- 帧预算上限在去重之后应用,确保预算花在真正不同的帧上
- 与"上一保留帧"比较(而非前一帧)可捕捉缓慢渐变
2.6 Detail 模式对比
实测数据来自一段49:08的 YouTube 视频(1280×720,英文自动字幕)
| 模式 | 帧提取引擎 | 帧数 | 提取耗时 | 估算图像 Token |
|---|---|---|---|---|
transcript | 无(仅字幕) | 0 | ~4.5 秒 | 0(≈26.6k 文本 token) |
efficient | 关键帧(I 帧) | 50 | ~0.5 秒 | ~9.8k |
balanced | 场景切换检测 | 100 | ~20.9 秒 | ~19.7k |
token-burner | 场景切换(无上限) | 116 | ~21.0 秒 | ~22.8k |
efficient:速度最快(~40× 快于场景模式),适合快速概览balanced:默认推荐,场景感知帧 + 100 帧上限token-burner:保留所有场景切换帧,超 250 帧触发警告transcript:纯字幕模式,成本最低,适合对话/演讲类视频
2.7 安装方式
# Claude Code(推荐,自动更新) /plugin marketplace add bradautomates/claude-video /plugin install watch@claude-video # Codex / Cursor / Copilot / Gemini CLI 等 50+ 工具 npx skills add bradautomates/claude-video -g # -g 全局安装;去掉 -g 则仅当前项目生效 # 手动/开发者模式 git clone https://github.com/bradautomates/claude-video.git ln -s "$(pwd)/claude-video/skills/watch" ~/.claude/skills/watch三、代码/示例
# 基础用法:分析视频某时刻 /watch https://youtu.be/dQw4w9WgXcQ what happens at the 30 second mark? # 聚焦时间段(更高帧密度) /watch https://youtu.be/xxx --start 0:45 --end 1:00 what is shown here? # 使用最快模式(仅关键帧) /watch https://youtu.be/xxx --detail efficient summarize this # 本地视频文件 /watch bug-repro.mov what's going wrong? # 纯字幕模式(最省 Token) /watch https://youtu.be/xxx --detail transcript summarize this四、个人启发
多模态工具链的组合价值:这个插件的本质是将
yt-dlp、ffmpeg、Whisper、Claude 视觉能力串联成一条流水线。每个工具都不新鲜,但组合起来填补了 Claude 的关键盲点——这种"胶水层"思维值得借鉴。Token 经济学意识:帧预算设计非常务实。开发者没有默认"全量处理",而是设计了多级 detail 模式和去重机制,在效果与成本之间找平衡。这提醒我们:面向 LLM 的工具设计,Token 成本是一等公民,必须在架构层面就考虑进去。
"聚焦窗口"优于"稀疏全扫":对超过 10 分钟的视频,插件主动建议用
--start/--end聚焦片段,而非盲目扫描全片。这与人类分析视频的方式高度契合——先定位关键段,再深入分析,而不是一遍遍地"快进看完"。
五、延伸思考
字幕质量的天花板问题:自动字幕(尤其是非英语视频、技术术语密集场景)准确率参差不齐,而 Whisper 也并非无懈可击。当字幕本身存在大量错误时,Claude 的回答质量如何保障?是否需要一个"字幕置信度"评估机制?
帧采样策略的局限性:场景切换检测适合剪辑风格的内容,但对"缓慢演示操作"(如屏幕录制手动输入代码)可能采样不足,而"快速剪辑 MV"又可能采样过密。未来是否可以引入内容感知采样——根据视频类型(教程/演讲/影视/操作录屏)自动切换策略?
隐私与版权的边界:插件支持下载 TikTok、Instagram、X 等平台的视频,这在分析他人内容时涉及版权与数据隐私问题。随着此类 AI 视频分析工具普及,平台规则、法律框架将如何演进?开发者和使用者应如何划定合规边界?