Skip to Content
Overview
simple-ffmpeg banner

npm versionCILicense: MITNode.js ≥20CoverageZero Dependencies

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.

Get started

Go deeper

Last updated on