综合介绍
视频分析工具(Video Analyzer)是一个综合性的视频分析工具,结合了计算机视觉、音频转录和自然语言处理技术,能够生成详细的视频内容描述。该工具通过提取视频中的关键帧,转录音频内容,并生成自然语言描述,帮助用户更好地理解和分析视频内容。视频分析工具可以完全本地运行,无需云服务或API密钥,也可以利用任何兼容OpenAI API的服务来提高速度和规模。
功能列表
- 视频帧提取:自动识别并提取视频中的关键帧。
- 音频转录:使用Whisper模型进行音频内容的转录。
- 自然语言描述:将提取的帧和转录的音频内容转化为自然语言描述。
- 多模型支持:支持使用不同的大型语言模型(如Ollama Vision模型)进行分析。
- 输出结果:生成包含分析结果的JSON文件,供进一步使用或检视。
使用帮助
安装流程
要使用视频分析工具,你首先需要安装一些必要的软件和库:
- 克隆仓库:
- 使用Git克隆GitHub上的项目仓库:
git clone https://github.com/byjlw/video-analyzer.git cd video-analyzer
- 使用Git克隆GitHub上的项目仓库:
- 创建虚拟环境:
- 为了避免环境冲突,建议创建一个新的虚拟环境:
python3 -m venv .venv source .venv/bin/activate # 在Windows上使用 .venv\Scripts\activate
- 为了避免环境冲突,建议创建一个新的虚拟环境:
- 安装依赖:
- 安装项目所需的所有Python包:
pip install .
- 或者如果你希望在开发模式下安装,可以使用:
pip install -e .
- 安装项目所需的所有Python包:
- 配置FFmpeg:
- 确保你的系统已安装FFmpeg,用于视频和音频的处理。
使用视频分析工具
- 运行分析:
- 最基本的使用方式是直接指定视频文件:
video-analyzer path/to/video.mp4
- 你可以传递更多的参数来定制分析过程:
video-analyzer video.mp4 --config custom_config.json --output ./custom_output --frames-per-minute 15 --duration 60
- 参数说明:
--config
:指定配置文件路径。--output
:设置输出路径。--frames-per-minute
:设置每分钟提取的帧数。--duration
:限制分析的视频时长,以秒为单位。
- 最基本的使用方式是直接指定视频文件:
- 处理结果:
- 分析完成后,工具会在指定的输出目录中生成一个
analysis.json
文件,其中包含了每个关键帧的分析结果和音频转录的文本描述。
- 分析完成后,工具会在指定的输出目录中生成一个
- 高级配置:
- 你可以使用自定义配置文件来设置更详细的参数,如选择特定的Whisper模型大小(tiny, base, small, medium, large),设置语言检测的阈值,或决定是否保留提取的帧图片等。
功能操作流程
- 帧分析:
- 工具会按设定的速率从视频中提取关键帧,然后对每个帧进行计算机视觉分析,记录其时间戳和分析结果。
- 音频处理:
- 音频从视频中分离出来,并通过Whisper模型进行转录。转录的内容会与视频帧的信息结合,生成更完整的视频描述。
- 生成描述:
- 工具会将所有分析数据组合成一个连贯的视频描述,使用了先前提取的帧和音频转录内容。这部分功能利用了自然语言处理技术,使得描述更具可读性。
使用这个工具可以帮助用户快速了解视频内容,特别是在处理大量视频或需要自动生成视频概要的场景下,极大地提升了效率。