media_probe
Inspect audio and video files with ffprobe. Returns container metadata, stream details, codecs, resolution, bitrate, and duration as JSON.
inputPath必填
io.github.Ashutos1997由 GitHub 账号 Ashutos1997 发布v0.6.0更新于 Nov 5, 2026
FFmpeg & FFprobe media processing toolkit for video, audio, and social formats
本地 MCP 服务器,调用 FFmpeg 与 FFprobe,让助手检查、转换、剪辑、压缩视频与音频并添加字幕。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
[CI] [Release] [License: MIT] [npm version] [npm downloads] [npm total downloads] [Glama] [FFmpeg MCP server]
A Model Context Protocol (MCP) server that gives AI tools access to FFmpeg and FFprobe to process video and audio locally.
Supports cross-platform GPU hardware encoding (Apple Silicon, NVIDIA NVENC, Intel QuickSync, AMD AMF), live progress updates via MCP progress tokens, instant cancellation via AbortSignal, and inlines image previews directly for multimodal vision models.
When AI agents process media, they often hallucinate invalid flags, syntax errors, or incompatible pixel formats.
This server provides 19 typed tools using Zod schemas. The AI passes parameters (such as { inputPath: "video.mov", preset: "web_mp4" }), and the server runs the valid FFmpeg command locally with proper error handling, hardware acceleration, and progress notifications.
notifications/progress), enabling progress bars in modern AI clients.AbortSignal events to immediately terminate child FFmpeg processes when a generation is stopped.media://capabilities: Inspects local FFmpeg installation, active version, detected hardware accelerators (VideoToolbox, NVENC, QSV, AMF, VAAPI), and supported video encoders.media://presets: Standard reference table of social aspect ratios, platform upload file size limits, and broadcast audio loudness targets.social_clip_generator: Interactive workflow that turns raw landscape video into vertical shorts with blurred background padding, trimmed silence, and hardcoded captions.whisper_audio_prep: Standard pipeline for extracting 16kHz mono WAV audio and normalizing loudness for speech-to-text models.brew install ffmpegsudo apt update && sudo apt install ffmpeg libass-devwinget install Gyan.FFmpeg or choco install ffmpegRun directly with npx (no manual cloning or building required):
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.gemini/config/mcp_config.jsonnpx and args ["-y", "@ash_j1997/ffmpeg-mcp-server"]Install dependencies:
Run build and automated test suite:
Special thanks to @rajarshidattapy for suggesting the stream multiplexing (mux_media) and scene transition detection (detect_scenes) capabilities to expand the server beyond format conversion.
MIT © Ashutos1997
来源:README.md,提交 c18838b
Inspect audio and video files with ffprobe. Returns container metadata, stream details, codecs, resolution, bitrate, and duration as JSON.
inputPath必填Convert video and audio files between formats. Includes presets for web MP4 (H.264/AAC), WebM (VP9/Opus), and animated GIF. Supports hardware acceleration on Apple Silicon, NVIDIA, Intel, and AMD.
crffpspresetinputPath必填outputPath必填resolutionhardwareAccelerationCut a segment from a video or audio file. Uses stream copy without re-encoding by default, or re-encodes when accurate cuts are needed.
endTimedurationinputPath必填startTime必填outputPath必填accurateReencodeExtract an audio track from a video file into a standalone audio file. Supports the 'whisper_wav' preset (16kHz mono WAV) for speech recognition models, plus MP3, AAC, FLAC, and stream copy.
formatbitrateinputPath必填outputPath必填Capture a single still image from a video. Returns the saved image path and inlined base64 image data so vision models can inspect the frame.
inputPath必填timestampoutputPath必填resolutionincludeBase64Compress video files to fit upload limits (such as GitHub PRs under 10MB or Discord under 25MB) using target file sizes or CRF quality levels. Does not modify the original file.
crfpresetmaxWidthinputPath必填outputPath必填targetSizeMBhardwareAccelerationJoin multiple video or audio files in order into a single file. Uses stream copy for matching files or re-encodes when formats differ.
modeinputPaths必填outputPath必填Generate a PNG waveform image from an audio or video file. Returns the file path and inlined base64 image data.
colorscalewidthheightinputPath必填outputPath必填includeBase64Embed an SRT or VTT subtitle track into a video container (mov_text for MP4, srt for MKV) without re-encoding the video stream.
titlelanguagevideoPath必填outputPath必填subtitlesPath必填Change video and audio playback speed (such as 2x for fast forward or 0.5x for slow motion) with pitch correction.
speed必填inputPath必填muteAudiooutputPath必填Change video aspect ratio to 9:16 vertical, 1:1 square, or 4:5 portrait. Adds blurred video borders, solid padding, or center crops.
modepadColorinputPath必填blurAmountoutputPath必填targetRatiohardwareAccelerationDetect and remove silent pauses from audio or video files. Preserves video & audio lip-sync in 'start_end' mode. Returns original duration and seconds saved.
modeinputPath必填outputPath必填thresholdDbminDurationSecondsCombine two video files into a split-screen video. Stacks clips vertically (1080x1920 for Reels and TikTok) or places them side-by-side. Supports audio mixing and subtitle embedding.
layoutoutputPath必填audioSourcesubtitlesPathfirstVideoPath必填secondVideoPath必填hardwareAccelerationHardcode/burn subtitles directly into video frames with customizable font size, colors, and positioning. Unlike soft subtitles, burned subtitles render on all platforms including TikTok, Instagram Reels, and YouTube Shorts.
marginVfontSizefontColorvideoPath必填outputPath必填outlineColoroutlineWidthsubtitlesPath必填hardwareAccelerationExtract multiple representative frames across a video's timeline. In 'montage' mode, merges frames into a single contact-sheet grid image and inlines base64 for vision models to inspect the whole video at once.
countlayoutinputPath必填outputPath必填includeBase64Normalize audio loudness using the broadcast standard EBU R128 (loudnorm). Supports -16 LUFS (podcasts/Reels), -14 LUFS (YouTube), and optional voice clarity enhancement (80Hz high-pass to remove mic rumble). Works on audio or video files.
inputPath必填outputPath必填targetLufstargetPeakDbvoiceClarityPlace a watermark image, logo PNG, or branding graphic over a video with customizable position, padding, scaling, and opacity.
opacitypaddingpositionvideoPath必填outputPath必填scaleWidthoverlayPath必填hardwareAccelerationCombine or replace video and audio streams. Takes a video file and an audio track, with optional audio delay offset, stream-copy mode for zero quality loss, and 'replace' or 'add' stream mapping.
modeshortestaudioPath必填videoPath必填outputPath必填streamCopyVideoaudioOffsetSecondshardwareAccelerationDetect video cuts and scene transitions. Returns structured timestamps, scene durations, and cut boundaries as JSON, with optional contact-sheet image preview for vision models.
inputPath必填thresholdoutputPathincludeBase64minDurationSeconds已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
{ "mcpServers": { "ffmpeg": { "command": "npx", "args": ["-y", "@ash_j1997/ffmpeg-mcp-server"] } }}npm installnpm test