使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器实现,它利用强大的FFmpeg工具,为LLM客户端提供视频和音频处理能力。通过此服务器,LLM可以调用FFmpeg的各种功能,实现多媒体内容的编辑和分析。
主要功能点
- 视频剪辑 (Video Trimming):根据指定的时间段剪切视频文件,提取视频片段。
- 视频帧提取 (Frame Extraction):从视频文件的特定时间点提取静态图像帧。
- 音频分割 (Audio Segmentation):将音频文件分割成多个片段,并支持配置片段间的重叠部分,适用于处理大型音频文件。
安装步骤
- 克隆仓库
git clone https://github.com/mfleurival/FFmpeg.git cd FFmpeg - 安装依赖
确保您的系统已安装 Node.js (版本 18 或更高) 和 FFmpeg,并且 FFmpeg 已添加到系统环境变量 PATH 中。然后运行:
npm install - 构建项目
npm run build
服务器配置
要将此MCP服务器与MCP客户端(例如 Claude/Cline)集成,您需要在客户端的MCP服务器配置文件中添加以下配置信息。这告诉客户端如何启动和连接到 FFmpeg MCP 服务器。
{ "mcpServers": { "ffmpeg": { "command": "node", "args": ["/path/to/FFmpeg/build/index.js"], "disabled": false, "autoApprove": [] } } }
配置参数说明:
- 'server name': 'ffmpeg' (服务器名称,客户端用此名称引用)
- 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行)
- 'args': '["/path/to/FFmpeg/build/index.js"]' (命令参数,指向编译后的服务器入口文件 'index.js' 的路径。请将 '/path/to/FFmpeg' 替换为您的 FFmpeg 仓库的实际路径)
- 'disabled': 'false' (设置为 'false' 表示启用此服务器)
- 'autoApprove': '[]' (自动批准的工具列表,默认为空,表示所有工具调用都需要客户端手动批准)
基本使用方法
-
启动服务器 在克隆的仓库目录下,运行以下命令启动 FFmpeg MCP 服务器:
npm start服务器将在标准输入/输出 (stdio) 上运行,并等待 MCP 客户端的请求。
-
客户端调用工具 在您的 MCP 客户端中,配置好 FFmpeg MCP 服务器后,您可以通过客户端提供的界面或API调用以下工具,实现视频和音频处理功能。
可用工具列表:
-
trim_video (视频剪辑)
- 描述: 剪切视频到指定的时间段。
- 参数:
- 'video_path': 视频文件路径 (字符串)
- 'start_time': 开始时间 (HH:MM:SS 格式字符串)
- 'end_time': 结束时间 (HH:MM:SS 格式字符串)
- 'output_format' (可选): 输出格式,例如 "mp4", "mkv" (字符串,默认为 "mp4")
-
extract_frame (视频帧提取)
- 描述: 从视频指定时间戳提取帧。
- 参数:
- 'video_path': 视频文件路径 (字符串)
- 'timestamp': 时间戳 (HH:MM:SS 格式字符串)
- 'output_format' (可选): 输出图像格式,例如 "png", "jpg" (字符串,默认为 "png")
-
segment_audio (音频分割)
- 描述: 将音频分割成多个片段,可配置重叠时长。
- 参数:
- 'audio_path': 音频文件路径 (字符串)
- 'segment_duration': 每个片段的时长 (秒,数字)
- 'overlap_duration' (可选): 片段重叠时长 (秒,数字,默认为 2)
- 'output_format' (可选): 输出格式,例如 "wav", "mp3" (字符串,默认为 "wav")
- 'output_directory': 输出目录路径 (字符串)
- 'naming_pattern' (可选): 片段文件名命名模式,"{number}" 会被替换为片段序号 (字符串,默认为 "segment_{number}")
示例: 客户端可以通过发送 'CallToolRequest' 请求来调用这些工具,并传递相应的参数。服务器执行工具后,会将结果以 MCP 响应的形式返回给客户端。
-
信息
分类
AI与计算