Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fluent-ffmpeg-util

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fluent-ffmpeg-util

Extra fluent-ffmpeg features

  • 0.2.0-alpha.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
56
increased by14.29%
Maintainers
1
Weekly downloads
 
Created
Source

fluent-ffmpeg-util

Solve common problems you may encounter when using fluent-ffmpeg.

This package is recommended for projects which are already using fluent-ffmpeg, for new projects it is advised to use eloquent-ffmpeg.

Multiple Streams

You can use any number of output and input streams by using handleInputStream() or handleOutputStream(), they return an object with the following shape:

  • path: the output to give to fluent-ffmpeg.
  • close(): closes the underlying server, this is dealt with automatically if no error occurs.
var ffmpeg = require('fluent-ffmpeg');
var util = require('fluent-ffmpeg-util');
var fs = require('fs');
var input = util.handleInputStream(fs.createReadStream('input.webm'));
var output = util.handleOutputStream(fs.createReadStream('output.mkv'));
ffmpeg()
    .input(input.path)
    .output(output.path)
    .toFormat('matroska')
    .on('error', function () {
        input.close();
        output.close();
    })
    .run();

Multiple Destinations

To write the output file to multiple destinations use tee(), you can also pass streams directly to it and they'll be handled using handleOutputStream().

var ffmpeg = require('fluent-ffmpeg');
var util = require('fluent-ffmpeg-util');
var fs = require('fs');
ffmpeg()
    .input('input.webm')
    .output(util.tee('output.mkv', fs.createReadStream('output1.mkv')))
    .toFormat('matroska')
    .run();

Pause & Resume

To pause/resume a fluent-ffmpeg command use pause() or resume(), this is a cross-platform alternative to using command.kill('SIGSTOP') and command.kill('SIGCONT').

var ffmpeg = require('fluent-ffmpeg');
var util = require('fluent-ffmpeg-util');
var fs = require('fs');
var command = ffmpeg()
    .input('input.webm')
    .output(util.tee('output.mkv', fs.createReadStream('output1.mkv')))
    .toFormat('matroska')
    .on('start', function () {
        if (util.pause(command))
            console.log('ffmpeg paused');
        if (util.resume(command))
            console.log('ffmpeg resumed');
    });
command.run();

Abort

To gracefully interrupt a command in fluent-ffmpeg use abort(), it allows ffmpeg to end the files correctly but it doesn't guarantee a non-zero exit code. FFmpeg may still encounter an error while ending the files, so errors should still be handled.

var ffmpeg = require('fluent-ffmpeg');
var util = require('fluent-ffmpeg-util');
var fs = require('fs');
var command = ffmpeg()
    .input('input.webm')
    .output(util.tee('output.mkv', fs.createReadStream('output1.mkv')))
    .toFormat('matroska')
    .on('start', function () {
        util.abort(command);
    });
command.run();

FAQs

Package last updated on 05 Nov 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc