🎬 Davinci MCP编排器
通过模型上下文协议实现DaVinci Resolve Studio的多代理AI视频编辑自动化。
一个Python系统,协调四个专门的人工智能代理来分析原始媒体,计划同步的时间线,并在DaVinci Resolve中自主执行编辑——所有这些都是通过MCP编排的。
______________________________________________________________________
建筑
┌─────────────────────────────────────────────────────────────────┐
│ ORCHESTRATION LOOP │
│ │
│ ┌──────────────┐ ┌──────────┐ ┌──────────────┐ │
│ │Contextualizer│ ──▶ │ Planner │ ──▶ │ Director │ │
│ │(Ingestion) │ │(Architect)│ │(Evaluator) │ │
│ └──────────────┘ └────┬─────┘ └──────┬───────┘ │
│ │ │ │ │
│ Gemini Vision Creates JSON Reviews & │
│ + librosa timeline plan scores edit │
│ │ │ │
│ │◄──── feedback ────┘ │
│ │ (up to 5x) │
│ ▼ │
│ ┌──────────┐ │
│ │ Editor │ ──▶ DaVinci Resolve │
│ │(Actuator)│ (via MCP) │
│ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘特工人物
| 代理 | 角色 | 技术 |
|---|---|---|
| 情境化者 | 分析视频内容和音频节拍 | Gemini Vision API+librosa |
| 规划师 | 创建节拍同步时间线序列 | Gemini(结构化JSON输出) |
| 导演 | 评估节奏、叙事、基调的编辑 | Gemini(电影导演角色) |
| 编辑 | 执行Resolve | MCP中批准的计划→ DaVinci Resolve API |
______________________________________________________________________
需求
- Python 3.10–3.12
- DaVinci Resolve Studio 18.5+ (免费版不支持外部脚本)
- Google Gemini API密钥 (在这里买一个)
- FFmpeg PATH(用于从视频文件中提取音频)
______________________________________________________________________
快速开始
1.克隆和安装
cd Davinci-MCP
pip install -e ".[dev]"2.配置
cp .env.example .env
# Edit .env with your GEMINI_API_KEY and paths3.设置DaVinci Resolve MCP
确保DaVinci Resolve Studio正在运行:
- 偏好→ 通用→ 使用外部脚本→ Local
这 davinci-resolve-mcp 服务器包含在此存储库中。在中设置路径 .env:
RESOLVE_MCP_SERVER_PATH=./davinci-resolve-mcp/src/server.py
RESOLVE_MCP_PYTHON=python4.跑步
# Full pipeline (with DaVinci Resolve)
python scripts/run.py \
--prompt "Create an energetic travel montage synced to beat drops" \
--media-dir ./media \
--audio ./soundtrack.wav
# Planning only (no Resolve needed)
python scripts/run.py \
--prompt "Create a calm nature documentary intro" \
--media-dir ./media \
--skip-resolve
# Validate configuration
python scripts/run.py --prompt test --validate______________________________________________________________________
CLI选项
| 标志 | 描述 |
|---|---|
--prompt, -p | 编辑创意简报(必填) |
--media-dir, -m | 原始视频/音频文件目录 |
--audio, -a | 通往主配乐的路径 |
--max-iterations, -n | Max规划师↔ 总监反馈周期(默认值:5) |
--skip-resolve | 跳过编辑器阶段——仅测试计划 |
--validate | 检查配置并退出 |
______________________________________________________________________
项目结构
Davinci-MCP/
├── pyproject.toml # Dependencies & project config
├── .env.example # Environment template
├── config/
│ └── settings.py # Central configuration
├── agents/
│ ├── base.py # BaseAgent ABC (Gemini + retry)
│ ├── contextualizer.py # Media ingestion orchestrator
│ ├── planner.py # Timeline architect
│ ├── editor.py # DaVinci Resolve actuator
│ └── director.py # Creative evaluator
├── ingestion/
│ ├── video_analyzer.py # Gemini Vision video analysis
│ ├── audio_analyzer.py # librosa beat/onset detection
│ └── schemas.py # Pydantic models for ingestion
├── mcp_bridge/
│ ├── resolve_client.py # MCP stdio client
│ └── tool_wrappers.py # Typed Resolve API wrappers
├── orchestrator/
│ └── loop.py # Main agent coordination loop
├── schemas/
│ ├── timeline_sequence.py # Planner output schema
│ └── director_verdict.py # Director evaluation schema
├── scripts/
│ └── run.py # CLI entry point
├── tests/ # Test suite
├── outputs/ # Generated artifacts (gitignored)
└── davinci-resolve-mcp/ # Bundled MCP server (cloned)______________________________________________________________________
运作原理
1.摄入(语境化)
- 视频:每个剪辑都上传到Gemini的文件API进行视觉分析。该模型返回每个时间戳的描述、镜头类型、相机运动、情绪和主题。结果另存为
.md映射文件。 - 音频:librosa提取BPM、节拍时间戳、发作(瞬态)时间戳和每节拍能量曲线。音频可以来自独立文件,也可以通过ffmpeg从视频中提取。
2.规划(规划师)
规划师接收创意简报+所有上下文数据,并生成 TimelineSequence JSON:
- 带有源输入/输出和时间线输入/输出点的剪辑位置
- 节拍同步图对齐剪切和过渡到音频节拍
- 过渡规格(切割、交叉溶解、褪色)
- 每个决定的创造性理由
3.评价(主任)
导演——体现了一位经验丰富的电影导演——从10个方面评估了该计划: 节奏、叙事、节拍同步、音调、视觉变化、过渡、剪辑选择、持续时间、连续性和创造力。
每个轴的得分为0-10。主任提供具有严重程度的分类反馈。 如果总分≥8.0且无关键问题,则该计划为 批准. 否则,Planner将进行修改(最多5次迭代)。
4.执行(编辑)
一旦获得批准,编辑将通过MCP连接到DaVinci Resolve,并:
- 将所有媒体导入池中
- 创建命名时间线
- 为片段添加正确的输入/输出点
- 在过渡点添加节拍标记
- 保存项目
______________________________________________________________________
测试
# Run all tests
pip install -e ".[dev]"
python -m pytest tests/ -v
# Run specific test
python -m pytest tests/test_audio_analyzer.py -v
python -m pytest tests/test_schemas.py -v______________________________________________________________________
许可证
麻省理工学院
