[开源] 让 Agent 真正「看懂」视频: Gemini 主动视频理解 MCP + Skill,附 FFmpeg 抽帧实测对比

liaocaoxuezhe 2026-09-15 14:52 1

9 月初 Google 发了篇博客介绍 agentic video understanding:视频理解不再是「按固定帧率抽帧 → 全部塞进上下文」,核心思路是淘汰以前用平均地抽帧来理解视频,而是让 agent 自己去决定看哪一帧。


我照着这个思路做了个开源项目 gemini-agentic-video:一个 MCP 服务 + Agent Skill ,让 Agent 能直接理解本地视频和 YouTube 链接。


它能做什么



  • 标准 MCP 服务,只暴露一个工具 analyze_video_agentic ,可接入 Claude Desktop / Cursor / Windsurf / Google Antigravity

  • 也能当 CLI 用:gemini-agentic-video --video ./match.mp4 --prompt "统计所有进球时间戳"

  • 附带标准 SKILL.md ,复制到 skills 目录就能用(这也是我在 Antigravity 里的实际用法)

  • 本地文件和 YouTube 链接都支持

  • 内置 configure 向导,自动验证并写入 API Key ( AI Studio 有免费额度,个人开发者不用绑卡)


和传统抽帧的区别


传统方案:长视频 → 固定 1fps 抽帧 → 几千张图全量进上下文 → Token 爆炸,还容易漏掉瞬时动作。


Agentic 方案:模型先粗筛定位,再按问题主动回看关键片段,必要时局部提高帧率复查。最终产物是一段带时间戳的分析,而不是一堆中间帧。


实测:Gemini Agentic vs FFmpeg 抽帧


我拿两个视频做了端到端对比( 20 秒足球片段 + 204 秒产品介绍视频),完整数据也放在了仓库 docs 里。


对比的结果发现:




  • Gemini 能准确捕捉到进球时刻,FFmpeg 不行:Gemini 明显更强。20 秒足球片段它准确抓到 14-15 秒的进球和随后的庆祝; FFmpeg 那组抽了 147 帧,却因为球被遮挡,最后保守地写成「无法确认进球」。




  • FFmpeg 的优势是用于截图取证。元数据、逐帧图片、接触表都能存下来,缺点是磁盘占用大(简单组 23MB ),而且它本身不理解画面和音频语义。




  • 复杂产品视频:两组都还原了主结构,Gemini 额外给出了十几段口播、英文解说、BGM 和转场描述; FFmpeg 只能确认音轨、音量、静音,理解不了内容。




  • 耗时上看,Gemini 理解视频的时间会长一些,但理解的效果好的多。:



    • 20 秒视频 Gemini 363 秒 vs FFmpeg 1232 秒( FFmpeg 组明显过采样了);

    • 204 秒视频反过来 FFmpeg 532 秒 vs Gemini 1179 秒,但 Gemini 那 1179 秒里包含 3 次失败重试,成功链路实际约 413 秒。




目前的坑(先说清楚)



  1. 必须上传到 Google 云端处理,隐私敏感素材请慎用

  2. 模型内部看了哪些帧是不可见的,重要结论建议再用 FFmpeg 抽关键帧复核


所以我自己的用法是:Agentic 负责定位和理解,FFmpeg 按它给的时间点取证复核,而不是二选一。


地址


GitHub: https://github.com/liaocaoxuezhe/gemini-agentic-video


Google 那篇博客: https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-agentic-video-in-gemini/


演示:我用它在 Antigravity 里一句 prompt 直出了一段 42 秒的足球进球集锦(剪辑用的是 ChatCut ,视频理解走 gemini-agentic-video ):
https://x.com/liaocaoxuezhe/status/2099342875456872930


Apache-2.0 开源,欢迎试用、提 issue ,也欢迎拍砖。

最新回复 (8)
  • liaocaoxuezhe 楼主 09-15 14:53
    1
    大家可以试用看看,加上这个 skills, 搭配 google 的 api key ,视频理解好用了很多。
  • Loker 09-15 15:04
    2
    一定要 gemini 吗? 其他 llm 有测试结果不?
  • liaocaoxuezhe 楼主 09-15 15:59
    3
    @Loker 目前只有 gemini 有 agentic 理解的能力,像豆包千问等等,都还是平均地抽帧。
  • liaocaoxuezhe 楼主 09-15 17:08
    4
    @liaocaoxuezhe 也不是平均地,就是算法决定抽哪些帧。视频变化快的地方,提高抽帧率;变化慢的地方,降低抽帧率;
  • McGrady222 09-15 17:42
    5
    用谷歌的 agy 可以吗?
  • laurent 09-15 19:52
    6
    实际上任何一个能读图像的模型应该都可以
    不需要自己提供截图,直接在 AI Agent 上 prompt: "用 ffmpeg 提取 @video_file.mkv 中的...."就行了
    AI Agent 会自己通过字幕提示/二分搜索等等方法,找到想看的帧,自己截图的理解的。

    Google 只是把这个过程封装成一个 API 而已。就相当于开一个 subagent 处理这个 task 。
  • ddoyou 09-15 23:58
    7
    如果是在大量视频里找一个场景呢,例如闪过的红色房子
  • youwink 09-16 00:41
    8
    codex 已经支持用剪影剪辑了
* 帖子来源V2EX
返回