Static ffmpeg and ffprobe binaries for macOS, Linux, and Windows, packaged for Node.js.
ffmpeg-static is an npm package that provides statically compiled ffmpeg and ffprobe binaries for macOS, Linux, and Windows. It solves the problem of needing to install and manage ffmpeg system-wide by bundling portable, self-contained executables that can be used directly in Node.js applications.
Node.js developers who need to programmatically process video or audio files using ffmpeg without requiring users to install it separately on their systems.
Developers choose ffmpeg-static for its simplicity and reliability—it delivers ready-to-use, version-locked binaries across all major platforms, eliminating cross-platform compatibility issues and complex build processes.
ffmpeg static binaries for Mac OSX and Linux and Windows
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Statically linked binaries work out-of-the-box on macOS, Linux, and Windows without external dependencies, as highlighted in the multi-platform support feature.
Distributed as an npm package, it simplifies installation and version management within Node.js projects, eliminating manual binary handling.
Pins to a specific, tested ffmpeg version (e.g., 6.1.1), ensuring reproducible builds across different environments, as stated in the version pinning feature.
Binaries are sourced from trusted, community-maintained providers like John Van Sickle for Linux, who have long-standing reputations, as noted in the README's support section.
Relies on external build providers for updates, so new ffmpeg releases may not be available immediately, as seen with the pinned version 6.1.1 in the README.
Contributing requires an unusual npm workspaces setup and additional tools like curl and 7z, making local development and customization more difficult, per the development instructions.
Static linking includes all libraries, resulting in larger executables that increase package size, which can be problematic for bandwidth-sensitive deployments or constrained environments.