ffmpeg-render-pro
╔══════════════════════════════════════════════════════╗
║ ║
║ ████████ ████████ ██ ██ ██████ ████████ ████ ║
║ ██ ██ ███ ███ ██ ██ ██ ██ ║
║ ██████ ██████ ██ ██ ██ ██████ ██████ ██ ██ ║
║ ██ ██ ██ ██ ██ ██ ██ ██ ║
║ ██ ██ ██ ██ ██ ████████ ████ ║
║ ║
║ ██████ ████████ ██ ██ ██████ ████████ ██████ ║
║ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██ ║
║ ██████ ██████ ██ ██ ██ ██ ██ ██████ ██████ ║
║ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ║
║ ██ ██ ████████ ██ ██ ██████ ████████ ██ ██ ║
║ ║
║ ██████ ██████ ████ ║
║ ██ ██ ██ ██ ██ ██ ║
║ ██████ ██████ ██ ██ ║
║ ██ ██ ██ ██ ██ ║
║ ██ ██ ██ ████ ║
║ ║
║ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░ 8 WRKRS ║
║ GPU: AUTO DASHBOARD: LIVE CONCAT: INSTANT ║
╚══════════════════════════════════════════════════════╝ffmpeg-render-pro
Renderizado de vídeo en paralelo con panel de control en vivo, autodetección de GPU, sistema de puntos de control y concatenación mediante copia de flujo. El kit de herramientas de renderizado ffmpeg gratuito más potente.
Creado por Beeswax Pat con Claude Code · Libre y de código abierto para siempre
Características
Renderizado en paralelo — Divide los fotogramas entre N hilos de trabajo, concatena sin necesidad de volver a codificar
Autodetección de GPU — Analiza NVENC, VideoToolbox, AMF, VA-API, QSV con validación de 1 fotograma
Panel de control en vivo — Se abre automáticamente en tu navegador con progreso por trabajador, gráfico de FPS y tiempo estimado (ETA)
Sistema de puntos de control — Reducción del 93% en la sobrecarga de avance rápido para renderizados largos
Corrección de color — 5 ajustes preestablecidos integrados (noir, cálido, frío, cinematográfico, vintage) + filtros personalizados
Fusión de audio — Combina vídeo + audio con normalización de sonoridad, sin volver a codificar el vídeo
Salida determinista — El generador de números aleatorios con semilla garantiza que los trabajadores paralelos produzcan resultados idénticos a los secuenciales
Servidor MCP — Servidor del Protocolo de Contexto de Modelo con 6 herramientas, funciona con Claude Code, Claude Desktop y cualquier cliente MCP
Multiplataforma — Windows, macOS, Linux. Cualquier GPU o solo CPU. Requiere Node.js >= 18 + ffmpeg.
Related MCP server: ffmpeg-mcp
Requisitos
Node.js >= 18
ffmpeg instalado y en el PATH
Instalación
# 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-proInicio rápido
# 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 --gpuCLI
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 renderAPI
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)
El punto de entrada principal. Divide un renderizado entre trabajadores, muestra un panel de control en vivo y produce un MP4 final.
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
});Escribir un trabajador
Los trabajadores reciben rangos de fotogramas a través de workerData y envían fotogramas BGRA sin procesar a ffmpeg:
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 }));Consulta examples/basic-worker.js para ver un ejemplo de trabajo completo.
Módulos
Módulo | Propósito |
| Grupo de hilos de N trabajadores con seguimiento de progreso |
| Canalización de fotogramas sin procesar a ffmpeg con contrapresión |
| Descubrimiento + validación de codificador de hardware multiplataforma |
| Ajuste automático de trabajadores basado en resolución, RAM, CPU |
| Unión de segmentos mediante copia de flujo (instantánea) |
| Ajustes preestablecidos de filtros de vídeo de ffmpeg + cadenas personalizadas |
| Fusión de vídeo + audio con soporte para loudnorm |
| Servidor HTTP sin dependencias con apertura automática del navegador |
| Seguimiento de progreso por trabajador en terminal + JSON |
| Serialización de estado para renderizados largos |
Benchmarks
Ejecuta los tuyos:
node examples/render-test.js --duration=5
node examples/render-test.js --duration=30
node examples/render-test.js --duration=60 --width=1080 --height=1920Pruebas
npm testUn conjunto de pruebas de humo sin dependencias que cubre exportaciones de módulos, validación de entrada, seguridad de ruta del panel de control (vectores de recorrido + byte nulo + doble codificación), ida y vuelta de puntos de control y protocolo de enlace stdio del servidor MCP.
Servidor MCP
ffmpeg-render-pro incluye un servidor del Protocolo de Contexto de Modelo (MCP) con 6 herramientas. Funciona con Claude Code, Claude Desktop y cualquier cliente MCP.
Añadir a Claude Code
# 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-mcpAñadir a Claude Desktop
Añádelo a tu claude_desktop_config.json:
{
"mcpServers": {
"ffmpeg-render-pro": {
"command": "ffmpeg-render-pro-mcp"
}
}
}O, si prefieres no instalarlo globalmente:
{
"mcpServers": {
"ffmpeg-render-pro": {
"command": "npx",
"args": ["--yes", "--package=ffmpeg-render-pro", "ffmpeg-render-pro-mcp"]
}
}
}Herramientas MCP
Herramienta | Descripción |
| Analizar codificadores de hardware (NVENC, VideoToolbox, AMF, VA-API, QSV) |
| Mostrar núcleos de CPU, RAM, trabajadores recomendados, versión de ffmpeg |
| Renderizado en paralelo con panel de control en vivo |
| Aplicar ajustes preestablecidos (noir, cálido, frío, cinematográfico, vintage) o filtros personalizados |
| Combinar vídeo + audio con normalización de sonoridad |
| Unir varios vídeos mediante copia de flujo (instantáneo, sin volver a codificar) |
Habilidad de Claude Code
Este repositorio incluye una habilidad lista para usar de Claude Code. Para instalarla, copia la carpeta de la habilidad en tu directorio de habilidades de Claude:
# 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 /IUna vez instalada, Claude Code utilizará automáticamente la habilidad cuando le pidas renderizar vídeo o audio con ffmpeg.
Notas de seguridad
El servidor del panel de control se vincula solo a
127.0.0.1. Nunca es accesible desde otras máquinas en tu red.Sin telemetría, sin llamadas a servidores externos, sin cargas de CDN. El panel de control se ejecuta completamente desde archivos locales utilizando fuentes del sistema.
El servidor MCP es una herramienta de sistema de archivos local. Cuando se conecta a un agente de IA, renderizará, leerá y escribirá archivos en cualquier lugar donde el usuario actual tenga acceso. Trátalo como cualquier otra herramienta habilitada para el sistema de archivos: ejecútalo solo con un agente de confianza y considera restringir el directorio de trabajo del proceso si lo usas con prompts no confiables.
La concatenación mediante copia de flujo utiliza archivos temporales en
os.tmpdir(). Las rutas de salida que proporciones se escribirán tal cual; asegúrate de que tu ruta de salida sea donde deseas que esté.
Registro de cambios
Consulta CHANGELOG.md para ver las notas de la versión. Última: v1.2.0 — fase de endurecimiento (corrección crítica del panel de control, defensa contra recorrido de rutas, mejoras de rendimiento).
Licencia
MIT
Autor
Maintenance
Related MCP Connectors
MCP server for Google Veo AI video generation
MCP server for Wan AI video generation
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
MCP server for Luma Dream Machine AI video generation
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA 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.825MIT
- FlicenseNot gradedqualityDmaintenanceAn 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.1682
- AlicenseBqualityCmaintenanceMCP server for video enhancement and SAM3 image segmentation, enabling tasks like upscaling videos and segmenting objects in images via natural language.453MIT
- AlicenseNot gradedqualityBmaintenanceMCP server enabling interaction with Twitter, YouTube, Instagram, and video processing via 31 tools, with local Whisper transcription and frame extraction for visual verification.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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