Claude 终于能“看”视频了!这个开源项目让我刷视频效率翻倍
- 公众号:GitHubStore
- 发布时间:2026-07-06T08:08:27+08:00
- 微信链接:https://mp.weixin.qq.com/s/PHtZph0VlUs3A06Sf1gYcg
- RSS ID:3916483328-2247495669_1
- Feed ID:MP_WXS_3916483328
- Glance 当前首页可见:是
平时工作里,最烦的就是“看视频找信息”。领导甩来一个 20 分钟的竞品演示视频,让我“提炼亮点”;客户发来一段Bug录屏,要快速定位问题;或者刷到一条干货视频,想记笔记却懒得从头看到尾。手动快进、暂停、记笔记,效率低得要命。
这个开源项目直接让Claude\Codex等“看懂”了视频。不是简单读标题或摘要,而是真正提取画面、听音频、理解内容,然后按你的要求回答。
项目简介
我们每天被视频信息包围,但真正吸收的有效内容很少。
这个工具把“被动看视频”变成了“主动问视频”
,把时间从机械刷视频里解放出来,交给更有价值的思考和行动。
简单说,你扔给它一个视频链接(YouTube、TikTok、Vimeo 等)或者本地文件(mp4、mov 等),再问一个问题,它就能帮你处理。
赋予 Claude 观看任意视频的能力。
Claude 可以阅读网页、运行脚本、浏览仓库。但开箱即用时,它
无法观看视频
。你粘贴一个 YouTube 链接,它只能根据标题猜测,或者拉取缺少屏幕上 90% 内容的转录文本。
使用 Claude Video
/watch
,你可以粘贴 URL 或本地路径并提出问题,Claude 会先获取字幕,只下载必要部分,按所选细节模式提取帧(场景感知,或
efficient
模式的快速关键帧),拉取带时间戳的转录文本(优先使用免费字幕,Whisper API 作为后备),并以图像形式
Read
每一帧。回答时,它已经
看过
视频并
听过
音频。
/watch https://youtu.be/dQw4w9WgXcQ 30 秒处发生了什么?
工作原理
你粘贴视频和问题。
支持 URL(yt-dlp 支持的任何来源——YouTube、Loom、TikTok、X、Instagram 等数百种)或本地路径(
.mp4
、
.mov
、
.mkv
、
.webm
)。
yt-dlp
优先检查字幕。
在
transcript
细节模式下,有字幕的 URL 无需下载视频即可返回。否则,或需要 Whisper 处理音频时,只下载必要部分。
ffmpeg
按所选细节提取帧。
efficient
只解码关键帧(几乎瞬间完成);
balanced
/
token-burner
优先使用场景变化帧,如果产出不足则回退到时长感知的均匀采样器。默认 JPEG 宽度 512px,高度限制在 1998px 以兼容 Claude Read。
转录文本来自两个来源之一。
优先:
yt-dlp
从源头拉取原生字幕(手动或自动生成)。免费、即时、相对准确。后备:提取单声道 16kHz 64kbps mp3 音频片段(约 480 kB/分钟)并发送给 Whisper——优先使用 Groq 的
whisper-large-v3
(更便宜更快),或 OpenAI 的
whisper-1
。
帧 + 转录交给 Claude。
脚本会打印带
t=MM:SS
时间标记的帧路径和带时间戳的转录。Claude 并行
Read
每一帧——JPEG 可直接作为图像出现在上下文中。
Claude 的回答基于屏幕实际内容和音频。
不是“根据描述”或“根据标题”。它看到了帧,听到了转录,像真正看过视频的人一样回答。
清理。
脚本会在结束时打印工作目录。如果不进行后续提问,Claude 会将其删除。
帧预算 —— 为什么重要
Token 成本主要由帧主导。每帧都是一张图像,图像 token 会快速累积。脚本的自动 FPS 逻辑正是为了避免在 30 分钟视频的稀疏扫描上浪费上下文预算,而更好的做法是用聚焦的 30 秒窗口来回答。
时长
默认帧预算
效果
≤30 秒
~30 帧
密集——基本覆盖每个关键时刻
30 秒 - 1 分钟
~40 帧
仍然密集
1 - 3 分钟
~60 帧
舒适
3 - 10 分钟
~80 帧
稀疏但可用
> 10 分钟
100 帧(受限模式)
“稀疏扫描”警告 —— 建议用
--start
/
--end
重新聚焦运行,或使用
--detail token-burner
进行完整无上限覆盖
当用户指定某个时刻(“大约 2:30”、“最后 30 秒”、“从 0:45 到 1:00”)时,请传递
--start
/
--end
。聚焦模式会获得更高的每秒帧密度,最高 2 fps。远比全片稀疏扫描更有用。
帧去重
帧选择(关键帧
efficient
、场景变化检测
balanced
/
token-burner
,或回退的均匀采样器)仍可能产生近似相同帧:一段静态幻灯片保持 90 秒的屏幕录像会产生十多张几乎一样的帧,每张都按单独图像计费。去重步骤会在帧送达 Claude 之前丢弃它们。默认在所有帧模式下启用(
--no-dedup
可关闭):
用一次
ffmpeg
调用将每个提取的 JPEG 缩放到 16×16 灰度缩略图。后续全部使用纯标准库 Python —— 无需图像库。
对每个帧,计算与
上一个保留帧
的
平均绝对差
(每个像素亮度变化的平均值,0–255 范围)。
如果差值小于等于阈值(
2.0
),则视为近似重复并丢弃。否则保留并作为新的参考帧。
帧预算上限在
去重之后
应用,因此预算用于 distinct 内容。
与上一个
保留
帧比较(而非前一帧)能捕捉慢淡入淡出等情况。阈值故意设得较低且仅测量绝对亮度,而非结构,因此一行代码差异、终端滚动一行、或两张不同颜色的纯色幻灯片都能保留。
Frames
行会报告合并情况,例如
6 selected from 14 candidates (… 8 near-duplicates dropped …)
。在持续运动的画面中不会丢弃任何帧,你支付的费用和你预期的一致。
细节模式 —— 实测数据
--detail
旋钮在速度、token 成本和视觉保真度之间权衡。以下数据来自对一个
49:08
YouTube 视频(1280×720,英文自动字幕)的真实运行 —— 长时长、基本静态的屏幕录像,是最考验上限的场景。提取时间为本地 CPU 对已下载副本的测试;一次性下载约
37 秒
/ 76 MB,由三种帧模式共享。
模式
引擎
帧数
上限
提取时间
时间覆盖
估算图像 token
transcript
无(仅字幕)
0
—
~4.5 秒
(仅一次 yt-dlp 调用,无下载)
全文(文本)
0(≈26.6k 文本 token)
efficient
关键帧 (
-skip_frame nokey
)
50
50
~0.5 秒
0:00 → 49:04(完整)
~9.8k
balanced
场景变化
100
100
~20.9 秒
0:00 → 48:38(完整)
~19.7k
token-burner
场景变化
116
无上限
~21.0 秒
0:00 → 48:38(完整)
~22.8k
图像 token
使用 Anthropic 的
(宽度 × 高度) / 750
计算 —— 默认 512px 宽度下,这些 720p 帧为 512×288,
≈197 token/帧
;
--resolution 1024
大约是 4 倍。字幕在所有有字幕模式下都会出现,长视频中往往是更大的成本。
所有帧模式采用同一采样规则
。每个模式先检测全范围的所有候选帧,然后均匀采样(始终保留首尾帧)到各自上限。模式仅在候选
来源
(关键帧 vs 场景切)和上限上不同,从不改变覆盖分布方式 —— 因此最后一帧始终落在结尾,而非中途。
efficient
是速度档
(~0.5 秒)—— 它只重建关键帧,因此比需要解码每一帧来找切点的场景模式快约 40 倍。在低运动画面中它也可能返回
更多
帧(关键帧数量多于场景切点);“efficient”指的是提取速度快,而非帧数少。
token-burner
仅在超过上限时与
balanced
不同。
本视频有 116 个切点,因此
balanced
采样 100 帧,而
token-burner
保留了全部 116 帧。在高运动视频有数百个切点时,
token-burner
会保留全部(并触发 >250 帧 token 警告),而
balanced
会稀释到 100 帧。
从冷 URL 端到端来看,
transcript
模式成本最低;帧模式会在上述提取时间基础上额外增加共享的 ~37 秒下载时间。
安装和使用
安装和使用门槛非常低。
最推荐的方式
(Claude Code 用户):在对话里输入两行命令安装插件,之后直接用
/watch + 链接 + 问题
就行。
其他 AI 编程工具(Cursor、Codex 等)也可以通过 Agent Skills 安装。
claude.ai 网页版用户可以下载 .skill 文件手动导入。
第一次运行会自动检查依赖(ffmpeg 和 yt-dlp),macOS 用户甚至能一键安装。整个过程基本零配置。
费用方面:
大多数公开视频靠免费字幕就能跑。
没有字幕时才需要 Whisper API,Groq 选项便宜又快。
图像 token 是主要开销,建议根据视频长度和需求选
efficient
(快省)或
balanced
(均衡)模式。
平台
安装命令
Claude Code
/plugin marketplace add bradautomates/claude-video
然后
/plugin install watch@claude-video
Codex、Cursor 等 +50 宿主
npx skills add bradautomates/claude-video -g
claude.ai(网页)
下载
watch.skill
→ 设置 → Capabilities → Skills →
+
手动 / 开发
git clone
后将
skills/watch
软链接到宿主的 skills 目录(见下文)
应用场景
分析他人的内容。
/watch https://youtu.be/<viral-video> 他们用什么钩子开场?
Claude 查看前几帧,阅读开场转录,拆解结构。同样适用于广告创意、竞品发布、播客开头等场景——
如何呈现
和
是什么
同样重要。
从视频诊断 Bug。
别人发来一个出问题的屏幕录像。
/watch bug-repro.mov 出什么问题了?
Claude 观看录像,找到问题出现的帧,描述屏幕内容,通常不用你打开文件就能找出原因。
总结视频。
/watch https://youtu.be/<long-thing> summarize this
做最直观的事——提取结构、关键时刻、实际说的和展示的内容。比 2x 速播放快得多。
剔除更新视频中的炒作。
/watch https://youtu.be/<launch-video> 真正的新东西是什么——跳过炒作
把“改变游戏规则”的功能发布浓缩成真正重要的几点,让你无需忍受十分钟的开场和过度推销就能抓住实质。
把播放列表转为笔记。
/watch https://youtu.be/<video> summarize this to a note
在系列视频上运行,为每个视频生成总结,让频道或课程变成可搜索的笔记集,而不是需要花几个小时观看的内容。
项目地址
https://github.com/bradautomates/claude-video
如果你觉得这篇文章不错,别忘了
点赞、在
看、转发
给更多需要的小伙伴哦!