视频编辑自动化系统

一个基于多Agent的视频剪辑MCP系统,用于自动化视频内容分析、文案生成、配音、剪辑和合成。

  • by goulaobangzi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 goulaobangzi/video-editor-mcp

使用说明

Video Editor MCP

一个基于多Agent的视频剪辑MCP系统,用于自动化视频内容分析、文案生成、配音、剪辑和合成。

工作流程

┌─────────────────┐
│   输入视频      │
└────────┬────────┘
         ▼
┌─────────────────┐
│ 1. 视频分析Agent │ ──► 提取场景、关键时刻、叙事结构
└────────┬────────┘
         ▼
┌─────────────────┐
│ 2. 文案生成Agent │ ──► 根据视频内容生成解说文案
└────────┬────────┘
         ▼
┌─────────────────┐
│ 3. 配音生成Agent │ ──► 将文案转换为语音 (Edge-TTS)
└────────┬────────┘
         ▼
┌─────────────────┐
│ 4. 时间匹配Agent │ ──► 匹配文案与视频时间节点
└────────┬────────┘
         ▼
┌─────────────────┐
│ 5. 音视频同步Agent│ ──► 精确校对音视频同步
└────────┬────────┘
         ▼
┌─────────────────┐
│ 6. 混音合成Agent │ ──► 添加背景音乐,输出最终视频
└────────┬────────┘
         ▼
┌─────────────────┐
│   输出视频      │
└─────────────────┘

6个Agent详解

1. 视频分析Agent (VideoAnalyzerAgent)

  • 功能: 分析视频内容,提取场景、关键时刻、叙事结构
  • 输入: 视频文件路径
  • 输出: 场景列表、关键时刻、整体主题、情感基调
  • Prompt: prompts/video_analyzer_prompt.md

2. 文案生成Agent (CopywriterAgent)

  • 功能: 根据视频分析结果生成解说文案
  • 输入: 视频分析结果、风格、语气
  • 输出: 分段文案、时长估算、配音指导
  • Prompt: prompts/copywriter_prompt.md

3. 配音生成Agent (VoiceGeneratorAgent)

  • 功能: 将文案转换为语音
  • 输入: 文案结果、音色设置
  • 输出: 音频文件、时间轴数据
  • Prompt: prompts/voice_generator_prompt.md

4. 时间节点匹配Agent (TimelineMatcherAgent)

  • 功能: 匹配文案/配音与视频时间节点
  • 输入: 视频分析、文案、配音结果
  • 输出: 时间轴、同步报告、编辑命令
  • Prompt: prompts/timeline_matcher_prompt.md

5. 音视频同步Agent (AVSyncAgent)

  • 功能: 精确校对音视频同步
  • 输入: 视频、音频、时间轴数据
  • 输出: 同步后的音频、验证报告
  • Prompt: prompts/av_sync_prompt.md

6. 背景音乐合成Agent (AudioMixerAgent)

  • 功能: 混音并合成最终视频
  • 输入: 视频、配音、背景音乐
  • 输出: 最终视频文件
  • Prompt: prompts/audio_mixer_prompt.md

目录结构

video-editor-mcp/
├── agents/                 # Agent实现
│   ├── __init__.py
│   ├── video_analyzer.py
│   ├── copywriter.py
│   ├── voice_generator.py
│   ├── timeline_matcher.py
│   ├── av_sync.py
│   └── audio_mixer.py
├── prompts/               # Agent Prompt定义
│   ├── video_analyzer_prompt.md
│   ├── copywriter_prompt.md
│   ├── voice_generator_prompt.md
│   ├── timeline_matcher_prompt.md
│   ├── av_sync_prompt.md
│   └── audio_mixer_prompt.md
├── tools/                 # 工具函数
│   ├── __init__.py
│   ├── video_tools.py
│   ├── audio_tools.py
│   └── utils.py
├── mcp_server.py          # MCP服务器
├── mcp_config_example.json # MCP配置示例
├── requirements.txt
└── README.md

安装

1. 安装Python依赖

pip install -r requirements.txt

2. 安装FFmpeg

FFmpeg是必需的,用于音视频处理。

Windows:

# 使用 Chocolatey
choco install ffmpeg

# 或下载: https://ffmpeg.org/download.html

macOS:

brew install ffmpeg

Linux:

sudo apt install ffmpeg

3. 配置MCP

将以下配置添加到你的MCP配置文件中:

Windsurf (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "video-editor": {
      "command": "python",
      "args": ["d:/Develop/video-editor-mcp/mcp_server.py"],
      "env": {
        "PYTHONPATH": "d:/Develop/video-editor-mcp"
      }
    }
  }
}

MCP工具列表

工具名 描述
analyze_video 分析视频内容
generate_copy 生成解说文案
generate_voice 生成配音
match_timeline 匹配时间节点
sync_av 同步音视频
mix_audio 混音合成
get_agent_prompt 获取Agent的Prompt
process_video_full 完整处理流程

使用示例

单步调用

1. 调用 analyze_video 分析视频
2. 调用 generate_copy 生成文案
3. 调用 generate_voice 生成配音
4. 调用 match_timeline 匹配时间
5. 调用 sync_av 同步音视频
6. 调用 mix_audio 合成最终视频

一键处理

调用 process_video_full 自动执行完整流程

获取Agent Prompt

调用 get_agent_prompt 获取指定Agent的详细Prompt
可用于了解Agent能力或在其他场景复用

可选配置

Azure TTS (高质量)

pip install azure-cognitiveservices-speech

需要设置环境变量:

  • AZURE_SPEECH_KEY
  • AZURE_SPEECH_REGION

ElevenLabs (超高质量)

pip install elevenlabs

需要设置环境变量:

  • ELEVENLABS_API_KEY

注意事项

  1. 视频分析需要调用视觉AI模型(如GPT-4V、Gemini Vision)
  2. Edge-TTS是免费的,但质量不如付费服务
  3. 处理大视频时注意磁盘空间
  4. 背景音乐请使用无版权音乐