video-understanding 是做什么的?
Agent技能:将带有时间戳的视频帧与本地Whisper生成的SRT字幕结合,生成关联视觉与语音的understanding.md文件。
概述
此技能提供了一种高效的方法,用于分析视频内容并生成一份综合性的文本报告(understanding.md)。它通过以下两步实现:
- 视频帧提取:从视频中提取关键帧,并为每个帧分配精确的时间戳。
- 语音转文字:利用本地Whisper模型生成SRT格式的字幕文件,包含语音内容与对应时间戳。
最终,该技能会将视觉帧与对应的语音片段进行关联,输出一份详细的报告,描述每一时刻的画面与对话内容。
使用方法
确保已安装以下依赖:
- Python 3.8+
- OpenCV (
cv2) - Whisper (
openai-whisper) 或本地Whisper实现 - FFmpeg (用于视频处理)
基本命令
# 示例:处理视频文件
python analyze_video.py --video input.mp4 --output understanding.md
配置
可通过环境变量或命令行参数进行配置:
| 参数 | 描述 | 默认值 |
|---|---|---|
--video | 输入视频文件路径 | 必需 |
--output | 输出文件路径(understanding.md) | understanding.md |
--fps | 帧提取速率(每秒帧数) | 1 |
--model | Whisper模型大小(tiny, base, small, medium, large) | base |
工作原理
- 帧提取:使用OpenCV从视频中按指定速率提取帧,并记录每帧的时间戳。
- 语音转录:使用本地Whisper模型将音频转录为带时间戳的SRT字幕。
- 关联分析:将视觉帧与语音片段按时间戳对齐,生成文本描述。
- 报告生成:将上述信息整合为Markdown格式的报告,便于阅读和后续处理。
输出示例
understanding.md文件的结构如下:
# 视频理解报告
## 时间戳 00:00:00 - 00:00:05
**画面**:标题屏幕,显示“产品介绍视频”
**语音**:“大家好,今天我们将介绍我们的新产品。”
## 时间戳 00:00:05 - 00:00:10
**画面**:演示者站在白板前,指向图表
**语音**:“首先,让我们看看市场趋势。”
注意事项
- 首次运行Whisper模型时会下载模型文件,请确保网络连接稳定。
- 处理长视频时,建议使用GPU加速以提升性能。
- 输出的
understanding.md文件可直接用于AI智能体的上下文,加速视频内容的理解。
许可
此项目基于MIT许可协议开源。