让大模型真正"看"懂视频,这个 670+ Star
别再把视频链接扔给 ChatGPT 了——它读的是字幕,不是画面。
你有没有经历过这样的场景:
把一条 YouTube 视频链接扔给 AI,说"帮我总结一下产品评测"。它回复得头头是道——但你发现它根本没提视频里那段关键的操作演示,因为它在字幕中根本没出现。
换个场景:你想让 AI 帮你分析一条 30 秒的快剪广告,结果 Gemini 按每秒一帧固定采样,切了 20 个镜头只抽到 30 帧,大量关键画面被漏掉。
而另一边,一段 10 分钟的静态 PPT 讲解视频,却被抽了 600 张几乎一模一样的画面,白白烧掉大量 token 预算。
核心问题只有一个:AI 其实不会"看"视频。它读的是字幕,不是画面。
今天要介绍的项目叫 claude-real-video,上线不到一周斩获 670+ Star,登上 Hacker News 首页。它用一套聪明的本地处理流水线,让 Claude / ChatGPT / Gemini 真正"看到"视频内容。
🎯 一句话说清楚它是什么
claude-real-video 是一个 Python CLI 工具,用场景变化检测替代固定帧率采样,在本地把任意视频转成 AI 能真正理解的"关键帧 + 字幕 + 声音"三件套。
它不是简单的"抽帧 + 扔给 AI"。它是一套完整的视频预处理流水线:
🎬 场景变化检测:只在画面真正变化的瞬间抽帧,不是机械地每秒一抽 🧹 滑动窗口去重:A-B-A 来回切的正反打镜头只保留一次,不重复消耗 token 🎤 Whisper 语音转文字:自动语言检测,支持中英文等主流语言 🔊 可选保留原声:让支持音频输入的模型(Gemini、GPT-4o)真正"听见" 📦 结构化 Manifest:一份给 AI 读的"说明书",列出帧列表、时间戳、字幕全文
🔧 快速上手:30 秒跑起来
安装方式极简,两行命令搞定:
pip install ”claude-real-video[whisper]” 前提是装了 ffmpeg(macOS / Linux / Windows 全平台支持):
brew install ffmpeg | |
sudo apt install ffmpeg | |
winget install Gyan.FFmpeg |
然后一行命令开始处理:
crv ”https://www.youtube.com/watch?v=dQw4w9WgXcQ”输出结构一目了然:
crv-out/├── frames/# 关键帧图片├── transcript.txt# 语音转文字全文├── audio.m4a# 可选:完整原声└── MANIFEST.txt# 给 AI 读的结构化索引
把 frames/ 里的图片和 MANIFEST.txt 拖进对话框,AI 就能真正"看到"视频了。
🧠 它比固定帧率采样强在哪?
这是 claude-real-video 最核心的差异——它不做"每秒抽一帧"的机械劳动,而是用一个智能流水线判断每一帧是否值得保留:
| 完全本地 | ||
你喂给模型的帧更少但更有意义——token 成本更低,理解效果更好。
🎛️ 核心参数:这些选项让你精准控制输出
claude-real-video 暴露了所有关键参数,不黑盒:
--scene | 0.30 | |
--fps-floor | 1.0 | |
--max-frames | 150 | |
--dedup-threshold | 8 | |
--dedup-window | 4 | |
--lang | auto | zh / en 等 |
--report |
动手调过这几个参数的同学反馈:一般情况下默认值就够用,但如果画面风格特殊(比如动画或游戏录屏),适当下调 --scene 或上调 --dedup-threshold 效果更好。
💡 三个让人眼前一亮的高级功能
1. --why:让 AI 带着目的看视频
crv ”https://youtu.be/...” --why ”找出这个视频里的定价策略和竞品对比” --why 的内容会写进 MANIFEST.txt,AI 在分析时会带着你指定的视角切入,而不是泛泛地总结"这个视频讲了什么"。
2. --kb:分析结果自动存进你的知识库
crv ”https://youtu.be/...” --why ”竞品分析” --kb ~/obsidian/notes 结果会按日期保存为 Markdown 笔记——如果你用 Obsidian、Logseq 或任何本地 Markdown 笔记工具,这个功能简直是天作之合。视频分析的成果不会被遗忘在临时输出目录里。
3. --grid:九宫格联系表,保留画面叙事顺序
连续 9 帧拼成一张图,AI 看到的是有顺序的画面流,而不是一堆孤立的图片——对理解视频叙事结构至关重要。
📋 实战案例
官方 README 给出了一个具体的对比数据:
同一段 58 秒的视频:固定 1fps 采样 = 58 帧。crv 只保留了实际有变化的 26 帧——加上
--grid把它们打包成 3 张联系表。帧数减半,信息不丢。
再给一个更贴近日常的例子:
# 场景:你收到一个 30 分钟的产品发布会视频,需要快速提取新功能列表crv ”https://youtube.com/watch?v=...” --why ”提取所有新功能介绍,按时间线列出功能名称和一句话描述” --lang zh --kb ~/notes/产品调研# 3 分钟后,笔记库里多了一篇带日期的完整分析,可以直接分享给团队
🏗️ 技术架构亮点
claude-real-video 在技术上做了几件很聪明的事:
像素级 RGB 差异对比,而非感知哈希。感知哈希在同亮度不同色相时容易误判(比如浅蓝→浅粉可能算成"没变化"),直接用降采样 RGB 像素差异更可靠。
滑动窗口去重而非连续去重。如果只对比相邻帧,A-B-A 的切回镜头会被当成新内容重发。滑动窗口记住最近 N 帧,彻底消灭这种冗余。
优先复用原字幕。如果视频自带外挂
.srt或内嵌字幕轨,直接用原字幕而不是重新用 Whisper 识别——更快更准确,还省了 GPU 时间。一站式输入。底层接的是 yt-dlp,理论上任何 yt-dlp 支持的网站(YouTube / B站 / Instagram / TikTok / Twitter……)都能直接处理。
Claude Code Skill 支持。安装后 Claude Code 能自己调 crv,你只需要说"帮我看下这个视频":
mkdir -p ~/.claude/skills && cp -r skills/claude-real-video ~/.claude/skills/ 👤 作者背景
作者 HUANGCHIHHUNGLeo(Leo Huang),独立开发者。项目完全开源(MIT 协议),另有一个 $19 一次性买断的 crv Pro 版本,加了运镜分类、剪辑节奏分析、动作高光提取等功能,面向需要做视频创作复盘的专业用户。
🤔 为什么这件事值得关注?
第一,它解决了一个真实但长期被忽略的问题。 让 AI"看"视频这件事,技术上不难但体验上没人认真做。大多数 AI 工具选择了一条偷懒的路:读字幕。claude-real-video 是第一个把"视频可读化"这件事做成一个完整、易用、开源工具的项目。
第二,本地优先的隐私理念。 视频数据在你自己的机器上处理——你喂给 AI 的只是你选择分享的那些帧和文字。这在企业场景和敏感内容分析中至关重要。
第三,token 经济学的务实设计。 按场景变化抽帧 + 滑动窗口去重 = 用更少的帧传达更多的信息。对于按 token 计费的 LLM API,这直接意味着成本下降。
第四,它与 Agent Skills 生态天然契合。 安装为 Claude Code Skill 后,AI 编码助手自己就能调用它——这是 2026 年最火的 Agent 能力扩展范式的又一个高质量案例。
📎 快速链接
🔗 GitHub:https://github.com/HUANGCHIHHUNGLeo/claude-real-video 📦 PyPI: pip install claude-real-video💰 Pro 版:https://leoaido.com/crv-pro/ 🗞️ Hacker News 讨论:https://news.ycombinator.com/item?id=48766005
🎬 试试看
打开终端,执行:
pip install ”claude-real-video[whisper]”crv ”https://www.youtube.com/watch?v=dQw4w9WgXcQ” --why ”总结视频核心观点” --lang auto
然后把 crv-out 文件夹拖给 Claude,开始对话。
让 AI 看视频,从"读字幕"变成"看电影"。
📌 「AI 工具特写」第四期:这是公众号的全新栏目,每期深挖一个值得关注的开源 AI 工具,从技术原理、上手体验到行业影响,给你一份完整的参考手册。欢迎点赞、在看、转发,支持更多深度内容 👇
夜雨聆风