Gemma 4 视频分析
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1bdccb2a/gemma4-video-analysis。
技能介绍
要解决什么问题
本地 MP4 需要交给 Gemma 4 做多模态理解,但各家的 OpenAI 兼容网关对 video_url、payload 大小和超时的支持并不一致。把密钥写进脚本、错误被静默吞掉,或在不支持整段视频时硬传 base64,都会在联调阶段浪费大量时间。
技能如何工作
技能把可执行逻辑集中在 scripts/analyze_video.py,通过 函数式分解(读视频、建客户端、发起分析、CLI 入口)和类型注解,把边界校验放在命令行一侧:
- 用
python-dotenv从项目根目录.env读取GEMMA4_BASE_URL、GEMMA4_API_KEY、GEMMA4_MODEL等变量 - 校验环境变量与视频文件是否存在,缺失时打印变量名或绝对路径并以退出码
1结束 - 优先将本地视频编码为 data URI,经
/v1/chat/completions以video_url加默认中文提示词请求模型(max_tokens2048,超时 300 秒,较大负载场景) - 回退方案:若后端不接受
video_url,则以约 1 FPS 抽帧(60 秒内最多 60 帧),每帧作为image_url与提示词一并放入messages[0].content
API 异常在 try/except 中捕获并输出到终端,不修改全局只读环境状态。
适用边界与注意点
- Gemma 4 31B Dense 不处理音频;需要旁路转录,不要指望模型听懂音轨
- 帧回退有 60 秒 预算,长视频应先裁剪,避免 OOM 或被截断
- 大体积 base64 上传依赖 300 秒超时;仍须确认网关是否支持视频或多图消息
- 配置只提交
.env.example,勿将.env纳入版本控制
使用场景
- 接入自建的 Gemma 4 网关前,用本地 30 秒 MP4 跑通 `video_url` 请求并核对中文场景描述输出
- 后端只接受多图消息时,对不支持整段视频的接口启用 1 FPS 帧提取回退做联调
- 需要从硬盘上的活动录屏生成文字说明稿,用默认中文提示词调用 `/v1/chat/completions`
- 在 CI 或手工检查清单里验证缺失 `.env` 或文件不存在时脚本是否以退出码 1 明确报错
适合人员
- 负责对接 OpenAI 兼容多模态接口的后端工程师,需要可复用的本地视频探测脚本
- 要把线下拍摄的短素材(≤60 秒)转成中文画面说明的内容审核或标注同学
- 维护 Gemma 4 推理服务的人,要区分 `video_url` 与逐帧 `image_url` 两种调用路径
- 在多个环境切换 `GEMMA4_BASE_URL` 与密钥、拒绝把 API Key 写进源码的 MLOps 工程师