Skip to main content
Glama
  ╔══════════════════════════════════════════════════════╗
  ║                                                      ║
  ║   ████████ ████████ ██    ██ ██████  ████████  ████  ║
  ║   ██       ██       ███  ███ ██   ██ ██       ██     ║
  ║   ██████   ██████   ██ ██ ██ ██████  ██████   ██  ██ ║
  ║   ██       ██       ██    ██ ██      ██       ██  ██ ║
  ║   ██       ██       ██    ██ ██      ████████  ████  ║
  ║                                                      ║
  ║   ██████  ████████ ██    ██ ██████  ████████ ██████  ║
  ║   ██   ██ ██       ███   ██ ██   ██ ██       ██   ██ ║
  ║   ██████  ██████   ██ ██ ██ ██   ██ ██████   ██████  ║
  ║   ██   ██ ██       ██  ████ ██   ██ ██       ██   ██ ║
  ║   ██   ██ ████████ ██    ██ ██████  ████████ ██   ██ ║
  ║                                                      ║
  ║        ██████  ██████   ████                         ║
  ║        ██   ██ ██   ██ ██  ██                        ║
  ║        ██████  ██████  ██  ██                        ║
  ║        ██      ██   ██ ██  ██                        ║
  ║        ██      ██   ██  ████                         ║
  ║                                                      ║
  ║  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░ 8 WRKRS    ║
  ║  GPU: AUTO   DASHBOARD: LIVE   CONCAT: INSTANT       ║
  ╚══════════════════════════════════════════════════════╝

ffmpeg-render-pro

npm version License: MIT Platform: Cross-platform Node.js MCP Server

Paralleles Video-Rendering mit Live-Dashboard, automatischer GPU-Erkennung, Checkpoint-System und Stream-Copy-Concat. Das leistungsfähigste kostenlose ffmpeg-Rendering-Toolkit.

Entwickelt von Beeswax Pat mit Claude Code · Für immer kostenlos und Open Source

Funktionen

  • Paralleles Rendering — Aufteilen von Frames auf N Worker-Threads, Zusammenfügen ohne erneute Encodierung

  • Automatische GPU-Erkennung — Testet NVENC, VideoToolbox, AMF, VA-API, QSV mit 1-Frame-Validierung

  • Live-Dashboard — Öffnet sich automatisch in Ihrem Browser mit Fortschritt pro Worker, FPS-Diagramm und ETA

  • Checkpoint-System — 93% Reduzierung des Overheads beim Vorspulen für lange Renderings

  • Color Grading — 5 integrierte Presets (noir, warm, cool, cinematic, vintage) + benutzerdefinierte Filter

  • Audio-Merge — Kombinieren von Video + Audio mit Lautstärken-Normalisierung, ohne erneute Video-Encodierung

  • Deterministische Ausgabe — Seeded RNG stellt sicher, dass parallele Worker identische Ergebnisse wie bei sequenzieller Verarbeitung liefern

  • MCP-Server — Model Context Protocol Server mit 6 Tools, funktioniert mit Claude Code, Claude Desktop und jedem MCP-Client

  • Plattformübergreifend — Windows, macOS, Linux. Jede GPU oder nur CPU. Erfordert Node.js >= 18 + ffmpeg.

Related MCP server: ffmpeg-mcp

Anforderungen

  • Node.js >= 18

  • ffmpeg installiert und im PATH

Installation

# Global install gives you the ffmpeg-render-pro + ffmpeg-render-pro-mcp binaries
npm install -g ffmpeg-render-pro

# Or clone the repo directly
git clone https://github.com/beeswaxpat/ffmpeg-render-pro.git
cd ffmpeg-render-pro

Schnellstart

# System info (workers, RAM, CPU, ffmpeg version)
ffmpeg-render-pro info

# Probe hardware encoders
ffmpeg-render-pro detect-gpu

# 5s benchmark render (dashboard auto-opens at http://127.0.0.1:8080)
ffmpeg-render-pro benchmark

# Longer render, custom resolution
ffmpeg-render-pro benchmark --duration=30 --width=1080 --height=1920 --fps=30

# Force CPU / GPU encoding
ffmpeg-render-pro detect-gpu --cpu
ffmpeg-render-pro detect-gpu --gpu

CLI

ffmpeg-render-pro info                # System snapshot
ffmpeg-render-pro detect-gpu          # Probe hardware encoders
ffmpeg-render-pro render <worker.js>  # Render with your worker script
ffmpeg-render-pro benchmark           # Quick 5s test render

API

const {
  renderParallel,    // Core: parallel rendering engine
  createEncoder,     // Pipe raw frames to ffmpeg
  detectGPU,         // Cross-platform GPU detection
  getConfig,         // Auto-tune workers, codec selection
  concatSegments,    // Stream-copy segment joining
  colorGrade,        // Apply color grades (presets or custom)
  mergeAudio,        // Combine video + audio
  startDashboard,    // Live progress dashboard
  saveCheckpoint,    // Checkpoint serialization
  loadCheckpoint,    // Checkpoint restoration
} = require('ffmpeg-render-pro');

renderParallel(options)

Der Haupteinstiegspunkt. Teilt ein Rendering auf Worker auf, zeigt ein Live-Dashboard an und erstellt ein finales MP4.

await renderParallel({
  workerScript: './my-worker.js',  // Your frame generator
  outputPath: './output.mp4',
  width: 1920,
  height: 1080,
  fps: 60,
  duration: 60,        // seconds
  title: 'My Render',
  autoOpen: true,      // auto-open dashboard in browser
});

Einen Worker schreiben

Worker erhalten Frame-Bereiche über workerData und leiten rohe BGRA-Frames an ffmpeg weiter:

const { workerData, parentPort } = require('worker_threads');
const { spawn } = require('child_process');

const { width, height, fps, startFrame, endFrame, segmentPath, workerId } = workerData;

// Spawn ffmpeg encoder
const ffmpeg = spawn('ffmpeg', [
  '-y', '-f', 'rawvideo', '-pixel_format', 'bgra',
  '-video_size', `${width}x${height}`, '-framerate', String(fps),
  '-i', 'pipe:0',
  '-c:v', 'libx264', '-preset', 'fast', '-crf', '20',
  '-pix_fmt', 'yuv420p', '-movflags', '+faststart',
  segmentPath,
], { stdio: ['pipe', 'pipe', 'pipe'] });

const buffer = Buffer.alloc(width * height * 4);

for (let f = startFrame; f < endFrame; f++) {
  // Fill buffer with your frame data (BGRA format)
  renderMyFrame(f, buffer);

  // Write with backpressure
  const ok = ffmpeg.stdin.write(buffer);
  if (!ok) await new Promise(r => ffmpeg.stdin.once('drain', r));

  // Report progress
  parentPort.postMessage({ type: 'progress', workerId, pct: ..., fps: ..., frame: ..., eta: ... });
}

ffmpeg.stdin.end();
ffmpeg.on('close', () => parentPort.postMessage({ type: 'done', workerId }));

Siehe examples/basic-worker.js für ein vollständiges Arbeitsbeispiel.

Module

Modul

Zweck

parallel-renderer

N-Worker-Thread-Pool mit Fortschrittsverfolgung

encoder

Raw-Frame-Pipe an ffmpeg mit Backpressure

gpu-detect

Plattformübergreifende Hardware-Encoder-Erkennung + Validierung

config

Automatische Worker-Optimierung basierend auf Auflösung, RAM, CPU

concat

Stream-Copy-Segment-Verbindung (sofort)

color-grade

ffmpeg-Videofilter-Presets + benutzerdefinierte Ketten

audio-merge

Video + Audio-Merge mit loudnorm-Unterstützung

dashboard-server

HTTP-Server ohne Abhängigkeiten mit automatischem Browser-Öffnen

progress

Terminal- + JSON-Fortschrittsverfolgung pro Worker

checkpoint

Status-Serialisierung für lange Renderings

Benchmarks

Führen Sie Ihre eigenen aus:

node examples/render-test.js --duration=5
node examples/render-test.js --duration=30
node examples/render-test.js --duration=60 --width=1080 --height=1920

Tests

npm test

Eine Smoke-Test-Suite ohne Abhängigkeiten, die Modulexporte, Eingabevalidierung, Dashboard-Pfadsicherheit (Traversal + Null-Byte + Double-Encoding-Vektoren), Checkpoint-Round-Trip und MCP-Server-Stdio-Handshake abdeckt.

MCP-Server

ffmpeg-render-pro enthält einen Model Context Protocol (MCP) Server mit 6 Tools. Funktioniert mit Claude Code, Claude Desktop und jedem MCP-Client.

Zu Claude Code hinzufügen

# After `npm install -g ffmpeg-render-pro` the MCP binary is on your PATH:
claude mcp add --transport stdio ffmpeg-render-pro -- ffmpeg-render-pro-mcp

# Or without global install (uses npx):
claude mcp add --transport stdio ffmpeg-render-pro -- npx --yes --package=ffmpeg-render-pro ffmpeg-render-pro-mcp

Zu Claude Desktop hinzufügen

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "ffmpeg-render-pro": {
      "command": "ffmpeg-render-pro-mcp"
    }
  }
}

Oder, falls Sie es nicht global installieren möchten:

{
  "mcpServers": {
    "ffmpeg-render-pro": {
      "command": "npx",
      "args": ["--yes", "--package=ffmpeg-render-pro", "ffmpeg-render-pro-mcp"]
    }
  }
}

MCP-Tools

Tool

Beschreibung

detect_gpu

Hardware-Encoder testen (NVENC, VideoToolbox, AMF, VA-API, QSV)

system_info

CPU-Kerne, RAM, empfohlene Worker, ffmpeg-Version anzeigen

render_video

Paralleles Rendering mit Live-Dashboard

color_grade

Presets anwenden (noir, warm, cool, cinematic, vintage) oder benutzerdefinierte Filter

merge_audio

Video + Audio mit Lautstärken-Normalisierung kombinieren

concat_videos

Mehrere Videos per Stream-Copy verbinden (sofort, keine erneute Encodierung)

Claude Code Skill

Dieses Repo enthält einen sofort einsatzbereiten Claude Code Skill. Um ihn zu installieren, kopieren Sie den Skill-Ordner in Ihr Claude-Skills-Verzeichnis:

# macOS / Linux
cp -r .claude/skills/ffmpeg-render-pipeline ~/.claude/skills/

# Windows
xcopy .claude\skills\ffmpeg-render-pipeline %USERPROFILE%\.claude\skills\ffmpeg-render-pipeline\ /E /I

Nach der Installation verwendet Claude Code den Skill automatisch, wenn Sie ihn bitten, Video oder Audio mit ffmpeg zu rendern.

Sicherheitshinweise

  • Der Dashboard-Server bindet nur an 127.0.0.1. Er ist von anderen Maschinen in Ihrem Netzwerk aus nicht erreichbar.

  • Keine Telemetrie, kein Phone-Home, keine CDN-Ladevorgänge. Das Dashboard läuft vollständig von lokalen Dateien unter Verwendung von Systemschriftarten.

  • Der MCP-Server ist ein lokales Dateisystem-Tool. Wenn er mit einem KI-Agenten verbunden ist, kann er Dateien überall dort rendern, lesen und schreiben, wo der aktuelle Benutzer Zugriff hat. Behandeln Sie ihn wie jedes andere Tool mit Dateisystemzugriff: Führen Sie ihn nur mit einem vertrauenswürdigen Agenten aus und ziehen Sie in Betracht, das Arbeitsverzeichnis des Prozesses einzuschränken, wenn Sie ihn mit nicht vertrauenswürdigen Prompts verwenden.

  • Stream-Copy-Concat verwendet temporäre Dateien unter os.tmpdir(). Die von Ihnen übergebenen Ausgabepfade werden weiterhin unverändert geschrieben — stellen Sie sicher, dass sich Ihr Ausgabepfad dort befindet, wo Sie ihn haben möchten.

Changelog

Siehe CHANGELOG.md für Release-Notizen. Aktuell: v1.2.0 — Härtungs-Pass (kritischer Dashboard-Fix, Pfad-Traversal-Abwehr, Leistungsverbesserungen).

Lizenz

MIT

Autor

Beeswax Pat

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A cinema-grade video production MCP server that enables automated website recording, editing, and AI-powered narration using ffmpeg and Playwright. It provides tools for color grading, captioning, and converting videos into social media formats through natural language commands.
    82
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides 17 FFmpeg-based tools for video and audio processing, including conversion, compression, and editing. It enables AI assistants to perform complex media tasks like extracting audio, adding watermarks, and merging videos using natural language.
    168
    2

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/beeswaxpat/ffmpeg-render-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server