一个强大的视频分析系统,使用模型上下文协议(MCP)通过AI视觉模型处理、分析和查询视频内容。
git clone https://github.com/michaelbaker-dev/mcpVideoParser.git
cd mcpVideoParser
pip install -r requirements.txt
ollama pull llava:latest # 用于视觉分析
ollama pull mistral:latest # 用于聊天交互
python mcp_video_server.py --http --host localhost --port 8000
python process_new_video.py /path/to/video.mp4 --location 车库
python standalone_client/mcp_http_client.py --chat-llm mistral:latest
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 视频文件 │────▶│ 视频处理器 │────▶│ 帧分析 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP服务器 │◀────│ 存储管理器 │◀────│ Ollama LLM │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ HTTP客户端 │
└─────────────────┘
编辑 config/default_config.json 自定义:
详情见 配置指南。
服务器暴露了这些MCP工具:
process_video - 处理并分析视频文件query_location_time - 根据位置和时间查询视频search_videos - 搜索视频内容和字幕get_video_summary - 获取视频的AI生成摘要ask_video - 关于特定视频提问analyze_moment - 分析视频中的特定时间戳get_video_stats - 获取系统统计信息get_video_guide - 获取使用说明从系统中清除所有视频并重置到初始状态:
# 干运行以查看将删除的内容
python clean_videos.py --dry-run
# 清除已处理的文件和数据库(保留原始文件)
python clean_videos.py
# 清除包括原始视频文件的所有内容
python clean_videos.py --clean-originals
# 跳过确认和备份
python clean_videos.py --yes --no-backup
此脚本将:
--no-backup)处理单个视频:
# 使用自动位置检测处理视频
python process_new_video.py /path/to/video.mp4
# 使用特定位置处理
python process_new_video.py /path/to/video.mp4 --location 车库
# 所有测试
python -m pytest tests/ -v
# 单元测试
python -m pytest tests/unit/ -v
# 集成测试(需要Ollama)
python -m pytest tests/integration/ -v
mcp-video-server/
├── src/
│ ├── llm/ # LLM客户端实现
│ ├── processors/ # 视频处理逻辑
│ ├── storage/ # 数据库和文件管理
│ ├── tools/ # MCP工具定义
│ └── utils/ # 工具和辅助函数
├── standalone_client/ # HTTP客户端实现
├── config/ # 配置文件
├── tests/ # 测试套件
└── video_data/ # 视频存储(git忽略)
欢迎贡献!请参阅 CONTRIBUTING.md 获取指南。
ollama serve # 启动Ollama
ollama pull llava:latest
ollama pull mistral:latest
# 更改命令中的端口
python mcp_video_server.py --http --port 8001
MIT许可证 - 详情见 LICENSE。
版本:0.1.1
作者:Michael Baker
状态:Beta - 可能会有重大变更