Claude-Real-Video:让 Claude 真正看懂视频,0 Token 成本

📌 核心价值:让 Claude / GPT / Gemini 真正"看懂"视频------场景感知抽帧 + 滑动窗口去重 + Whisper 转录,全程本地运行,0 Token 成本。

传统 LLM 看视频要么"只读字幕"、要么"1 fps 傻抽",10 分钟讲座 600 帧几乎一模一样。claude-real-video 用 ffmpeg scene 过滤器捕获每个视觉变化瞬间,再用 16×16 RGB 像素差做滑动窗口去重------A-B-A 切走又切回时,那个被 LLM 看过的镜头不会重新发一遍


🚀 什么是 claude-real-video?

claude-real-video 是一个开源 Python CLI(GitHub 485⭐ / MIT),作者 LeoAido 在 2026-06-30 发布 v0.2.0。它解决了一个被所有 LLM 视频工具忽略的根本问题:"看视频" 不等于 "等距抽帧"

把 YouTube 链接丢给 ChatGPT?它只看 transcript,根本不读图。丢给 Gemini?它把视频上传到 Google,按固定 1 fps 采样,10 分钟静态讲座浪费 600 帧 token。Claude?直接拒收视频文件。

claude-real-video 的做法完全不一样:本地运行,场景感知,去重转录。一行命令就能把任意视频(URL 或本地文件)拆成 LLM 真能消化的小素材包------关键帧 + transcript + 完整音轨,丢给任何 LLM 都能问"这视频在讲啥"。

核心定位:不是又一个"AI 看视频"玩具,而是工程化解决"用最少 token 让 LLM 真正理解长视频"的工具集。


✨ 核心功能一览

六大能力

能力 技术实现 实战价值
场景切换检测 ffmpeg select='gt(scene,X)' 单次扫描 快剪视频不漏关键帧,静态讲座不浪费 token
滑动窗口去重 16×16 RGB 像素差 + 窗口 = --dedup-window 4 A-B-A 切走再切回,已看过的镜头不重发
本地运行 全部处理在用户机器,0 上传 隐私视频、内部会议、未公开课程都能处理
Whisper 转录 openai-whisper 自动语言检测 99 种语言,自动判断 zh / en / 其他
yt-dlp 拉取 1000+ 网站视频一键下载 YouTube / B 站 / Instagram / TikTok 全支持
跨平台 Python 3.10+,纯 CLI 工具 macOS / Linux / Windows 全部跑得动

对比核心点:传统抽帧工具用的是"按时间等距采样"(每 N 秒取 1 帧),claude-real-video 用的是"按场景变化采样"(每次画面突变取 1 帧),后者的语义信息密度高 3-10 倍。


🛠️ 快速上手:5 分钟跑通示例

1. 安装

bash 复制代码
# 基础安装(仅抽帧 + 去重)
pip install claude-real-video

# 完整安装(带音频转录)
pip install "claude-real-video[whisper]"

# 系统依赖 ffmpeg(必须)
# macOS
brew install ffmpeg
# Linux
sudo apt install ffmpeg
# Windows
winget install Gyan.FFmpeg

# 验证
ffmpeg -version
crv --help

2. 一行命令处理视频

bash 复制代码
# 处理 YouTube 链接
crv "https://www.youtube.com/watch?v=..."

# 处理本地文件
crv lecture.mp4 -o out --lang zh

# 只要帧,不要转录
crv clip.mp4 --no-transcribe

# 登录态视频(自己账号的资源)
crv "https://..." --cookies cookies.txt

3. 输出结构

csharp 复制代码
crv-out/
├── frames/           # 去重后的关键帧 (frame_001.jpg ~ frame_NNN.jpg)
├── transcript.txt    # Whisper 转录的纯文本
├── MANIFEST.txt      # 给 LLM 看的时间戳 + 帧索引 + 摘要
├── audio.m4a         # 完整音轨(需 --keep-audio)
└── report.html       # 可视化每帧的 keep/drop 决策(需 --report)

4. Python API 调用

python 复制代码
from claude_real_video import process

r = process("https://youtu.be/...", "out", lang="en")
print(f"抽帧: {r.frame_count} 张")
print(f"转录: {r.transcript_path}")
print(f"时长: {r.duration}s")

5. 丢给 Claude 提问

crv-out/frames/ 整个文件夹 + MANIFEST.txt 拖进 Claude / ChatGPT / Gemini 的对话窗口,问:

  • "这段视频在讲什么?"
  • "作者对 X 话题的论据是什么?"
  • "找出所有提到'机器学习'的片段"

注意:场景切换敏感度 --scene 越低帧数越多(推荐 0.30 起步);最大帧数 --max-frames 默认 150,超出会均匀砍掉但保留时间分布。


📊 与传统抽帧方案对比

对比维度 claude-real-video 固定间隔采样 云端 AI 服务
帧选择策略 场景切换 + 密度下限 每 N 秒固定 云端采样(黑盒)
重复镜头 滑动窗口去重,每镜头仅 1 帧 A-B-A 重复发送 去重策略不公开
静态幻灯片 10 分钟压成 1 帧 600 近重复帧 通常浪费 token
快剪视频 捕获每个视觉变化 漏掉采样间帧 需手动调参
数据隐私 本地运行不上传 通常不上传 必须上传到云
输入方式 URL 或本地文件 仅本地文件 通常仅本地
跨 LLM 任何 LLM 都能用 任何 LLM 都能用 通常绑死单一服务
成本 0(ffmpeg/whisper 本地) 0 订阅费 + token 费

💡 适用场景

场景 1:跨境课程视频摘要

功能说明 :把 Coursera / Udemy / YouTube 教学视频用 crv 一行命令处理,得到关键帧 + 转录,丢给 Claude 3 分钟出"章节摘要 + 关键概念 + 课后题答案"。

输入要求:视频 URL 或本地 mp4 / mov / mkv 文件

输出效果

  • 关键帧 50-150 张(自动去重)
  • 完整 transcript.txt
  • 可直接喂给任何 LLM 的 MANIFEST.txt

适用场景

  • MIT 公开课 90 分钟讲座 → 关键帧 80 张 + transcript → Claude 出学习笔记
  • Bilibili 教程 30 分钟 → 关键帧 35 张 + transcript → 整理成博客
  • Ted Talk 18 分钟 → 关键帧 20 张 + transcript → 出文章草稿

场景 2:长会议录像检索

功能说明 :把 2 小时公司周会录像用 crv --report 处理,得到 report.html 可视化界面,浏览器打开能直接看到每帧的 keep/drop 决策,配合 transcript 用 Ctrl+F 搜关键词秒定位。

输入要求:mp4 / mov 会议录像,ffprobe 能读取的常见格式

输出效果

  • report.html 包含 150 帧缩略图 + 每帧的"距离最近保留帧的像素差"
  • transcript.txt 含时间戳的纯文本([00:12:34] 张三:xxx

适用场景

  • 内部产品评审会,找"上次关于 X 功能的讨论"
  • 投资人路演录像,自动生成投资人 Q&A 列表
  • 客户访谈视频,提取客户原话痛点

场景 3:自媒体二次创作素材提取

功能说明 :YouTube / TikTok / Instagram 上的爆款视频,用 crv "URL" 一行命令拉下来,保留完整 m4a 音轨--keep-audio)让 GPT-4o / Gemini 直接"听"音乐节奏和语气停顿,转录文本+关键帧再喂给 Claude 出脚本。

输入要求:yt-dlp 支持的 1000+ 视频网站

输出效果

  • 完整 audio.m4a(无损保留 BGM + 配音 + 音效)
  • transcript.txt 包含语气词(笑声、停顿)
  • 关键帧 30-100 张(按场景切分)

适用场景

  • 把英文 YouTube 教程转成中文博客(先转录→翻译→配图)
  • 拆解爆款短视频的"3 秒钩子"(关键帧 + 音轨)
  • 课程视频 + 字幕 + 配图 → 一键生成 Notion 学习卡

场景 4:竞品 / 用户研究视频分析

功能说明 :录屏工具录下竞品 App 操作视频 / 用户访谈视频,用 crv --scene 0.2(更敏感,帧更多)处理,配合 Gemini / GPT-4o 多模态直接做"用户行为聚类"。

输入要求:屏幕录像、相机录像、混合音频

输出效果

  • 高密度关键帧(每 2-3 秒一张)
  • 配合 LLM 视觉理解直接出"用户行为时间线"
  • transcript 还原对话原话

适用场景

  • 用户可用性测试 5 段录像 → 自动出"用户在第 3 步卡住 47 秒"
  • 竞品 App 新功能演示 → 拆解交互流程
  • 课堂实录 → 自动生成课堂笔记 + 提问列表

用户群体总结

  • AI 自媒体创作者:把英文视频转中文博客,5 分钟出稿
  • 产品 / UX 研究员:批量分析用户访谈录像
  • 教育工作者:长课程自动出学习笔记
  • 企业内部:周会 / 培训录像可检索化
  • 学术研究者:讲座 / 答辩录像整理成文献笔记
  • 不适合:需要实时视频流的场景(这是离线批量处理工具)

🏗️ 核心原理:为什么"场景感知 + 滑动窗口去重"是真创新

1. 单次 ffmpeg select 滤镜扫描

python 复制代码
# 核心代码(src/claude_real_video/core.py:90-98)
every_n = max(1, round(_fps(video) * fps_floor))
_run(["ffmpeg", "-i", video,
      "-vf", f"select='gt(scene,{scene})+not(mod(n,{every_n}))',scale=640:-1",
      "-vsync", "vfr", os.path.join(frames_dir, "raw_%05d.jpg"),
      "-hide_banner", "-loglevel", "error"])

一行 select='gt(scene,0.30)+not(mod(n,N))' 同时表达"场景变化时取"和"密度下限时取",单次扫描就拿到时间顺序正确的所有候选帧(避免两次扫描导致 A-B-A 乱序)。

2. 16×16 RGB 像素差去重

python 复制代码
# 滑动窗口去重核心
def sig(path: str, size: int = 16) -> list[tuple[int, int, int]]:
    return list(Image.open(path).convert("RGB").resize((size, size)).getdata())

def pct_diff(a, b, tol: int = 25) -> float:
    changed = sum(max(abs(x[0]-y[0]), abs(x[1]-y[1]), abs(x[2]-y[2])) > tol
                  for x, y in zip(a, b))
    return 100.0 * changed / len(a)

为什么不用 perceptual hash?

  • pHash 对纯色和等亮度色变(红→绿)会"瞎"------切镜头时漏判
  • 16×16 RGB 像素差 + tol=25 阈值 → 真实视觉变化 vs 噪点的硬判据

为什么是滑动窗口?

  • A 镜头 → B 镜头 → 切回 A 镜头,A 已经发给 LLM 了
  • 比较最后 4 帧(--dedup-window 4),不只看上一帧
  • 避免"切走又切回"导致的 token 浪费

3. 字幕优先 + Whisper 兜底

python 复制代码
# 优先用视频自带/外挂字幕
sidecar_srt = src.replace(".mp4", ".srt")
if os.path.exists(sidecar_srt):
    transcript = parse_srt(sidecar_srt)
elif has_embedded_subtitle(video):
    transcript = extract_embedded_subtitle(video)
else:
    # 兜底:Whisper 转录音频
    transcript = whisper.transcribe(audio, language=lang)

自带字幕比 Whisper 准 10 倍------B 站 / YouTube 视频的字幕质量远超 ASR。作者这个"先外挂后 ASR"的策略,是工程上最务实的选择。


💰 定价方案

完全免费 + 开源

  • 代码:MIT 协议,可商用、可修改、可闭源分发
  • 依赖:yt-dlp(MIT)+ Pillow(HPND)+ ffmpeg(LGPL/GPL)+ openai-whisper(MIT)
  • 运行成本:0(本地算力,CPU 跑 whisper 也不慢)
  • 上传成本:0(视频不上传任何云端)

和云端 AI 视频服务的对比

  • Gemini Video API: 0.002/秒,1小时视频=0.002/秒,1 小时视频 = 0.002/秒,1小时视频=7.2
  • ChatGPT Plus 看视频:$20/月订阅 + token 费
  • claude-real-video:$0(只要你电脑能跑 Python)

💡 最大价值:你公司的产品会议、用户访谈、未公开课程------这些根本不能上传到 OpenAI / Google 的私有视频------claude-real-video 是唯一选择。


🎯 总结

claude-real-video 用 700 行 Python 代码 + 几个老牌 CLI 工具(ffmpeg / yt-dlp / whisper)拼出了一个比 OpenAI / Google 更懂"看视频"的工程方案 。它不是新模型,没有"AI"魔法,但它解决了所有云端服务都没做对的根本问题:"看视频" 不是"等距采样",是"场景变化"

加上本地运行、跨 LLM、0 成本三大优势,它是目前处理私有视频 / 长视频 / 批量视频的最优解

推荐指数: ⭐⭐⭐⭐⭐(满分 5 星)

适合人群:

  • AI 自媒体创作者(YouTube 教程 → 中文博客)
  • 产品 / UX 研究员(用户访谈视频分析)
  • 企业内部(周会 / 培训录像可检索化)
  • 教育工作者(长课程自动出学习笔记)
  • 学术研究者(讲座 / 答辩录像整理)

立即体验:

bash 复制代码
pip install claude-real-video
crv "https://www.youtube.com/watch?v=你的第一个视频"

GitHub 仓库: HUANGCHIHHUNGLeo/claude-real-video


数据截至 2026-07-03,最新信息请以 GitHub 仓库为准。

相关推荐
IT知识分享1 小时前
WebP转JPG开发经验:从格式解码到本地批量转换的实践
javascript·python·图片转换
小柯南敲键盘1 小时前
Temu多语言商品图翻译实现方案
人工智能·python
威联通安全存储2 小时前
TS-h1677AXU-RP在工程机械机器人弧焊中的部署
大数据·人工智能·python·机器人
statistican_ABin2 小时前
WHO各国预期寿命影响因素分析与轻量回归预测
大数据·人工智能·python·数据分析·回归
卷无止境3 小时前
Python生成器与惰性求值:从yield说起的一场"暂停魔法"
后端·python
卷无止境3 小时前
从一个装饰器说起:拆解 Python 的 @property
后端·python
农村小镇哥3 小时前
python操作配置文件ini
开发语言·python
love530love11 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
cui_ruicheng13 小时前
Python从入门到实战(十六):多进程编程
开发语言·python