Claude-real-video - 任何大语言模型都能观看视频

Hacker News Top 工具

摘要

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 安装。请安装一次:

操作系统命令
macOSbrew install ffmpeg
Linuxsudo apt install ffmpeg(或使用你的发行版包管理器)
Windowswinget 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, --outcrv-out输出目录
--scene0.30场景变化敏感度(值越小,帧越多)
--fps-floor1.0至少每 N 秒保留一帧
--max-frames150总帧数硬上限
--langautoWhisper 语言(enzhauto……)
--dedup-threshold8一帧被视为新帧所需的最小像素变化百分比;越大帧越少
--dedup-window4与最近保留的 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) ``


工作原理

  1. 获取 —— 对 URL 使用 yt-dlp(支持可选 cookie),或直接复制本地文件。
  2. 提取 —— 一次按时间顺序的 ffmpeg select 传递,抓取每个场景变化,同时保证最低帧密度(至少每 --fps-floor 秒一帧),这样快速剪辑和慢速屏幕录制都能覆盖。
  3. 去重 —— 使用真实的像素差异(降低分辨率的 RGB 直方图,而非感知哈希 —— 哈希在平坦颜色和等亮度色相变化时会失效),与最近保留的 --dedup-window 帧进行滑动窗口比较,这样 A-B-A 切镜头后不会重新发送模型已经见过的镜头。使用 --report 会生成 report.html,显示每个保留/丢弃的决定及其差异百分比,便于调参。
  4. 文本 —— 如果视频已有字幕(本地文件旁边的 .srt / .vtt 文件,或内置字幕轨道),则直接使用这些字幕作为转录 —— 比重新转录更快更准。只有在找不到字幕时,才回退到对音频使用 Whisper(如果没有音频,则干净地跳过)。
  5. 音频 (可选,--keep-audio) —— 保存完整的原始音轨audio.m4a:音乐+语音+音效,尽可能无损复制)。转录只保留了文字;音频文件则让能听音的模型(Gemini、GPT-4o……)实际听到音乐和语气。
  6. 清单 —— MANIFEST.txt 总结所有内容供模型使用。

因此,模型可以(关键帧)、(转录)以及(使用 --keep-audio(完整音轨)视频。转录是纯文本,任何模型都能读取;此工具不会把字幕烧录到视频中 —— 烧录是呈现方式的选择,不是让视频可被 AI 读取的必要条件。


注意事项

  • 只下载你有权访问的内容。--cookies 选项仅供你自己或经授权的访问使用 —— 不要把凭据放在仓库里。
  • 重新运行会覆盖输出目录。

许可证

MIT

相似文章

bradautomates/claude-video

GitHub Trending (daily)

一个工具,让Claude能够通过提取字幕和帧来观看和分析视频,从而实现基于视频的查询和摘要。

@Stephen4171127: 最近发现个开源工具Claude-real-video,直接戳中了现在LLM视频分析的死结。 之前全行业都在死卷「把视频能力原生炼进大模型」,相当于每家都要从头造一台带屏幕的手机——要么等大厂挤牙膏更功能,要么自己烧钱炼小模型,普通开发者根…

X AI KOLs Timeline

介绍开源工具claude-real-video,它通过场景变化检测和音频转录,让任何LLM都能在本地分析视频,解决了固定帧采样和云上传的痛点。

@0xluffy_eth: 有人为Claude Code开发了免费视频编辑工具...太疯狂了。 只需把原始素材和资源放入文件夹。 就这样。 它会处理一切: - 剪辑片段 - 移除冗余词 - 添加字幕 - 应用色彩分级和滤镜 - 处理动画 - 渲染最终视频 无时间线。…

X AI KOLs Timeline

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.