@drovp/ffmpeg

FFMPEG as a Drovp dependency.

Usage no npm install needed!

<script type="module">
  import drovpFfmpeg from 'https://cdn.skypack.dev/@drovp/ffmpeg';
</script>

README

@drovp/ffmpeg

Provides ffmpeg, ffprobe, and ffplay static binaries as a Drovp processor dependencies.

Pre-built binaries are downloaded from:

IMPORTANT!

The source of static binaries we're using for Linux (https://johnvansickle.com/ffmpeg/) doesn't come with ffplay, therefore you can't rely on ffplay dependency to be available on Linux. If you know about a better or a separate source with ffplay in it, share it in #1.

The dependency loader does try to fall back to local binaries exposed in current platform's PATH, but that is of course unreliable.

Usage

Require in your processor config:

plugin.registerProcessor('name', {
    // ...config...
    dependencies: ['@drovp/ffmpeg:ffmpeg'],
});

Consume in your processor:

function processor(operation, utils) {
    const ffmpegPath = utils.dependencies.ffmpeg;
    // or a no conflict risking version (unnecessary in 99.999% cases)
    const ffmpegPath = utils.dependencies['@drovp/ffmpeg:ffmpeg'];
}

API

Dependency IDs and their values inside processor's utils.dependencies object.

ffmpeg

ID: @drovp/ffmpeg:ffmpeg

Shorthand: ffmpeg

Value: path to ffmpeg binary

ffprobe

ID: @drovp/ffmpeg:ffprobe

Shorthand: ffprobe

Value: path to ffprobe binary

ffplay

ID: @drovp/ffmpeg:ffplay

Shorthand: ffplay

Value: path to ffplay binary

Not available on Linux atm!