被低估的AI工具:让任何大语言模型都能看懂视频
标题:这个被低估的AI工具,能让任何大模型“看懂”视频
我花了整整一个月,测试人们实际让大语言模型(LLM)“看”视频的各种方法。其中一个用户拿 2,181 个视频来压测,只有少数方案扛住了。我们来盘点一下摆在台面上的三条路。
方案一:上传到托管的多模态模型(比如 Gemini)
这是最短的路径,而且我得公平地说:对于“跟我说说这个片段”这类任务,Gemini 确实不错。你上传、提问、得到答案。它的取舍不是质量上的,而是结构上的:你的视频要离开你的机器,每次运行结果可能不同,而且你没法把同一份证据交给另一个模型。当答案看起来不对时,你没有任何东西可查——只能重新跑一次,碰运气。
方案二:跑一个“替你看完再描述”的流水线(byjlw/video-analyzer,1.5k 星)
这是个扎实的工具,设计也坦诚:OpenCV 抽取关键帧,Whisper 做语音识别,一个本地视觉模型(Llama 3.2 11B)描述每一帧,然后你阅读重建出的描述文本。问题在于,你的 LLM 从来没看过视频——它看到的是另一个模型对视频的看法。视觉模型每读错一帧,就变成一个你的 LLM 会自信重复的“事实”。而且你还得为这个流水线里的第二个模型付费。
方案三:直接把证据交给 LLM(claude-real-video)
这是被低估的那个,没错,它是我写的——但请评判论点,别管作者是谁。crv 把视频转成 LLM 真正能读的东西:场景感知的关键帧(带真实源时间戳)、时间戳转录文本(可选说话人标签)、以及一个告诉智能体如何读取文件夹的清单。没有中间模型。Claude(或 GPT,或本地模型)直接看实际帧,并引用 frame_012 @ 00:03:41。一切都在本地运行。
2,181 个视频教会我的事
一个用户用 crv 扫描了他的整个照片库——四天内处理了 2,181 个视频——然后把失败列表发给我,从最严重的开始。那个报告里有两个 bug 重塑了我对这个品类整体的看法:
基于百分比的帧去重,设计上就是有问题的。 一个静止场景中一个小物体移动,几乎改变不了变化百分比,所以帧会被当作重复帧丢弃。飞过天空的鸟、伸入镜头的手——恰恰是人会保留的那些帧。任何通过全局帧差异来做去重的工具,都有这个盲点。
crv 现在可以对局部画面变化进行评分;而均匀采样工具虽然能避免这个 bug——因为它把所有帧都保留下来——但你得用上下文窗口为这个选择买单。时间戳必须在整个处理流程中存活下来。经过“提取 → 去重 → 重命名”之后,大多数管线都丢失了与原始时间的映射关系。模型能描述幻灯片画面,却没法告诉你它是在视频的哪一秒出现的。crv 会解析 ffmpeg 的真实显示时间戳(PTS),并生成 frames.json;同一个用户后来对着原视频,逐一核对了那部 22 分钟讲座的全部 60 个最终帧——60/60 全部正确。这两个修复都不是来自我的测试集,而是来自一位拥有大量真实素材的用户。这就是这类工具的真实状态:最棘手的 bug 都在没人做 demo 的地方潜伏着。
什么时候该用哪一个?
- 一个片段、快速回答、不关心隐私 → Gemini
- 想要一份完整的文本描述,喜欢 Ollama 这套工具栈 → video-analyzer
- 想要你的大语言模型(LLM)在本地、可复现、且有可引用时间戳的可验证证据上进行推理 → claude-real-video
pip install "claude-real-video[fast]"
npx skills add HUANGCHIHHUNGLeo/claude-real-video
MIT 协议,运行在你的机器上。
源码:https://github.com/HUANGCHIHHUNGLeo/claude-real-video