Skip to content

upscayl/ffmpeg

Repository files navigation

upscayl-ffmpeg

The module returns a file path to the binary for the target operating system.

It is a modified version from the original ffmpeg-static to use electron-builder file macros in package.json, where OS name are maclinux or win

In ffmpeg-static, recognising the target OS is done with os.platform() where mac os x is recognised asdarwin rather then mac.

The need to tailor ffmpeg-static to use with electron-builder came from a use cases such as that of autoEdit.io.

See here for more info on How to package ffmpeg with the fluent-ffmpeg node library in electron, so that you only ship the binaries for the target operating system

There is also ffprobe-static-electron


ffmpeg static binaries for Mac OSX and Linux and Windows

Installation

This module is installed via npm:

$ yarn add upscayl-ffmpeg

Example Usage

Returns the path of a statically linked ffmpeg binary on the local filesystem.

var ffmpeg = require('upscayl-ffmpeg');
console.log(ffmpeg.path);
// /Users/eugeneware/Dropbox/work/ffmpeg-static/bin/darwin/x64/ffmpeg

Currently supports Mac OS X (64-bit), Linux (32 and 64-bit) and Windows (32 and 64-bit).

Currently version 3.1 is installed for Mac and Linux, and 3.0.1 for Windows.

I pulled the versions from the ffmpeg static build pages linked from the official ffmpeg site. Namely:

NB: Open to pull requests to update this module with the latest versions.

Ideally I'd like to dynamically pull the latest version down, but this requires access to 7-zip which and being able to untar xz files.

And I couldn't find a good js-only decoders for these files either.

So, for now it's just embedded binaries.