Claude-real-video - 任何大语言模型都能观看视频
摘要
claude-real-video 是一个Python工具,通过场景检测提取关键帧,并在本地生成视频音频转录文本,使任何大语言模型都能在不经云端上传的情况下分析视频内容。
查看缓存全文
缓存时间: 2026/07/02 23:09
HUANGCHIHHUNGLeo/claude-real-video
来源:https://github.com/HUANGCHIHHUNGLeo/claude-real-video
claude-real-video
让 Claude —— 或任何 LLM —— 真正看视频。
大多数 AI 工具并不能真正“看“视频。把 YouTube 链接粘贴到 ChatGPT,它读取的是文字稿,而不是画面。Claude 根本就不接受视频文件。即使是原生支持视频输入的 Gemini,也需要把视频上传到谷歌服务器,并且默认按固定间隔(1 fps)采样帧,因此快速的画面切换很容易被漏掉。
claude-real-video 采用了不同的方式,而且完全本地运行:指定一个 URL 或本地文件,它会提取真正有意义的帧(根据场景变化,而不是固定配额),丢弃近乎重复的帧,转录音频,然后为你生成一个任何 LLM 都能读取的干净文件夹 —— 全程在你自己机器上完成,不上传任何内容。
``bash crv “https://www.youtube.com/watch?v=…”
→ crv-out/frames/*.jpg + crv-out/transcript.txt + crv-out/MANIFEST.txt
``
然后把这些帧和 MANIFEST.txt 丢给 Claude / ChatGPT / Gemini,就可以随意提问了。
为什么不直接采样帧?
大多数“让 LLM 看视频“的脚本(以及 Gemini 自身的处理流程)都是按固定间隔抓取帧 —— 例如每秒一帧。这样对静态屏幕录制会过度采样,而对快速剪辑则采样不足。claude-real-video 更智能:
| 固定间隔采样 | claude-real-video | |
|---|---|---|
| 帧选择 | 每 N 秒一帧 | 场景变化检测 + 最低密度保证 |
| 重复镜头(A-B-A 剪辑) | 每次都重新发送 | 滑动窗口去重,每个镜头只发送一次 |
| 静态幻灯片(10 分钟) | ~600 张几乎相同的帧 | 压缩为 1 帧(去重) |
| 快速剪辑片段 | 采样间隔之间漏掉帧 | 捕捉每一次视觉变化 |
| 音频 | 通常忽略 | Whisper 转录,带语言检测 |
| 视频流向何处 | 通常上传到云端 | 留在你的机器上 |
| 输入 | 通常仅本地文件 | URL(yt-dlp)或本地文件 |
你喂给模型的是更少、更有意义的帧 —— 上下文更省,理解更准。
安装
bash pip install claude-real-video # 核心(帧提取+去重) pip install "claude-real-video[whisper]" # + 音频转录
系统依赖:ffmpeg
ffmpeg / ffprobe 用于帧提取和音频处理,不能通过 pip 安装。请安装一次:
| 操作系统 | 命令 |
|---|---|
| macOS | brew install ffmpeg |
| Linux | sudo apt install ffmpeg(或使用你的发行版包管理器) |
| Windows | winget install Gyan.FFmpeg —— 或 choco install ffmpeg —— 或下载编译版本 (https://www.gyan.dev/ffmpeg/builds/) 并将其 bin\ 文件夹添加到 PATH 中 |
验证是否已加入 PATH:
bash ffmpeg -version
转录功能使用 whisper 命令行工具(由 [whisper] 附加依赖安装,或通过 pip install openai-whisper)。Whisper 也依赖 ffmpeg。
支持 macOS、Windows 和 Linux —— 需要 Python 3.10+。
用法
``bash
YouTube / Instagram / TikTok / … 链接
crv “https://www.instagram.com/reel/XXXX/”
本地文件,英文转录,输出到 ./out
crv lecture.mp4 -o out –lang en
仅提取帧,不转录
crv clip.mp4 –no-transcribe
需要登录才能观看的视频(你自己的/经授权的内容):传入 Netscape cookie 文件
crv “https://…” –cookies cookies.txt ``
python -m claude_real_video ... 也可作为 crv 的别名使用。
选项
| 标志 | 默认值 | 含义 |
|---|---|---|
-o, --out | crv-out | 输出目录 |
--scene | 0.30 | 场景变化敏感度(值越小,帧越多) |
--fps-floor | 1.0 | 至少每 N 秒保留一帧 |
--max-frames | 150 | 总帧数硬上限 |
--lang | auto | Whisper 语言(en、zh、auto……) |
--dedup-threshold | 8 | 一帧被视为新帧所需的最小像素变化百分比;越大帧越少 |
--dedup-window | 4 | 与最近保留的 N 帧进行比较 —— 模型已经见过的镜头,在短暂切走后不会再次返回(1 = 仅与前一帧比较) |
--report | 关闭 | 将丢弃的帧保存在 ./dropped,并生成 report.html 以可视化每个保留/丢弃的决定 |
--no-transcribe | 关闭 | 跳过音频转录 |
--keep-audio | 关闭 | 同时保留完整原声音轨(audio.m4a),以便能够“听“音频的模型使用 |
--cookies | – | 用于需要登录的源的 Netscape cookie 文件 |
从 Python 中使用
``python from claude_real_video import process
r = process(“https://youtu.be/…”, “out”, lang=“en”) print(r.frame_count, r.transcript_path) ``
工作原理
- 获取 —— 对 URL 使用
yt-dlp(支持可选 cookie),或直接复制本地文件。 - 提取 —— 一次按时间顺序的
ffmpeg select传递,抓取每个场景变化,同时保证最低帧密度(至少每--fps-floor秒一帧),这样快速剪辑和慢速屏幕录制都能覆盖。 - 去重 —— 使用真实的像素差异(降低分辨率的 RGB 直方图,而非感知哈希 —— 哈希在平坦颜色和等亮度色相变化时会失效),与最近保留的
--dedup-window帧进行滑动窗口比较,这样 A-B-A 切镜头后不会重新发送模型已经见过的镜头。使用--report会生成report.html,显示每个保留/丢弃的决定及其差异百分比,便于调参。 - 文本 —— 如果视频已有字幕(本地文件旁边的
.srt/.vtt文件,或内置字幕轨道),则直接使用这些字幕作为转录 —— 比重新转录更快更准。只有在找不到字幕时,才回退到对音频使用 Whisper(如果没有音频,则干净地跳过)。 - 音频 (可选,
--keep-audio) —— 保存完整的原始音轨(audio.m4a:音乐+语音+音效,尽可能无损复制)。转录只保留了文字;音频文件则让能听音的模型(Gemini、GPT-4o……)实际听到音乐和语气。 - 清单 ——
MANIFEST.txt总结所有内容供模型使用。
因此,模型可以看(关键帧)、读(转录)以及(使用 --keep-audio)听(完整音轨)视频。转录是纯文本,任何模型都能读取;此工具不会把字幕烧录到视频中 —— 烧录是呈现方式的选择,不是让视频可被 AI 读取的必要条件。
注意事项
- 只下载你有权访问的内容。
--cookies选项仅供你自己或经授权的访问使用 —— 不要把凭据放在仓库里。 - 重新运行会覆盖输出目录。
许可证
MIT
相似文章
bradautomates/claude-video
一个工具,让Claude能够通过提取字幕和帧来观看和分析视频,从而实现基于视频的查询和摘要。
@Stephen4171127: 最近发现个开源工具Claude-real-video,直接戳中了现在LLM视频分析的死结。 之前全行业都在死卷「把视频能力原生炼进大模型」,相当于每家都要从头造一台带屏幕的手机——要么等大厂挤牙膏更功能,要么自己烧钱炼小模型,普通开发者根…
介绍开源工具claude-real-video,它通过场景变化检测和音频转录,让任何LLM都能在本地分析视频,解决了固定帧采样和云上传的痛点。
@PrajwalTomar_: 等等,这真的太疯狂了。Claude Code 现在可以真正地观看视频了。YouTube、Zoom 通话、Loom 录制。你粘…
Claude Code 现在可以观看视频了,它利用 FFmpeg 场景检测在屏幕内容变化的关键时刻捕获帧,并集成从 YouTube 免费提取字幕或使用 Whisper 处理 Zoom/Loom 视频的字幕提取功能,使用户能够分析录制内容并将洞察保存到知识库中。
@QingQ77: 让 Claude Code 中的纯文本 LLM(如 DeepSeek、CodeLlama、Qwen-Coder)通过本地 Ollama 视觉模型获得视觉能力。 支持三种模式:描述剪贴板截图、截取全屏并描述、读取已保存的图片文件。 所有图像…
LocalEyes gives text-only LLMs in Claude Code (e.g., DeepSeek, CodeLlama) local vision via Ollama, enabling image description without cloud uploads. Setup takes two commands.
@0xluffy_eth: 有人为Claude Code开发了免费视频编辑工具...太疯狂了。 只需把原始素材和资源放入文件夹。 就这样。 它会处理一切: - 剪辑片段 - 移除冗余词 - 添加字幕 - 应用色彩分级和滤镜 - 处理动画 - 渲染最终视频 无时间线。…
A free, open-source video editing tool built for Claude Code that fully automates editing from raw footage—clipping, filler word removal, subtitles, color grading, animation, and final rendering—all without a timeline or manual edits.