mcpField
F
ffmpeg-mcp

ffmpeg-mcp

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

关于 ffmpeg-mcp

ffmpeg-mcp 是基于 FFmpeg 的媒体处理 MCP 服务,供 AI 助手执行本地音视频操作。它提供常用剪辑与转换工具,并将输入输出限制在配置的工作区内。

主要功能

  1. 01音视频格式转换
  2. 02剪辑视频片段
  3. 03拼接多个视频
  4. 04图片转视频
  5. 05检测并移除静音
  6. 06受限 FFmpeg 命令

适用场景

  1. 01将 MOV 转为 MP4
  2. 02提取视频中的音频
  3. 03剪出指定视频片段
  4. 04清理播客录音中的静音

MCP 相关

它向 MCP 客户端提供音视频转换、剪辑、拼接、静音移除及受限 FFmpeg 命令等工具。文件操作限于配置的本地工作区。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"pedromarianoalmeida-ffmpeg": {
"command": "npx",
"args": [
"-y",
"ffmpeg-mcp-server"
]
}
}
}
启动命令npx -y ffmpeg-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmffmpeg-mcp-server1.0.2

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
durationstring是时长(例如,“00:00:30”或“30”)
inputPathstring是输入视频文件的路径
startTimestring是开始时间(例如,“00:01:30”或“90”)
outputPathstring是输出视频文件的路径

详细介绍

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

第一次接触 MCP?

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

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