视频处理服务器

一个集成了FFmpeg视频处理、YouTube下载和Groq AI分析的综合性视频处理服务器。

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

使用说明

视频MCP服务器-完整解决方案

最全面的视频处理MCP服务器 -结合了FFmpeg视频处理、YouTube下载和可选的Groq AI分析。

功能概述

视频存储

默认情况下,下载的视频会保存到:

~/video-downloads/

您可以使用以下命令指定自定义目录 output_dir 参数。

要清理旧下载:

rm -rf ~/video-downloads/*

三类工具:

  1. 仅FFmpeg模式 (不需要API密钥)

    • 视频元数据提取
    • 帧/屏幕截图提取
    • 音频提取到MP3
    • 视频分割成片段
  2. YouTube工具 (不需要API密钥)

    • 获取YouTube视频信息
    • 下载YouTube视频(360p-1080p,质量最好)
  3. AI供电模式 (带Groq API密钥)

    • 基于Llama 4 Vision的AI视频分析
    • 自动视频摘要
    • 使用Whisper进行音频转录
    • 完整的视频分析(视觉+音频)

总计:10个强大的工具!

先决条件

  • Python 3.10+
  • FFmpeg(必填)
  • 可选:Groq API密钥(免费)用于AI功能

安装FFmpeg

# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg

# macOS
brew install ffmpeg

# Windows: https://ffmpeg.org/download.html

获取Groq API密钥(免费和可选)

对于AI功能,获得免费的API密钥:

  1. 访问https://console.groq.com/keys
  2. 注册(免费)
  3. 创建API密钥

安装

cd video-mcp-server
pip3 install --break-system-packages -e .

或者使用安装脚本:

./install.sh

配置

OpenCode配置

没有API密钥(仅限FFmpeg-):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "video-mcp-server": {
      "type": "local",
      "command": ["python", "-m", "video_mcp_server.server"]
    }
  }
}

使用API键(完整的人工智能功能):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "video-mcp-server": {
      "type": "local",
      "command": ["python", "-m", "video_mcp_server.server"],
      "environment": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}

克劳德桌面(克劳德代码)

配置文件位置:

  • Linux/macOS: ~/.config/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

配置示例:

{
  "mcpServers": {
    "video-mcp-server": {
      "command": "python3",
      "args": ["-m", "video_mcp_server.server"],
      "env": {
        "GROQ_API_KEY": "YOUR_GROQ_API_KEY_HERE"
      }
    },
    "vision-mcp-server": {
      "command": "python3",
      "args": ["-m", "vision_mcp_server.server"]
    }
  }
}

看 claude-desktop-config-example.json 举一个完整的例子。

有关详细设置: 看 CLAUDE_SETUP.md

注: 对于Linux/macOS,请使用 python3。对于Windows,请使用 python.

📋 检查OpenCode连接状态

要验证服务器是否已连接:

opencode mcp list

预期产量:

●  ✓ video-mcp-server  connected
     python3 -m video_mcp_server.server

📖 有关详细的OpenCode设置

看 OPENCODE_SETUP.md 用于:

  • 完整的安装指南
  • 所有可用工具(10个工具)
  • 使用示例
  • 故障排除
  • 测试脚本

快速开始

  1. 安装:
cd video-mcp-server
pip3 install --break-system-packages -e .
  1. 配置OpenCode: 将上述配置复制到 ~/.config/opencode/config.json

  2. 测试连接:

opencode mcp list
  1. 使用OpenCode聊天中的工具:
Get information about this video: /path/to/video.mp4
Download this video: https://youtube.com/watch?v=...
Analyze this video: /path/to/video.mp4

可用工具

仅限FFmpeg-的工具(不需要API密钥)

1. get_video_info

获取视频文件的元数据。

用途:

Get information about this video: tutorial.mp4

退货:

  • 持续时间(秒和分钟)
  • 分辨率(宽x高)
  • 视频编解码器
  • 文件名

2. extract_video_frames

以相等的间隔提取帧/屏幕截图。

用途:

Extract 5 frames from this video: demo.mp4

参数:

  • video_path:视频路径
  • num_frames:帧数(默认值:5,最大值:20)
  • output_dir:保存帧的位置(可选)

退货: 提取帧图像的路径

3. extract_video_audio

将音轨提取为MP3文件。

用途:

Extract audio from this video: lecture.mp4

退货: 提取的MP3文件的路径

4. split_video

将视频分割成更小的片段。

用途:

Split this video into 60-second segments: long-video.mp4

参数:

  • video_path:视频路径
  • segment_duration:每段秒数(默认值:60,最大值:300)
  • output_dir:保存分段的位置(可选)

退货: 段文件路径列表

YouTube工具(无需API密钥)

5. get_youtube_info

无需下载即可获取有关YouTube视频的信息。

用途:

Get info about this YouTube video: https://youtube.com/watch?v=...

退货:

  • 视频标题
  • 持续时间
  • 上传者名称
  • 浏览次数
  • 点赞数
  • 上传日期
  • 简短描述

6. download_youtube_video

将YouTube视频下载到本地存储。

用途:

Download this YouTube video in 720p: https://youtube.com/watch?v=...

参数:

  • url:YouTube视频URL
  • quality:视频质量(360p、480p、720p、1080p,最佳)
  • output_dir:保存视频的位置(可选)

退货: 带有标题和元数据的下载视频文件的路径

AI动力工具(Groq API密钥要求)

7. analyze_video

使用Llama 4 Vision对视频内容进行AI分析。

用途:

Analyze this video and describe what's happening: tutorial.mp4

参数:

  • video_path:视频路径
  • prompt:自定义分析提示(可选)
  • num_frames:要分析的帧(默认值:5,最大值:10)

退货: 视频内容的详细AI分析

6. summarize_video

人工智能驱动的视频摘要,具有叙事流。

用途:

Give me a summary of this video: lecture.mp4

退货:

  • 主要议题/主题
  • 按时间顺序排列的关键事件
  • 设置和背景
  • 视觉元素
  • 总体叙述

7. transcribe_video

AI音频转录使用Whisper API。

用途:

Transcribe the audio from this video: meeting.mp4

退货: 视频音频的全文转录

8. analyze_video_complete

最全面的分析-结合了视觉和听觉。

用途:

Do a complete analysis of this video with visuals and audio: demo.mp4

退货:

  • 视觉场景分析
  • 音频转录
  • 综合见解

使用示例

基本用法(无API密钥)

# Get video info
Get information about tutorial.mp4

# Extract frames for manual analysis
Extract 10 frames from presentation.mp4

# Extract audio
Get audio from meeting.mp4

# Split long video
Split lecture.mp4 into 5-minute segments

# Get YouTube info
Get info about this YouTube video: https://youtube.com/watch?v=...

# Download from YouTube
Download this YouTube video: https://youtube.com/watch?v=...

YouTube工作流程

# Step 1: Get info about YouTube video
Get info: https://youtube.com/watch?v=abc123

# Step 2: Download video
Download in 720p: https://youtube.com/watch?v=abc123

# Step 3: Process downloaded video
Extract frames from downloaded_video.mp4

获取视频信息

获取tutorial.mp4的相关信息

提取帧以进行手动分析

从presentation.mp4中提取10帧

提取音频

从meeting.mp4获取音频

分割长视频

将讲师.mp4分成5分钟的片段


### AI-Powered Usage (With API Key)

AI视频分析

分析此教程视频并解释步骤

获取摘要

总结此讲座视频

转录

转录此演示文稿的音频

完整分析

对这个演示视频进行全面的视觉和音频分析


### Combined Workflow

步骤1:提取帧

从tutorial.mp4中提取框架

第2步:AI分析它们(如果设置了API密钥)

帮我分析这些图片

或者:直接AI视频分析

分析教程.mp4


## Models Used

- **Meta Llama 4 Scout 17B** (vision) - For video frame analysis
- **Whisper Large V3 Turbo** - For audio transcription
- Both available for free via Groq API

## Testing

Run the test suite:

```bash
python3 test_server.py

这将检查:

  • ✓ FFmpeg安装
  • ✓ 所有导入(视频处理器、YouTube下载程序、AIAnalyzer)
  • ✓ 工具注册(10个工具:4个FFmpeg、2个YouTube、4个AI)
  • ✓ API密钥检测

建筑

┌─────────────────────────────────────────────┐
│           Video MCP Server                  │
│                                             │
│  ┌──────────────────────────────────────┐  │
│  │     VideoProcessor (FFmpeg)          │  │
│  │  • get_video_info                    │  │
│  │  • extract_frames                    │  │
│  │  • extract_audio                     │  │
│  │  • split_video                       │  │
│  └──────────────────────────────────────┘  │
│                                             │
│  ┌──────────────────────────────────────┐  │
│  │     YouTubeDownloader (yt-dlp)      │  │
│  │  • get_youtube_info                  │  │
│  │  • download_youtube_video            │  │
│  └──────────────────────────────────────┘  │
│                                             │
│  ┌──────────────────────────────────────┐  │
│  │      AIAnalyzer (Groq API)           │  │
│  │  • analyze_video                     │  │
│  │  • summarize_video                   │  │
│  │  • transcribe_video                  │  │
│  │  • analyze_video_complete            │  │
│  └──────────────────────────────────────┘  │
│                                             │
└─────────────────────────────────────────────┘

支持格式

FFmpeg支持的任何格式:

  • MP4、AVI、MOV、MKV、WebM、FLV、WMV等。

故障排除

未找到FFmpeg

sudo apt install ffmpeg  # Ubuntu/Debian
brew install ffmpeg      # macOS

YouTube下载问题

# Install/upgrade yt-dlp
pip3 install --upgrade yt-dlp

# Check yt-dlp version
yt-dlp --version

# Test directly
yt-dlp --help

AI功能不起作用

  • 检查一下 GROQ_API_KEY 已设置
  • 验证密钥在以下位置有效https://console.groq.com/keys
  • 服务器以仅FFmpeg模式启动,不带密钥

权限错误

chmod +x /path/to/video/file

许可证

麻省理工学院

完整功能列表

✅ 4个仅支持FFmpeg的工具 (没有API密钥) ✅ 2 YouTube工具 (没有API密钥) ✅ 4个AI驱动的工具 (带Groq API) ✅ 共10个工具 ✅ 视频元数据提取 ✅ 帧提取(最多20帧) ✅ 音频提取到MP3 ✅ 视频分割 ✅ YouTube视频信息检索 ✅ YouTube视频下载(360p-1080p,最佳) ✅ AI视频分析(Llama 4 Vision) ✅ AI视频摘要 ✅ AI音频转录(Whisper) ✅ 完整的视觉+音频分析 ✅ 适用于任何支持FFmpeg的格式 ✅ 适用于YouTube视频 ✅ 可选API密钥-优雅的降级