用途:从视频文件中抽取帧,生成适合 AI/LLM 视觉分析的 JPEG 图像,用于让模型分析、描述或总结视频内容。
主要能力:支持多种抽帧策略(固定 FPS、场景切换检测、目标帧数 --max-frames 自动计算 FPS);提供 efficient、balanced、detailed、ocr 四种质量预设,控制分辨率、JPEG 质量与图像处理;支持 --target-model 按 claude、openai、gemini、universal 的瓦片边界优化尺寸以减少 token 浪费;支持 --grayscale、--high-contrast 及 ocr 预设的锐化,便于提取文字;支持 --timestamps 在帧右下角叠加文件名与 hh:mm:ss 时间戳。
使用方式:需先安装 ffmpeg 与 ffprobe 并加入 PATH(macOS:brew install ffmpeg)。基本调用:python3 scripts/extract_frames.py video.mp4;推荐用 --max-frames 自动计算帧率,例如 python3 scripts/extract_frames.py video.mp4 --max-frames 30。场景检测示例:python3 scripts/extract_frames.py video.mp4 --scene-threshold 0.3。脚本向 stdout 输出 JSON,包含 output_dir、frames 路径、resolution、token_estimate 与 summary;出错时向 stderr 输出含 error 键的 JSON 并以退出码 1 结束。之后解析帧路径、检查 token 估算、读取 JPEG 帧进行分析,完成后清理临时目录。
适用场景:视频内容问答与总结、演示或教程的分段抽帧、屏幕录制与文档类视频的文字提取。
限制:--fps 与 --scene-threshold 互斥;--max-frames 只能配合 --fps 模式,不能用于场景检测;--target-model 设置的尺寸会被显式 --max-dimension 覆盖;建议总帧数控制在约 50 以内以适配 LLM 上下文。其余未在资料中说明的收费、平台或效果暂未提供。