使用说明

项目简介

本项目 'ffmpeg-mcp' 是一个 MCP (Model Context Protocol) 服务器的实现,它利用流行的音视频处理工具 FFmpeg,对外提供了一系列媒体操作工具。该服务器允许 LLM (大型语言模型) 客户端通过标准的 MCP 协议调用 FFmpeg 的功能,例如加速视频、提取音频等。这使得 LLM 应用能够方便地集成音视频处理能力。

主要功能点

  • 工具注册与执行: 提供了 'speed_up' (视频加速) 和 'extract_audio' (音频提取) 两个工具,未来可能扩展更多 FFmpeg 工具。
  • 基于 Stdio 传输: 使用标准的 Stdio (标准输入输出) 作为 MCP 服务器的传输协议,易于集成和部署。
  • 简单的配置: 可以通过环境变量 'FFMPEG_PATH' 指定 FFmpeg 可执行文件的路径,默认使用系统环境变量中的 'ffmpeg' 命令。
  • 结构化的输入输出: 工具的输入参数和输出结果都进行了结构化定义,方便 LLM 客户端理解和处理。
  • 日志记录: 支持 MCP 的日志记录功能,方便调试和监控。

安装步骤

  1. 安装 FFmpeg: 确保你的系统上已经安装了 FFmpeg。如果还没有安装,请根据你的操作系统查阅 FFmpeg 官方文档进行安装。
  2. 安装 ffmpeg-mcp (作为 MCP 客户端的依赖): 通常情况下,你不需要手动安装 'ffmpeg-mcp' 服务器本身,而是将其启动命令配置到你的 MCP 客户端中。 'ffmpeg-mcp' 本身是一个可以直接运行的 Node.js 项目,可以通过 'npx' 直接运行。

服务器配置 (MCP 客户端配置)

对于 MCP 客户端,你需要配置以下信息来连接 'ffmpeg-mcp' 服务器。以下是 JSON 格式的配置示例,请根据你的 MCP 客户端的具体配置方式进行设置:

{
  "serverName": "ffmpeg-mcp",
  "command": "npx",
  "args": ["ffmpeg-mcp"]
}

参数说明:

  • 'serverName': 服务器的名称,可以自定义,例如 "ffmpeg-mcp"。
  • 'command': 启动服务器的命令,这里使用 'npx' (Node Package Execute),它允许你直接运行 npm 包的可执行文件。
  • 'args': 传递给 'npx' 命令的参数,'["ffmpeg-mcp"]' 表示运行名为 'ffmpeg-mcp' 的 npm 包。

高级配置 (可选): 如果你希望指定 FFmpeg 的可执行文件路径,可以在启动 'ffmpeg-mcp' 服务器的环境中设置 'FFMPEG_PATH' 环境变量。例如,在运行上述 'npx' 命令之前,可以先设置环境变量:

export FFMPEG_PATH=/path/to/your/ffmpeg
npx ffmpeg-mcp

或者在 MCP 客户端配置启动命令时,加入环境变量设置 (取决于 MCP 客户端是否支持):

{
  "serverName": "ffmpeg-mcp",
  "command": "env",
  "args": ["FFMPEG_PATH=/path/to/your/ffmpeg", "npx", "ffmpeg-mcp"]
}

基本使用方法

  1. 启动 MCP 服务器: 在 MCP 客户端中配置好上述服务器信息后,启动 MCP 客户端,客户端会自动尝试连接并启动 'ffmpeg-mcp' 服务器。
  2. LLM 调用工具: 在 LLM 应用中,你可以指示 LLM 调用 'ffmpeg-mcp' 服务器提供的工具。例如,你可以指示 LLM 调用 'speed_up' 工具来加速视频,并提供必要的参数,如 'input_file' (输入文件路径) 和 'speed_factor' (加速倍数)。
  3. 服务器执行工具并返回结果: 'ffmpeg-mcp' 服务器接收到工具调用请求后,会执行相应的 FFmpeg 命令,并将结果以结构化的 JSON 格式返回给 MCP 客户端,最终传递给 LLM 应用。

注意: 'ffmpeg-mcp' 服务器依赖于系统环境中已安装的 FFmpeg 工具。请确保 FFmpeg 安装正确并且在系统 PATH 环境变量中,或者通过 'FFMPEG_PATH' 环境变量指定 FFmpeg 路径。

信息

分类

AI与计算