Skip to content

Repository files navigation

🎬 Miku Renderer

Version TypeScript Engine Queue

Sponsor on GitHub Buy Me A Coffee

A declarative, high-performance Node.js & FFmpeg video rendering engine. Takes structured JSON timelines and programmatically renders multi-track video compositions with transitions, audio balancing, overlays, and queue concurrency.


✨ Key Advantages & Features

  • 📜 Declarative JSON Timelines: Define complex video edits, cut points, asset offsets, and volume parameters as simple, portable JSON schemas.
  • 🔀 Complex Filtergraph Generation: Automatically builds optimized FFmpeg complex filtergraphs (-filter_complex) on the fly, handling framerate normalization, scaling, padding, crossfades, and audio mixing.
  • REST API & CLI Interfaces: Run ad-hoc render jobs straight from your terminal via src/cli.ts, or deploy as a Fastify HTTP rendering microservice.
  • 🚦 Embedded Task Queue: Built-in SQLite job ledger and concurrency management via p-queue — prevents CPU/GPU throttling and ensures rock-solid execution under load.
  • 🎵 Multi-Track Audio & Transitions: Supports independent video and audio tracks, speed manipulation, in/out cross-dissolves, and ducking.

🚀 Getting Started

Prerequisites

  • Node.js >= 20
  • FFmpeg and FFprobe installed and accessible in your PATH

Installation

npm install
npm run build

CLI Rendering Example

# Render example composition
npm run render

Starting the HTTP Service

npm start

About

Declarative Node.js & FFmpeg multi-track video composition and rendering engine with queue management

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages