# ffmpeg-render-pro [Health: Active]

**Category:** 🎥 Multimedia Process  
**Repository:** https://github.com/beeswaxpat/ffmpeg-render-pro  
**GitHub Stars:** 3  
**npm Downloads (last month):** 264  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/ffmpeg-render-pro

## Description
Parallel video rendering tools: detect GPU encoders, render, color grade, merge audio, concat.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "ffmpeg-render-pro": {
    "command": "npx",
    "args": ["-y","ffmpeg-render-pro"]
  }
}
```

## Documentation

## What ffmpeg-render-pro does

The ffmpeg-render-pro MCP server connects an AI-agent workflow to a local FFmpeg installation and a Node.js rendering library. Its core use case is rendering video from a worker script that fills raw BGRA pixel buffers one frame at a time. The renderer divides the frame range across Node.js worker threads, creates one MP4 segment per worker, and combines those segments with FFmpeg's concat demuxer using stream copy.

The package is also available as a command-line application and a Node.js library. Alongside rendering, it provides GPU encoder discovery, configurable encoding recipes, color grading, soundtrack insertion, segment joining, checkpoint helpers, and a local browser dashboard for progress.

## How it works

A worker receives rendering data through `workerData`, including dimensions, frame rate, seed, its assigned frame range, segment path, worker ID, and whole-video totals. The worker writes frames to its own FFmpeg process. Every segment must use matching codec, dimensions, frame rate, and pixel format so the final join can use stream copy rather than another video encode.

The renderer chooses a worker count from available CPU cores and memory unless an exact count or maximum is supplied. It never creates more workers than there are frames. A failed worker range is retried once. Temporary segment files are removed after completion, and an `AbortController` can stop the operation and trigger cleanup.

The optional dashboard runs on `127.0.0.1`, can open in a browser, and reports per-worker progress, frame rate, and estimated completion. Library callers can set the dashboard linger time to zero so the render call returns without keeping the process open.

## Setup and configuration

Install Node.js 18 or newer and make `ffmpeg` available on `PATH`. A five-second benchmark can verify the installation, while `init` creates a starter worker and `render` runs it. The package can be invoked with `npx` or installed globally with npm. The installed command names are `ffmpeg-render-pro` for the CLI and `ffmpeg-render-pro-mcp` for the MCP server; the older `ffmpeg-render-mcp` name remains accepted.

Set `FFMPEG_RENDER_PRO_FFMPEG` when FFmpeg is installed outside `PATH`. `FFMPEG_RENDER_PRO_FFPROBE` can point to a separate `ffprobe` binary, although a sibling binary is detected automatically. `FFMPEG_RENDER_PRO_CACHE_DIR` changes the location of cached GPU probe results. These values are read when called, so a long-running MCP process can see changes without restarting.

## Tools and capabilities

The ffmpeg-render-pro MCP server is suited to workflows that need to:

- Render code-generated frames with configurable width, height, frame rate, duration, seed, worker count, output path, and encoder settings.
- Detect available hardware encoders and cache the result for seven days.
- Select encoder input, filter, and output arguments through library helpers.
- Apply built-in color presets such as noir, warm, cool, cinematic, and vintage, or provide a custom FFmpeg video filter chain.
- Add an AAC soundtrack while stream-copying the video; optional looping and loudness normalization are supported.
- Concatenate same-codec, same-size videos after optional `ffprobe` validation.
- Track worker progress and expose dashboard JSON during a render.

The CLI also includes `info`, `detect-gpu`, `version`, and benchmark commands. Render settings include CRF, encoder preset, dashboard behavior, output filename, and worker limits.

## Limitations and notes

FFmpeg must be installed and resolvable either through `PATH` or the documented environment variables. Width and height must be even, with supported output dimensions documented up to 7680 by 4320. Parallel output is deterministic only when random values are derived from the supplied seed.

Workers must keep their encoding parameters consistent because segments are joined without re-encoding. Color grading normally produces a new encoded video and strips audio unless `keepAudio` is enabled. The README identifies Claude Code as a supported skill environment, but does not document compatibility with specific editor clients such as Cursor.

_Full upstream README: https://allmcps.com/mcp/ffmpeg-render-pro/readme_

