5分钟跑通: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语音识别,自动把视频画面和声音变成文字。读完本文,你可以完成安装、跑通第一次视频分析,并学会调帧密度和模型参数。
🎬 先看效果
最终产出是一个output/analysis.json文件,里面有完整语音转录、逐帧画面描述,和一段按时间顺序组织的视频综合摘要。摘要用自然语言说清视频在讲什么、画面发生了什么;加--keep-frames还能保留提取出的关键帧供你核对。完整样例见 docs/sample_analysis.json。
🚀 快速上手
第一步,准备依赖。需要 Python 3.11 以上和 FFmpeg,本地跑模型还需装好 Ollama。
第二步,安装。克隆、建虚拟环境、装包各一条命令:
sudo apt 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 pull llama3.2-vision video-analyzer video.mp4跑完后控制台会打印转录文本和视频摘要,完整结果写入output/analysis.json。
⚙️ 它是如何工作的
全流程分三步:1)用 OpenCV 计算帧间差异挑出有代表性的关键帧,同时用 Whisper 转录音轨;2)把每个关键帧逐一送给视觉模型,每帧描述都带着上一帧的时间上下文;3)把所有帧描述和转录合并,生成最终摘要。
上图是项目官方流程图:视频输入后先做关键帧选择与音频转录,再交给 LLM 逐帧分析,最后综合重构出完整描述。
🎯 能用来做什么
- 你遇到冗长会议录像要快速抓重点 → 跑一条
video-analyzer meeting.mp4 --prompt "提取核心决策和行动项"→ 得到一份结构化会议摘要加完整转录。 - 你遇到教学视频想整理知识点 → 跑一条
video-analyzer lecture.mp4 --whisper-model large→ 得到带时间戳的转录和关键画面说明。 - 你遇到敏感内容不能上传到云端 → 用默认 Ollama 客户端跑
video-analyzer video.mp4→ 全程本机处理,数据不出机器。
📊 调参速查表
| 场景 | 关键参数 | 推荐值 | 说明 |
|---|---|---|---|
| 5分钟以内短视频 | --max-frames | 30-50 | 帧数越多描述越细 |
| 30分钟长视频 | --max-frames | 20-30 | 均匀抽样,避免帧数过多 |
| 转录精度优先 | --whisper-model | large | 模型越大识别越好,CPU 上更慢 |
| 只想处理开头片段 | --duration | 300 | 只处理前 N 秒,省时间 |
☁️ 本地还是云端
- 本地(默认):
video-analyzer video.mp4。视频和音频都不离开你的机器,隐私最有保障,长视频依赖本机硬件速度。 - 云端:
video-analyzer video.mp4 --client openai_api --api-key sk-xxx --api-url https://api.openai.com/v1 --model gpt-4o能用更强更快的模型,适合不敏感的内容。
📖 读懂输出
结果都在output/analysis.json,四个关键字段:
{ "metadata": { "frames_extracted": 5, "transcription_successful": true }, "transcript": { "text": "I'm scared!" }, "frame_analyses": ["Frame 0: 人物站在黑色塑料容器前..."], "video_description": { "response": "The video begins with a person standing in front of a black plastic tub..." } }metadata:用的模型、提取了几帧、转录是否成功,先靠它判断流程是否跑全。transcript:完整转录文本,segments 里带时间戳。frame_analyses:每个关键帧的描述,含场景、动作和与上一帧的衔接点。video_description:最终摘要,也就是你最关心的产出。
🛠️ 最常见的3个卡点
- 跑得特别慢:先用
--duration 60只跑一分钟验证环境,长视频再降--max-frames或改用云端。 - 控制台提示转录不可靠:多半是音频质量差或视频没有音轨,可加
--language en指定语言提高置信度。 - 内存不足:把
--whisper-model降到 small 或 tiny,同时调小--max-frames。
video-analyzer 把"看完整个视频"变成"读完一份摘要"。跑通本地流程后,更多参数说明见官方文档 docs/USAGES.md,核心流程源码在 video_analyzer/ 目录。
【免费下载链接】video-analyzerAnalyze videos using LLMs, Computer Vision and Automatic Speech Recognition项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考