视频处理服务器

基于FFmpeg的视频处理服务器,提供本地视频搜索、裁剪、拼接、播放等功能。

  • by video-creator
  • Python
  • 本地部署
  • 153 星标
  • 更新于
在 GitHub 查看 video-creator/ffmpeg-mcp

使用说明

FFmpeg-MCP

使用ffmpeg命令行实现一个mcp服务器,可以非常方便地通过对话实现本地视频搜索、裁剪、拼接、播放等功能

支持工具

服务器实现了以下工具:

  • find_video_path 参数是目录和文件名,文件名可以是完整的,也可以没有后缀,在目录中递归搜索,返回完整路径
  • get_video_info 参数为视频路径,返回视频信息,包括时长/帧率/编解码器/宽度/高度。
  • clip_video 参数是文件路径、开始时间、结束时间或持续时间,并返回修剪后的文件路径
  • concat_videos 参数包括文件列表、输出路径,以及如果文件列表中的视频元素(如宽度、高度、帧率等)一致,则自动使用快速模式合成
  • play_video 使用ffplay播放视频/音频,支持多种格式,如mov/mp4/avi/mkv/3gp,video_path:视频路径,speed:播放速度,loop:播放次数
  • overlay_video 两个视频叠加。
    背景视频:背景视频路径
    覆盖视频:前置视频路径
    输出路径:输出视频路径
    位置:相对位置
    dx:x轴偏移量
    dy: y轴偏移量
  • scale_video 视频比例。
    视频路径:在视频路径中
    宽度:输出视频宽度,-2保持宽高比
    高度:输出视频高度,-2 保持宽高比
    输出路径:输出视频路径
  • extract_frames_from_video 从视频中提取图像。
    参数:
    video_path(字符串):视频的路径。
    fps(整数):每隔指定的秒数提取一帧。如果设置为0,则提取所有帧;如果设置为1,则每秒提取一帧。
    输出文件夹(str):图像将保存的目录。
    格式(整数):提取图像的格式;0:PNG,1:JPG,2:WEBP。
    total_frames(整数):要提取的帧的最大数量。如果设置为0,则没有限制

    更多功能即将上线

安装程序

  1. 下载项目
git clone  https://github.com/video-creator/ffmpeg-mcp.git
cd ffmpeg-mcp
uv sync
  1. Cline中的配置
{
  "mcpServers": {
    "ffmpeg-mcp": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "uv",
      "args": [
        "--directory",
        "/Users/xxx/Downloads/ffmpeg-mcp",
        "run",
        "ffmpeg-mcp"
      ],
      "transportType": "stdio"
    }
  }
}

注:值为:/Users/XXX/Downloads/ffmpeg 在参数中需要替换实际下载的ffmpeg-mcp目录

支持的平台

目前,仅支持macos平台,包括ARM64或x86_64