ffmpeg-render-pro
╔══════════════════════════════════════════════════════╗
║ ║
║ ████████ ████████ ██ ██ ██████ ████████ ████ ║
║ ██ ██ ███ ███ ██ ██ ██ ██ ║
║ ██████ ██████ ██ ██ ██ ██████ ██████ ██ ██ ║
║ ██ ██ ██ ██ ██ ██ ██ ██ ║
║ ██ ██ ██ ██ ██ ████████ ████ ║
║ ║
║ ██████ ████████ ██ ██ ██████ ████████ ██████ ║
║ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██ ║
║ ██████ ██████ ██ ██ ██ ██ ██ ██████ ██████ ║
║ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ║
║ ██ ██ ████████ ██ ██ ██████ ████████ ██ ██ ║
║ ║
║ ██████ ██████ ████ ║
║ ██ ██ ██ ██ ██ ██ ║
║ ██████ ██████ ██ ██ ║
║ ██ ██ ██ ██ ██ ║
║ ██ ██ ██ ████ ║
║ ║
║ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░ 8 WRKRS ║
║ GPU: AUTO DASHBOARD: LIVE CONCAT: INSTANT ║
╚══════════════════════════════════════════════════════╝ffmpeg-render-pro
ライブダッシュボード、GPU自動検出、チェックポイントシステム、ストリームコピー連結を備えた並列ビデオレンダリングツール。最も強力な無料のffmpegレンダリングツールキットです。
Beeswax Pat が Claude Code を使用して構築 · 永久に無料かつオープンソース
特徴
並列レンダリング — フレームをN個のワーカー・スレッドに分割し、再エンコードなしで連結
GPU自動検出 — NVENC、VideoToolbox、AMF、VA-API、QSVを1フレーム検証でプローブ
ライブダッシュボード — ブラウザで自動的に開き、ワーカーごとの進捗、FPSチャート、ETAを表示
チェックポイントシステム — 長時間のレンダリングにおける早送りオーバーヘッドを93%削減
カラーグレーディング — 5つの組み込みプリセット(noir、warm、cool、cinematic、vintage)+ カスタムフィルター
オーディオマージ — ビデオとオーディオをラウドネス正規化付きで結合(ビデオの再エンコードなし)
決定論的出力 — シード付きRNGにより、並列ワーカーが逐次処理と同一の結果を生成
MCPサーバー — 6つのツールを備えたModel Context Protocolサーバー。Claude Code、Claude Desktop、および任意のMCPクライアントで動作
クロスプラットフォーム — Windows、macOS、Linux。GPUまたはCPUのみで動作。Node.js >= 18 + ffmpegが必要。
Related MCP server: ffmpeg-mcp
要件
Node.js >= 18
ffmpeg がインストールされ、PATHに通っていること
インストール
# 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クイックスタート
# 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)
メインのエントリポイント。レンダリングをワーカー間で分割し、ライブダッシュボードを表示して、最終的な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
});ワーカーの作成
ワーカーは workerData を介してフレーム範囲を受け取り、生のBGRAフレームを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 }));完全な動作例については examples/basic-worker.js を参照してください。
モジュール
モジュール | 目的 |
| 進捗追跡付きNワーカー・スレッドプール |
| バックプレッシャー付きffmpegへの生フレームパイプ |
| クロスプラットフォームのハードウェアエンコーダー検出 + 検証 |
| 解像度、RAM、CPUに基づくワーカーの自動調整 |
| ストリームコピーによるセグメント結合(即時) |
| ffmpegビデオフィルタープリセット + カスタムチェーン |
| loudnormサポート付きビデオ + オーディオマージ |
| ブラウザ自動起動機能付きゼロ依存HTTPサーバー |
| ワーカーごとのターミナル + JSON進捗追跡 |
| 長時間レンダリングのための状態シリアライズ |
ベンチマーク
独自のベンチマークを実行:
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テスト
npm testモジュールエクスポート、入力検証、ダッシュボードのパス安全性(トラバーサル + nullバイト + 二重エンコードベクトル)、チェックポイントのラウンドトリップ、MCPサーバーのstdioハンドシェイクをカバーするゼロ依存のスモークテストスイート。
MCPサーバー
ffmpeg-render-proには、6つのツールを備えたModel Context Protocol (MCP) サーバーが含まれています。Claude Code、Claude Desktop、および任意のMCPクライアントで動作します。
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-mcpClaude Desktopへの追加
claude_desktop_config.json に以下を追加してください:
{
"mcpServers": {
"ffmpeg-render-pro": {
"command": "ffmpeg-render-pro-mcp"
}
}
}または、グローバルにインストールしたくない場合は:
{
"mcpServers": {
"ffmpeg-render-pro": {
"command": "npx",
"args": ["--yes", "--package=ffmpeg-render-pro", "ffmpeg-render-pro-mcp"]
}
}
}MCPツール
ツール | 説明 |
| ハードウェアエンコーダーのプローブ (NVENC, VideoToolbox, AMF, VA-API, QSV) |
| CPUコア、RAM、推奨ワーカー数、ffmpegバージョンの表示 |
| ライブダッシュボード付き並列レンダリング |
| プリセット (noir, warm, cool, cinematic, vintage) またはカスタムフィルターの適用 |
| ラウドネス正規化付きビデオ + オーディオの結合 |
| 複数のビデオのストリームコピー結合(即時、再エンコードなし) |
Claude Codeスキル
このリポジトリには、すぐに使える Claude Code スキルが含まれています。インストールするには、スキルフォルダを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 /Iインストールが完了すると、ffmpegを使用してビデオやオーディオのレンダリングを依頼した際に、Claude Codeが自動的にこのスキルを使用します。
セキュリティ上の注意
ダッシュボードサーバーは
127.0.0.1にのみバインドされます。 ネットワーク上の他のマシンからはアクセスできません。テレメトリ、電話ホーム、CDN読み込みはありません。 ダッシュボードはシステムフォントを使用してローカルファイルから完全に実行されます。
MCPサーバーはローカルファイルシステムツールです。 AIエージェントに接続すると、現在のユーザーがアクセスできる場所であればどこでもファイルのレンダリング、読み取り、書き込みを行います。他のファイルシステム対応ツールと同様に扱ってください。信頼できるエージェントでのみ実行し、信頼できないプロンプトで使用する場合はプロセスの作業ディレクトリを制限することを検討してください。
ストリームコピー連結は
os.tmpdir()配下の一時ファイルを使用します。 指定した出力パスはそのまま書き込まれるため、出力パスが意図した場所であることを確認してください。
変更履歴
リリースノートについては CHANGELOG.md を参照してください。最新:v1.2.0 — ハードニングパス(ダッシュボードの重大な修正、パストラバーサル防御、パフォーマンス向上)。
ライセンス
MIT
著者
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