Claude Code 新增 /watch 技能:让 AI 真正“看懂”视频,支持 YouTube、TikTok、本地视频

大家好,这里是「代码简单说」。
在这里插入图片描述

以前让 Claude Code 分析视频,通常只能把视频标题、字幕或者人工整理的文字交给 AI。这样做有一个明显的问题:字幕只能告诉 AI“说了什么”,却不能告诉 AI“画面里发生了什么”。

现在,一个名为 Claude Video 的开源 Agent Skill 提供了一个 /watch 命令,可以让 Claude 真正对视频进行视觉和音频分析。

它的核心思路并不复杂:

视频 → 字幕 / 音频 → 视频帧 → Claude 多模态理解 → 回答问题

项目仓库:

https://github.com/bradautomates/claude-video

目前除了 Claude Code,也可以安装到 Codex、Cursor、Copilot、Gemini CLI 等支持 Agent Skills 的工具中。项目文档显示,它已经支持 50+ Agent Skills 宿主环境。


一、/watch 是什么?

Claude Video 提供了一个 /watch Skill。

安装之后,可以直接把视频 URL 或本地视频路径交给 Claude,然后用自然语言告诉它想分析什么。

例如:

/watch https://youtu.be/dQw4w9WgXcQ what happens at the 30 second mark?

也可以直接分析本地文件:

/watch ~/Movies/screen-recording.mp4 when does the UI break?

项目支持 URL 和本地视频文件,包括:

.mp4
.mov
.mkv
.webm

远程视频方面,只要是 yt-dlp 支持的网站,理论上都可以处理,包括 YouTube、Loom、TikTok、X、Instagram 等。

这意味着 Claude 不再只是“读取视频字幕”,而是可以同时结合:

  • 视频画面
  • 视频字幕
  • 音频转录
  • 时间戳
  • 指定时间段的视频帧

来回答问题。


二、它到底解决了什么问题?

传统的视频 AI 分析经常有一个问题:

字幕 ≠ 视频。

比如一个程序员录制了一段 Bug 演示视频。

字幕可能只有:

这里点击登录,然后页面出现异常……

但真正重要的信息可能在画面中:

按钮没有响应
Console 出现红色错误
Network 请求返回 500
页面发生跳转
某个组件消失

这些内容完全可能没有出现在字幕中。

/watch 的思路就是把视频拆成 AI 可以理解的视觉信息。

项目会先获取字幕,然后使用 ffmpeg 提取视频帧,再将这些帧和带时间戳的 transcript 一起交给 Claude。Claude 最终根据画面 + 音频内容进行回答,而不是单纯依赖视频标题或者描述。

所以,它更接近:

让 AI 真的“看了一遍视频”。


三、/watch 可以拿来做什么?

1、分析 YouTube 视频

例如:

/watch https://youtu.be/xxxxx summarize this

Claude 可以直接分析视频内容并整理摘要。

对于十几分钟甚至几十分钟的视频,可以直接让 AI 提取:

  • 核心观点
  • 主要内容
  • 关键时间点
  • 视频结构
  • 实际演示内容

项目文档也直接给出了视频总结这一使用场景。


2、分析竞品视频

例如:

/watch https://youtu.be/xxxxx what hook did they open with?

这类功能对于做自媒体尤其有用。

比如分析一个热门视频:

开头几秒用了什么内容?
标题和视频实际内容是否一致?
主播什么时候开始进入主题?
视频结构是怎样安排的?
哪些画面用于强调重点?

相比只分析字幕,视频帧能够提供更多信息。


3、分析广告和营销视频

广告最重要的往往不是“说了什么”,而是:

怎么展示。

比如一个广告可能:

0:00 产品特写
0:03 问题场景
0:07 产品操作
0:15 功能对比
0:25 用户反馈

这些信息单纯通过字幕并不容易完整还原。

/watch 可以结合画面与 transcript 对广告创意进行分析。


四、程序员最实用的功能:分析 Bug 视频

这个功能我认为非常适合开发者。

比如同事给你发了一段:

bug-repro.mov

你可以直接:

/watch bug-repro.mov what's going wrong?

Skill 会分析视频帧,寻找 Bug 出现的位置,然后结合视频内容定位问题。

比如一个 UI Bug:

点击按钮
↓
弹窗出现
↓
页面卡死
↓
Console 出现异常

你可以直接让 Claude 判断:

/watch bug-repro.mov

找出页面出现异常的时间点,并解释可能的原因。

这比“我描述一下问题,然后让 AI 猜”更有效。

尤其是以下场景:

  • 前端页面异常
  • App 操作异常
  • UI Bug
  • 屏幕录制
  • 软件安装问题
  • 游戏 Bug
  • 操作流程复现

都可以尝试。


五、它是怎么实现的?

Claude Video 并不是一个庞大的视频模型。

它更像是一个视频处理流水线

核心组件主要有:

yt-dlp
   ↓
下载视频 / 获取字幕
   ↓
ffmpeg
   ↓
抽取关键视频帧
   ↓
Whisper
   ↓
音频转文字
   ↓
Claude
   ↓
结合画面 + transcript 分析

项目本身基于:

  • yt-dlp
  • ffmpeg
  • Claude 多模态 Read
  • Groq Whisper
  • OpenAI Whisper

构建。


六、第一步:优先获取字幕

项目并不会一上来就把整个视频下载下来。

它首先会检查视频有没有可用字幕。

如果存在原生字幕或者自动生成字幕,就优先直接使用。

这样做有两个好处:

第一,速度快。

第二,成本低。

项目文档明确说明,在 transcript 模式下,如果视频本身有字幕,可以不下载视频。

所以对于一些只是想了解“视频讲了什么”的场景,完全没必要提取大量视频帧。


七、没有字幕怎么办?

如果视频没有可用字幕,项目可以使用 Whisper 进行语音转录。

目前支持:

Groq Whisper
OpenAI Whisper

其中项目优先推荐:

Groq + whisper-large-v3

也可以使用:

OpenAI + whisper-1

项目提供了对应配置选项。

因此整个流程实际上是:

有字幕
↓
直接使用字幕

没有字幕
↓
提取音频
↓
Whisper 转录

八、视频帧是怎么提取的?

这部分其实是整个项目比较有意思的地方。

项目提供了四种 detail 模式:

transcript
efficient
balanced
token-burner

分别对应不同的速度、视觉精度和 Token 消耗。


1、transcript

只读取字幕,不提取视频帧。

适合:

“这个视频主要讲了什么?”

“帮我总结这个演讲。”

“把这个视频整理成笔记。”

优点是:

速度快
Token 成本低

缺点也很明显:

AI 看不到画面。


2、efficient

使用视频关键帧。

特点是速度非常快,默认最多 50 帧。

项目实测数据显示,在一个 49 分钟的视频上,关键帧模式的提取时间大约只有:

0.5 秒

而且能覆盖整个视频。

因此:

efficient

更适合需要快速扫描整段视频的场景。


3、balanced

这是默认推荐的平衡模式。

它不是简单按照固定时间间隔截图,而是优先寻找场景变化

默认最多:

100 帧

适合:

普通视频分析
教程
产品演示
软件操作
视频内容理解

项目在 49 分钟测试视频上的场景帧提取时间约:

20.9 秒

最终使用 100 帧。


4、token-burner

这个名字非常直白。

它就是:

尽可能保留更多视频场景。

balanced 不同,它没有 100 帧上限,会继续保留检测到的场景变化帧。

优点是:

视觉覆盖更完整

缺点是:

Token 消耗更多

项目实测中,同一个 49 分钟视频:

balanced       100 帧
token-burner   116 帧

如果视频画面变化非常多,差距会进一步扩大。


九、为什么需要限制视频帧?

因为:

图片非常吃 Token。

假设一个视频持续 30 分钟。

如果每秒提取一帧:

30 × 60 = 1800 帧

这显然没有必要。

项目因此设计了自动 Frame Budget。

默认策略大致如下:

视频长度 默认帧预算
≤ 30 秒 约 30 帧
30 秒 - 1 分钟 约 40 帧
1 - 3 分钟 约 60 帧
3 - 10 分钟 约 80 帧
> 10 分钟 100 帧

这些帧并不是简单按照固定间隔抽取,而是根据视频场景进行选择。

这对于长视频非常重要。

否则:

视频越长
↓
图片越多
↓
Token 越多
↓
分析成本越高

十、它还有一个细节:帧去重

假设视频是一个 PPT 演示。

某一页 PPT 停留了 90 秒。

如果每隔几秒截一张:

Frame 1:同一页
Frame 2:同一页
Frame 3:同一页
Frame 4:同一页
……

这些图片几乎完全一样。

继续发送给 Claude 没有意义。

因此项目默认提供了 Frame Deduplication

它会把图片缩小成:

16 × 16

的灰度缩略图,然后计算当前帧与上一张“保留帧”的平均亮度差。

默认阈值:

2.0

如果变化太小,就认为是近似重复帧并丢弃。

这样可以让 Frame Budget 尽可能花在真正不同的画面上。


十一、长视频怎么分析?

假设一个视频:

60 分钟

你真正想看的可能只是:

32:10 ~ 33:30

这时候没有必要分析整整一个小时。

项目提供:

--start
--end

例如:

/watch https://youtu.be/abc --start 32:10 --end 33:30

或者:

/watch video.mp4 --start 50 --end 60

这样可以把分析范围限制在特定时间段。

项目会在聚焦模式下提高单位时间内的帧密度。

实际使用中,这种方式通常比“把整个长视频扔进去”更合理。


十二、支持指定时间点截图

除了开始和结束时间,还可以直接指定关键时间点:

--timestamps

例如:

--timestamps 30,60,120

或者:

--timestamps 00:30,01:00,02:00

这样可以告诉 Claude:

“重点看这些时间点。”

项目会优先处理这些时间点的画面。


十三、安装 Claude Code 版本

如果你主要使用 Claude Code,安装非常简单。

首先添加 Marketplace:

/plugin marketplace add bradautomates/claude-video

然后安装:

/plugin install watch@claude-video

项目文档明确将这种方式作为 Claude Code 的推荐安装方式。

之后更新:

/plugin update watch@claude-video

即可。


十四、Codex、Cursor 怎么安装?

这个项目并不只针对 Claude Code。

对于:

Codex
Cursor
Copilot
Gemini CLI

以及其他支持 Agent Skills 的工具,可以使用:

npx skills add bradautomates/claude-video -g

这里:

-g

表示全局安装。

也就是说,安装之后可以在当前用户的多个项目中使用。

如果只想安装到当前项目,可以去掉:

-g

项目还支持:

-a codex
-a cursor

等参数来指定目标 Agent。

例如:

npx skills add bradautomates/claude-video -g -a codex

十五、Windows 怎么办?

Windows 用户也可以使用。

项目第一次运行时会检查:

ffmpeg
yt-dlp
Whisper API Key

如果缺少依赖,会提示对应的安装方式。

项目说明中:

macOS
brew install

Linux
apt / dnf / pipx

Windows
winget / pip

都会给出对应命令。

因此不需要提前手动配置大量东西。


十六、实际使用示例

示例 1:总结一个 YouTube 视频

/watch https://youtu.be/xxxxx summarize this

示例 2:分析某一个时间点

/watch https://youtu.be/xxxxx what happens at 2:30?

示例 3:分析软件 Bug

/watch bug.mp4

找出程序第一次出现异常的位置,并解释画面发生了什么。

示例 4:分析教程

/watch tutorial.mp4

总结这个教程的完整操作流程,并列出每一步使用的软件和功能。

示例 5:提取视频中的代码

如果视频是程序员录制的 IDE 或终端操作,可以提高分辨率:

--resolution 1024

项目说明中也特别提到,提高分辨率适合需要阅读:

Slides
Terminal
Code

等视频画面中的文字内容。


十七、一个值得注意的问题:长视频不要无脑全量分析

/watch 虽然能够分析长视频,但并不意味着:

视频越长越应该一次性全量处理。

项目明确指出,对于默认的受限模式,当视频超过约 10 分钟以后,整个视频的帧预算会变得越来越稀疏。

例如:

120 分钟视频
100 帧

平均下来:

72 秒才有一帧

对于持续变化的视频,这显然不够。

因此长视频更合理的方式是:

先 transcript
↓
确定需要关注的时间点
↓
使用 --start / --end
↓
重点分析某一段

这也是这个工具比较合理的使用方式。


十八、/watch 的核心价值

我认为这个项目真正有价值的地方并不是:

“让 Claude 可以下载 YouTube。”

因为 yt-dlp 本身就已经能够解决下载问题。

真正有意义的是它建立了一条完整的:

视频理解 Pipeline

即:

Video
 ↓
Caption
 ↓
Audio
 ↓
Whisper
 ↓
Frame Extraction
 ↓
Frame Deduplication
 ↓
Timestamp
 ↓
Claude Multimodal Read
 ↓
Answer

这样一来,视频就从传统的:

一整个 MP4 文件

变成了 AI 可以处理的:

时间轴
+
字幕
+
声音
+
关键画面

这也是它能够应用于:

视频总结
Bug 排查
教程分析
竞品分析
广告分析
课程整理
内容研究

等场景的原因。


十九、项目技术结构

如果你想研究它的源码,这个项目的结构也比较清晰。

核心 Skill:

skills/watch/

其中:

SKILL.md

是整个 Skill 的核心描述文件。

脚本部分主要包括:

watch.py
download.py
frames.py
transcribe.py
whisper.py
config.py
setup.py
build-skill.sh

分别承担:

watch.py
视频分析入口

download.py
yt-dlp 下载

frames.py
ffmpeg 视频帧提取

transcribe.py
字幕解析和转录流程

whisper.py
Whisper API

config.py
配置管理

setup.py
环境检查

build-skill.sh
生成 claude.ai Skill 包

项目同时提供:

Claude Code Plugin
Codex Plugin
Agent Skills Marketplace

等相关配置。

对于想自己开发 Agent Skill 的开发者来说,这个项目本身也值得参考。


二十、总结

以前我们让 AI 分析视频,经常需要经过:

下载视频
↓
提取字幕
↓
自己看视频
↓
截几张图
↓
整理问题
↓
再问 AI

而 Claude Video 把这套流程自动化了。

安装之后,只需要:

/watch 视频链接

然后告诉 AI:

你想知道什么

例如:

这个视频讲了什么?

哪里出现了 Bug?

2 分 30 秒发生了什么?

主播用了什么软件?

这个教程完整流程是什么?

这个产品发布视频到底发布了哪些新功能?

AI 会自己处理视频、字幕、音频和关键帧。

对于经常使用 Claude Code、Codex、Cursor、Gemini CLI 等 AI 编程工具的开发者来说,这类 Skill 的意义在于:

AI Agent 正在从“只能阅读文本和代码”,逐渐变成可以理解视频、音频、网页和其他多模态信息。

项目地址:

https://github.com/bradautomates/claude-video

Claude Code 安装:

/plugin marketplace add bradautomates/claude-video
/plugin install watch@claude-video

Codex / Cursor 等:

npx skills add bradautomates/claude-video -g

目前项目采用 MIT License 开源。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐