关于 ffmpeg-mcp
ffmpeg-mcp 是基于 FFmpeg 的媒体处理 MCP 服务,供 AI 助手执行本地音视频操作。它提供常用剪辑与转换工具,并将输入输出限制在配置的工作区内。
主要功能
- 01音视频格式转换
- 02剪辑视频片段
- 03拼接多个视频
- 04图片转视频
- 05检测并移除静音
- 06受限 FFmpeg 命令
适用场景
- 01将 MOV 转为 MP4
- 02提取视频中的音频
- 03剪出指定视频片段
- 04清理播客录音中的静音
MCP 相关
它向 MCP 客户端提供音视频转换、剪辑、拼接、静音移除及受限 FFmpeg 命令等工具。文件操作限于配置的本地工作区。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| duration | string | 是 | 时长(例如,“00:00:30”或“30”) |
| inputPath | string | 是 | 输入视频文件的路径 |
| startTime | string | 是 | 开始时间(例如,“00:01:30”或“90”) |
| outputPath | string | 是 | 输出视频文件的路径 |
详细介绍
FFmpeg MCP 服务
一个由 FFmpeg 驱动的视频和音频处理 Model Context Protocol(MCP)服务。该服务使 AI 助手能够执行媒体操作,例如剪辑视频、转换格式、删除静音片段等。
功能
- 独立运行 - 通过
ffmpeg-static附带 FFmpeg 二进制文件,无需系统安装 - 格式转换 - 在音频/视频格式之间转换(mp4、mp3、wav、mov 等)
- 视频编辑 - 剪辑片段、拼接多个视频、将图像转换为视频
- 音频处理 - 自动检测并删除静音片段
- 默认本地处理 - 输入和输出均保留在已配置的工作区内
可用工具
| 工具 | 描述 |
|---|---|
cut_video | 根据开始时间和时长提取视频片段 |
image_to_video | 将静态图像转换为固定时长的视频 |
concat_videos | 将多个视频合并为一个 |
convert | 在媒体格式之间转换(根据文件扩展名自动检测) |
remove_silence | 检测并删除视频中的静音片段 |
ffmpeg_raw | 运行受限的本地 FFmpeg 命令 |
安装
从 npm 安装(推荐)
npm install -g ffmpeg-mcp-server
从源代码安装
git clone https://github.com/PedroMarianoAlmeida/ffmpeg-mcp
cd ffmpeg-mcp
npm install
npm run build
配置
工作区与安全
所有输入和输出都必须位于 FFMPEG_MCP_WORKSPACE 内。如果未设置,则使用服务的当前工作目录。服务会在读取前解析符号链接,并拒绝 URL 方案、超出工作区的路径遍历以及符号链接输出。运行工具前,请先创建输出目录。
ffmpeg_raw 有意受到限制。它接受本地 -i 输入、一个最终本地输出路径,以及少量编解码器和时间选项。它不接受滤镜、强制格式或任意 FFmpeg 标志,因为这些选项可能会加载额外文件或使用网络协议。
例如,在 MCP 配置中设置专用媒体目录:
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["ffmpeg-mcp-server"],
"env": {
"FFMPEG_MCP_WORKSPACE": "/absolute/path/to/media-workspace"
}
}
}
}
Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["ffmpeg-mcp-server"]
}
}
}
Claude Code
将以下内容添加到你的 Claude Code MCP 设置中:
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["ffmpeg-mcp-server"]
}
}
}
使用示例
剪辑视频片段
"Cut the first 30 seconds from video.mp4"
→ Uses cut_video tool
转换格式
"Convert video.mov to mp4"
"Extract audio from video.mp4 as mp3"
→ Uses convert tool
删除静音片段
"Remove silent parts from my podcast recording"
→ Uses remove_silence tool (detects silence > 2s at -30dB by default)
受限的原始操作
"Convert input.mp4 to output.mp4 using libx264"
→ Uses ffmpeg_raw with local paths and supported codec options
开发
# Install dependencies
npm install
# Build
npm run build
# Project structure
src/
index.ts # MCP server setup and tool registrations
lib.ts # FFmpeg operations
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。