mcpField
F
Ffmpeg_python_mcp

Ffmpeg_python_mcp

本地服务
github.com/mabh111111媒体与设计370 周前更新

关于 Ffmpeg_python_mcp

Ffmpeg_python_mcp 是面向 AI 助手的 FFmpeg 媒体处理 MCP 服务,提供视频与音频转换、编辑和流媒体处理工具,并支持异步并发及硬件加速。

主要功能

  1. 01视频与音频格式转换
  2. 02音视频切割与合并
  3. 03水印、GIF 和变速特效
  4. 04M3U8 流媒体处理
  5. 05QSV 与 NVENC 硬件加速
  6. 06异步并发任务处理

适用场景

  1. 01从视频提取音频或片段
  2. 02批量转换与压缩媒体文件
  3. 03为视频添加水印或调整尺寸
  4. 04将 M3U8 流合并为 MP4

MCP 相关

该项目通过 MCP 暴露 FFmpeg 视频和音频处理工具,供 AI 客户端调用;支持 stdio 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

FFmpeg Python MCP 服务器

Python MCP FFmpeg License

📋 项目简介

这是一个基于 Model Context Protocol (MCP) 的 FFmpeg 视频音频处理服务器。该项目为 AI 助手提供了强大的视频和音频处理能力,包括格式转换、切割合并、特效添加等功能,支持硬件加速处理。

🌟 主要特性
  • 🎬 完整的视频音频处理功能 - 转换、切割、合并、压缩等
  • ⚡ 硬件加速支持 - Intel QSV、NVIDIA NVENC 等
  • 🔄 异步并发处理 - 支持多任务并行执行
  • 🌐 流媒体支持 - M3U8 合并、直播流处理
  • 🎨 视频特效 - 水印、GIF转换、变速等
  • 🤖 AI友好接口 - 标准 MCP 协议,易于集成

🚀 快速开始

前置要求
  1. Python 3.12+
  2. FFmpeg - 请先安装 FFmpeg:
    # macOS
    brew install ffmpeg
    
    # Ubuntu/Debian
    sudo apt update && sudo apt install ffmpeg
    
    # Windows
    # 从 https://ffmpeg.org/download.html 下载
    
  3. uv 包管理器:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
安装和运行
  1. 克隆项目

    git clone https://github.com/mabh111111/ffmpeg_python_mcp.git
    cd ffmpeg_python_mcp
    
  2. 安装依赖

    uv sync
    
  3. 运行 MCP 服务器

    # 开发模式(推荐用于测试)
    uv run mcp dev main.py
    
    # 或直接运行
    uv run python main.py
    

🔧 MCP 配置和使用

什么是 MCP?

Model Context Protocol (MCP) 是一个标准化协议,允许 AI 助手(如 Claude、ChatGPT 等)安全地访问外部工具和资源。

在 AI 客户端中配置
配置 Claude Desktop
  1. 打开 Claude Desktop 配置文件:

    # macOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
    
    # Windows
    %APPDATA%\Claude\claude_desktop_config.json
    
  2. 添加 MCP 服务器配置:

    {
      "mcpServers": {
        "ffmpeg-processor": {
          "command": "uv",
          "args": ["run", "python", "/path/to/ffmpeg_python_mcp/main.py"],
          "cwd": "/path/to/ffmpeg_python_mcp"
        }
      }
    }
    
  3. 重启 Claude Desktop

配置其他 MCP 客户端

对于支持 MCP 的其他客户端,使用以下连接信息:

  • 命令: uv run python main.py
  • 工作目录: 项目根目录
  • 协议: stdio
验证连接

运行服务器后,你应该能在 AI 助手中看到以下可用工具:

  • 视频音频提取和转换工具
  • 切割和合并功能
  • 硬件加速处理
  • 视频特效和压缩

🛠️ 主要功能

📤 音频提取
# 从视频提取音频
extract_audio_from_video(video_path, output_path?, audio_format?, audio_quality?)

# 提取音频片段
extract_audio_segment(video_path, start_time, duration, output_path?, audio_format?)
🔄 格式转换
# 视频格式转换
convert_video_format(input_path, output_path?, output_format?, video_codec?, audio_codec?, quality?)

# 音频格式转换  
convert_audio_format(input_path, output_path?, output_format?, audio_codec?, bitrate?)
✂️ 切割合并
# 视频切割
cut_video_segment(input_path, start_time, end_time?|duration?, output_path?)

# 视频合并
merge_videos(video_paths, output_path?, merge_method?)
🎨 视频特效
# 转换为GIF
video_to_gif(input_path, output_path?, start_time?, duration?, width?, fps?, quality?)

# 添加水印
add_watermark(input_path, watermark_path, output_path?, position?, opacity?, margin?)

# 调整分辨率
resize_video(input_path, width, height, output_path?, keep_aspect_ratio?)
🚀 硬件加速
# 检查硬件加速支持
check_hardware_acceleration()

# QSV硬件加速转换
convert_video_with_qsv(input_path, output_path?, output_format?, qsv_encoder?, quality?)
🌐 流媒体处理
# M3U8合并
merge_m3u8_to_mp4(m3u8_url, output_path, headers?)

⚡ 性能特性

异步并发处理
  • 所有处理函数支持异步执行
  • AI 可同时调用多个工具进行并行处理
  • 批量处理性能提升 3-5 倍
硬件加速
  • Intel QSV: 处理速度提升 3-10 倍
  • NVIDIA NVENC: GPU 硬件编码
  • 自动检测: 智能选择最佳加速方案

📁 项目结构

ffmpeg_python_mcp/
├── main.py                     # MCP 服务器入口
├── src/                        # 源代码模块
│   ├── tools/
│   │   └── math_tools.py       # 数学工具(示例)
│   ├── resources/
│   │   └── greeting.py         # 问候资源(示例)
│   └── config/
│       └── server_config.py    # 配置管理
├── pyproject.toml              # 项目配置
├── uv.lock                     # 依赖锁定
└── README.md                   # 项目文档

🔧 开发指南

添加新工具
  1. 在相应模块中定义工具函数
  2. 使用 @server.tool 装饰器注册
  3. 添加完整的参数类型和文档字符串
@server.tool()
async def my_new_tool(input_path: str, option: str = "default") -> str:
    """
    工具描述
    
    Args:
        input_path: 输入文件路径
        option: 可选参数
        
    Returns:
        处理结果
    """
    # 实现逻辑
    return result
运行测试
# 检查代码格式
uv run ruff check

# 运行开发模式
uv run mcp dev main.py

🤝 贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🆘 支持

🔗 相关链接


⭐ 如果这个项目对你有帮助,请给个 Star!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。