video-analyzer:AI视频分析,把视频转成可编辑的文字说明
【免费下载链接】video-analyzerAnalyze videos using LLMs, Computer Vision and Automatic Speech Recognition项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer
video-analyzer 是一款 AI 视频分析工具,你输入视频,它用视觉模型理解画面、用 Whisper 转写音频,最后输出一份按时间顺序组织的文字描述。结果保存在 JSON 文件里,可直接复制、改写或存档。支持完全本地运行,也可接入云端模型。
先跑什么任务
- 会议记录:输入会议录像,输出会议内容概述,适合需要整理纪要的团队。
- 课程教程整理:输入讲课视频,输出按时间推进的画面与讲解描述,适合学生和内容编辑。
- 素材摘要:输入大量剪辑素材,输出每段视频里发生了什么,适合快速筛片的人。
从 0 到第一次出结果
依赖两项:Python 3.11+ 和 FFmpeg(用于提取音频)。
sudo apt install ffmpeg # macOS 用 brew install ffmpeg git clone https://gitcode.com/gh_mirrors/vi/video-analyzer cd video-analyzer python3 -m venv .venv && source .venv/bin/activate pip install .本地跑需要 Ollama,安装后执行ollama pull llama3.2-vision拉取视觉模型;走云端则不需要 Ollama,命令行多传一个模型名即可。
最小运行命令:
video-analyzer demo.mp4默认走 Ollama 本地模型,结果写入output/目录。
你会拿到什么结果
运行完成后,output/目录下:
output/ ├── analysis.json # 主报告:元数据、转录、逐帧描述、整体摘要 ├── audio.wav # 从视频提取的音轨(中间产物) └── frames/ # 关键帧,默认运行后清理analysis.json是核心产出,包含四个部分:本次分析用的模型和帧数(metadata)、带时间戳的音频转录(transcript)、每个关键帧的文字描述(frame_analyses)、把全部内容串成时间线的视频总述(video_description)。逐帧描述还带时间戳,方便你定位到具体画面。想看完整结构,可对照示例报告。
按视频长度调整帧参数
帧即从视频中挑出的代表画面。帧多细节全但慢,帧少出结果快但容易漏掉关键动作。命令行上主要用--max-frames(总帧数上限,按整段视频均匀抽样)和--duration(只处理前 N 秒),更细的帧密度frames.per_minute在config/config.json里调。
| 任务场景 | 建议优先调的参数 | 关注结果 | 常见代价 |
|---|---|---|---|
| 几分钟的短视频 | --max-frames调大 | 动作细节是否完整 | 本地模型上更慢 |
| 几十分钟的会议 | --max-frames限总量,--duration只处理重点时段 | 完整跑完、转录连贯 | 未处理时段无描述 |
| 长讲座、长片 | 降低每分钟帧数,配合--max-frames | 整体脉络是否对 | 画面细节会丢 |
本地与云端的取舍
本地:默认客户端就是 Ollama,无需 API 密钥,数据不出机器,适合涉及保密材料的场景。代价是机器要求较高,README 建议至少 16GB 内存,本地跑视觉模型建议 12GB 显存的 GPU 或 32GB 内存的 Apple M 系列。
云端:通过--client openai_api接入任意 OpenAI 兼容接口,通常精度和速度更好,适合对外交付或批量处理:
video-analyzer demo.mp4 \ --client openai_api \ --api-key $API_KEY \ --api-url https://openrouter.ai/api/v1 \ --model gpt-4o其中$API_KEY只是占位符,换成你从服务商拿到的真实密钥。
结果不满意时先查这里
- 视频和音频质量:画面模糊、音轨太弱或有明显噪音都会影响结果;转录不可靠时,工具会跳过音频只做画面分析,日志里有提示。
- 帧密度:关键动作被漏掉时,加大
--max-frames或调高frames.per_minute。 - 模型选择:本地模型描述含糊时,换能力更强的云端视觉模型对比一次。
- 提示词侧重:用
--prompt说明关注点(例如"重点描述人物之间的互动"),语言不明确时可用--language固定转录语言。
继续深入
- 全部命令行参数和配置项:docs/USAGES.md
- 三阶段设计的详细说明:docs/DESIGN.md
- 一份真实的输出报告:docs/sample_analysis.json
- 默认配置:video_analyzer/config/default_config.json
- 核心源码:video_analyzer/
- 提示词自动调优子项目:video-analyzer-tune/
建议先用一段 3 分钟左右的视频按默认设置跑一遍,确认输出结构符合预期后,再回头调--max-frames和提示词。
【免费下载链接】video-analyzerAnalyze videos using LLMs, Computer Vision and Automatic Speech Recognition项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考