mcpField
M
mcp-ffmpeg-tools

mcp-ffmpeg-tools

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

关于 mcp-ffmpeg-tools

这是一个开源 Python MCP 服务,可执行 FFmpeg 命令并依据 FFmpeg 源代码进行校验,适用于需要查看命令输出和错误详情的 LLM 媒体处理工作流。

主要功能

  1. 01执行 FFmpeg 命令
  2. 02使用 ffprobe 检查媒体
  3. 03截取画面以检查结果
  4. 04根据 FFmpeg 源代码校验命令
  5. 05返回执行结果和错误信息

适用场景

  1. 01转换媒体文件
  2. 02提取音频和视频流
  3. 03叠加并定位视频片段
  4. 04检查输出分辨率和比特率

MCP 相关

该服务向 MCP 客户端提供 FFmpeg 执行、ffprobe 检查、截图和源代码查询工具。可在本地运行,也可通过 Docker 以 HTTP 方式提供 MCP API。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

mcp-ffmpeg-tools

一个开源的 Python MCP(Model-Command Protocol)服务,旨在让大模型(LLM)能够执行 FFmpeg 命令、接收执行结果,并根据 FFmpeg 源代码验证命令。

前置条件

安装 mcp-ffmpeg-tools 前,需要先在系统上安装 FFmpeg:

Windows
  1. 从 ffmpeg.org 下载 FFmpeg
  2. 将压缩包解压到任意位置
  3. 将 bin 目录添加到系统 PATH
macOS
brew install ffmpeg
Linux(Ubuntu/Debian)
sudo apt update
sudo apt install ffmpeg
Linux(Fedora)
sudo dnf install ffmpeg

功能

  • 通过 MCP 接口执行 FFmpeg 命令
  • 接收详细的执行结果和错误消息
  • 访问 FFmpeg 源代码以更正命令
  • 支持跨平台(Windows、macOS、Linux)
  • 使用 uv 管理环境

安装

  1. 克隆代码库:
git clone https://github.com/gamhoi/mcp-ffmpeg-tools.git
cd mcp-ffmpeg-tools
  1. 使用 uv 安装:
uv venv
uv pip install -e .

安装过程将会:

  1. 验证 FFmpeg 是否已安装且可通过系统 PATH 访问
  2. 下载用于验证的对应 FFmpeg 源代码
  3. 安装 Python 包及其依赖项

如果未找到 FFmpeg 或源代码下载失败,安装将失败。

用法

与 Claude Desktop 搭配使用

将以下配置添加到 Claude Desktop 设置中:

{
    "mcpServers": {
        "mcp-ffmpeg-tools": {
            "command": "uv",
            "args": [
                "--directory",
                "PATH_TO/mcp-ffmpeg-tools",
                "run",
                "ffmpeg-tools"
            ]
        }
    }
}
运行测试
uv run python3 client/test.py
提示词示例
基础提示词
Help me perform media conversion tasks using FFmpeg. You can:
- use tool:execute_ffmpeg to run FFmpeg commands
- use tool:execute_ffprobe to inspect results (e.g., resolution, bitrate)
- use tool:get_screenshot to inspect results (e.g., video layout, quality)
- use tool:ls_ffmpeg_source_code and tool:get_ffmpeg_source_code to validate commands using FFmpeg source code
提取视频和音频
Extract all media streams from the file 'YOU_FILE_PATH' and save outputs to 'YOU_OUTPUT_PATH'
叠加 2 个视频
Overlay file1 'YOU_FILE_PATH_1' and file2 'YOU_FILE_PATH_2', using file1 as the background. Scale file2 down to half its original resolution and position it at the top-right corner of file1. Save the output to 'YOUR_OUTPUT_PATH'.

使用 Docker 运行

你可以通过 Docker 以 HTTP 模式运行 MCP FFmpeg Tools。 这样可以通过 HTTP 端口公开 MCP API(/mcp),供客户端使用。

选项 1 — 从 Docker Hub 拉取

你可以直接从 Docker Hub 拉取并运行官方镜像:

docker pull gamhoi/mcp-ffmpeg-tools:latest

在端口 8000 上运行:

docker run -d -p 8000:8000 gamhoi/mcp-ffmpeg-tools:latest --port 8000

将以下配置添加到 Claude Desktop 设置中:

{
    "mcpServers": {
        "mcp-ffmpeg-tools-http": {
            "type": "streamableHttp",
            "url": "http://localhost:8000/mcp"
        }
    }
}

注意:默认 URL http://localhost:8000/mcp 假定 MCP 服务在本地运行。 如果你在远程或联网环境中运行,请将 localhost 替换为主机 IP 或域名。

选项 2 — 本地构建

如果你更愿意通过 Dockerfile 构建:

docker build -t mcp-ffmpeg-tools .
访问本地文件

默认情况下,容器内的 ffmpeg 无法访问 Docker 外部的本地文件。 若要让它处理本地视频,必须将主机目录挂载到容器中。

示例:

docker run -d -p 8000:8000 -v /local_media:/media gamhoi/mcp-ffmpeg-tools:latest --port 8000

在此示例中:

  • 你可以将本地视频文件放在:/local_media/sample.mp4
  • 在容器内,同一文件可通过以下路径访问:/media/sample.mp4

因此,当你要求大模型处理本地文件时,应这样操作:

Extract all media streams from the file /media/sample.mp4 and save outputs to /media/

评论

支持 Markdown

第一次接触 MCP?

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

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