FFmpeg Python MCP Server
Provides tools for video and audio processing using FFmpeg, including format conversion, cutting, merging, hardware acceleration (Intel QSV, NVIDIA NVENC), stream processing, and GIF generation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FFmpeg Python MCP Serverconvert video.mp4 to audio.mp3"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FFmpeg Python MCP 服务器
📋 项目简介
这是一个基于 Model Context Protocol (MCP) 的 FFmpeg 视频音频处理服务器。该项目为 AI 助手提供了强大的视频和音频处理能力,包括格式转换、切割合并、特效添加等功能,支持硬件加速处理。
🌟 主要特性
🎬 完整的视频音频处理功能 - 转换、切割、合并、压缩等
⚡ 硬件加速支持 - Intel QSV、NVIDIA NVENC 等
🔄 异步并发处理 - 支持多任务并行执行
🌐 流媒体支持 - M3U8 合并、直播流处理
🎨 视频特效 - 水印、GIF转换、变速等
🤖 AI友好接口 - 标准 MCP 协议,易于集成
🚀 快速开始
前置要求
Python 3.12+
FFmpeg - 请先安装 FFmpeg:
# macOS brew install ffmpeg # Ubuntu/Debian sudo apt update && sudo apt install ffmpeg # Windows # 从 https://ffmpeg.org/download.html 下载uv 包管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh
安装和运行
克隆项目
git clone https://github.com/mabh111111/ffmpeg_python_mcp.git cd ffmpeg_python_mcp安装依赖
uv sync运行 MCP 服务器
# 开发模式(推荐用于测试) uv run mcp dev main.py # 或直接运行 uv run python main.py
🔧 MCP 配置和使用
什么是 MCP?
Model Context Protocol (MCP) 是一个标准化协议,允许 AI 助手(如 Claude、ChatGPT 等)安全地访问外部工具和资源。
在 AI 客户端中配置
配置 Claude Desktop
打开 Claude Desktop 配置文件:
# macOS ~/Library/Application Support/Claude/claude_desktop_config.json # Windows %APPDATA%\Claude\claude_desktop_config.json添加 MCP 服务器配置:
{ "mcpServers": { "ffmpeg-processor": { "command": "uv", "args": ["run", "python", "/path/to/ffmpeg_python_mcp/main.py"], "cwd": "/path/to/ffmpeg_python_mcp" } } }重启 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 # 项目文档🔧 开发指南
添加新工具
在相应模块中定义工具函数
使用
@server.tool装饰器注册添加完整的参数类型和文档字符串
@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!
Fork 本仓库
创建特性分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
🆘 支持
GitHub Issues: 提交问题
🔗 相关链接
⭐ 如果这个项目对你有帮助,请给个 Star!
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mabh111111/ffmpeg_python_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server