A lightweight Node.js library for programmatic video composition using FFmpeg. Define your timeline as a plain array of clips — the library builds the filter graph for you.
Why simple-ffmpeg?
FFmpeg is incredibly powerful, but composing even a simple two-clip video with a crossfade requires navigating complex filter graphs, input mapping, and stream labeling by hand. simple-ffmpegjs abstracts all of that behind a declarative, config-driven API.
You describe what your video should look like. The library figures out how to build the FFmpeg command.
The entire timeline is expressed as a plain array of objects, making it straightforward to generate from any data source — databases, APIs, templates, or AI models. Structured validation with machine-readable error codes lets you catch problems early and handle them programmatically, whether that’s surfacing feedback to a user, retrying with corrected input, or logging a warning before failing fast.