Class: FfmpegCommand

FfmpegCommand

new FfmpegCommand(input, options)

Create an ffmpeg command

Can be called with or without the 'new' operator, and the 'input' parameter may be specified as 'options.source' instead (or passed later with the addInput method).

Parameters:
Name Type Argument Description
input String | ReadableStream <optional>

input file path or readable stream

options Object <optional>

command options

Properties
Name Type Argument Default Description
logger Object <optional>
<no logging>

logger object with 'error', 'warning', 'info' and 'debug' methods

niceness Number <optional>
0

ffmpeg process niceness, ignored on Windows

priority Number <optional>
0

alias for niceness

presets String <optional>
"fluent-ffmpeg/lib/presets"

directory to load presets from

preset String <optional>
"fluent-ffmpeg/lib/presets"

alias for presets

stdoutLines String <optional>
100

maximum lines of ffmpeg output to keep in memory, use 0 for unlimited

timeout Number <optional>
<no timeout>

ffmpeg processing timeout in seconds

source String | ReadableStream <optional>
<no input>

alias for the input parameter

Source:

Audio methods

audioBitrate(bitrate)

Specify audio bitrate

Parameters:
Name Type Description
bitrate String | Number

audio bitrate in kbps (with an optional 'k' suffix)

Source:
Returns:

FfmpegCommand

Alias:
withAudioBitrate

audioChannels(channels)

Specify audio channel count

Parameters:
Name Type Description
channels Number

channel count

Source:
Returns:

FfmpegCommand

Alias:
withAudioChannels

audioCodec(codec)

Specify audio codec

Parameters:
Name Type Description
codec String

audio codec name

Source:
Returns:

FfmpegCommand

Alias:
withAudioCodec

audioFilter(filters)

audioFilters(filters)

Specify custom audio filter(s)

Can be called both with one or many filters, or a filter array.

Parameters:
Name Type Description
filters String | Array.<String> | Array.<Object>

audio filter strings, string array or filter specification array, each with the following properties:

Properties
Name Type Argument Description
filter String

filter name

options String | Array.<String> | Object <optional>

filter option string, array, or object

Source:
Returns:

FfmpegCommand

Examples:
command.audioFilters('filter1');
command.audioFilters('filter1', 'filter2=param1=value1:param2=value2');
command.audioFilters(['filter1', 'filter2']);
command.audioFilters([
  {
    filter: 'filter1'
  },
  {
    filter: 'filter2',
    options: 'param=value:param=value'
  }
]);
command.audioFilters(
  {
    filter: 'filter1',
    options: ['value1', 'value2']
  },
  {
    filter: 'filter2',
    options: { param1: 'value1', param2: 'value2' }
  }
);
Aliases:
  • withAudioFilter
  • withAudioFilters
  • audioFilter

audioFrequency(freq)

Specify audio frequency

Parameters:
Name Type Description
freq Number

audio frequency in Hz

Source:
Returns:

FfmpegCommand

Alias:
withAudioFrequency

audioQuality(quality)

Specify audio quality

Parameters:
Name Type Description
quality Number

audio quality factor

Source:
Returns:

FfmpegCommand

Alias:
withAudioQuality

noAudio()

Disable audio in the output

Source:
Returns:

FfmpegCommand

Alias:
withNoAudio

withAudioBitrate(bitrate)

withAudioChannels(channels)

withAudioCodec(codec)

withAudioFilter(filters)

withAudioFilters(filters)

withAudioFrequency(freq)

withAudioQuality(quality)

withNoAudio()

Capabilities methods

availableCodecs(callback)

Query ffmpeg for available codecs

Parameters:
Name Type Description
callback FfmpegCommand~codecCallback

callback function

Source:
Alias:
getAvailableCodecs

availableEncoders(callback)

Query ffmpeg for available encoders

Parameters:
Name Type Description
callback FfmpegCommand~encodersCallback

callback function

Source:
Alias:
getAvailableEncoders

availableFilters(callback)

Query ffmpeg for available filters

Parameters:
Name Type Description
callback FfmpegCommand~filterCallback

callback function

Source:
Alias:
getAvailableFilters

availableFormats(callback)

Query ffmpeg for available formats

Parameters:
Name Type Description
callback FfmpegCommand~formatCallback

callback function

Source:
Alias:
getAvailableFormats

getAvailableCodecs(callback)

getAvailableEncoders(callback)

getAvailableFilters(callback)

getAvailableFormats(callback)

Custom options methods

addInputOption(options)

addInputOptions(options)

addOption(options)

addOptions(options)

addOutputOption(options)

addOutputOptions(options)

complexFilter(spec, map)

Specify a complex filtergraph

Calling this method will override any previously set filtergraph, but you can set as many filters as needed in one call.

Parameters:
Name Type Argument Description
spec String | Array

filtergraph string or array of filter specification objects, each having the following properties:

Properties
Name Type Argument Description
filter String

filter name

inputs String | Array <optional>

(array of) input stream specifier(s) for the filter, defaults to ffmpeg automatically choosing the first unused matching streams

outputs String | Array <optional>

(array of) output stream specifier(s) for the filter, defaults to ffmpeg automatically assigning the output to the output file

options Object | String | Array <optional>

filter options, can be omitted to not set any options

map Array <optional>

(array of) stream specifier(s) from the graph to include in ffmpeg output, defaults to ffmpeg automatically choosing the first matching streams.

Source:
Returns:

FfmpegCommand

Examples:

Overlay an image over a video (using a filtergraph string)

  ffmpeg()
    .input('video.avi')
    .input('image.png')
    .complexFilter('[0:v][1:v]overlay[out]', ['out']);

Overlay an image over a video (using a filter array)

  ffmpeg()
    .input('video.avi')
    .input('image.png')
    .complexFilter([{
      filter: 'overlay',
      inputs: ['0:v', '1:v'],
      outputs: ['out']
    }], ['out']);

Split video into RGB channels and output a 3x1 video with channels side to side

 ffmpeg()
   .input('video.avi')
   .complexFilter([
     // Duplicate video stream 3 times into streams a, b, and c
     { filter: 'split', options: '3', outputs: ['a', 'b', 'c'] },

     // Create stream 'red' by cancelling green and blue channels from stream 'a'
     { filter: 'lutrgb', options: { g: 0, b: 0 }, inputs: 'a', outputs: 'red' },

     // Create stream 'green' by cancelling red and blue channels from stream 'b'
     { filter: 'lutrgb', options: { r: 0, b: 0 }, inputs: 'b', outputs: 'green' },

     // Create stream 'blue' by cancelling red and green channels from stream 'c'
     { filter: 'lutrgb', options: { r: 0, g: 0 }, inputs: 'c', outputs: 'blue' },

     // Pad stream 'red' to 3x width, keeping the video on the left, and name output 'padded'
     { filter: 'pad', options: { w: 'iw*3', h: 'ih' }, inputs: 'red', outputs: 'padded' },

     // Overlay 'green' onto 'padded', moving it to the center, and name output 'redgreen'
     { filter: 'overlay', options: { x: 'w', y: 0 }, inputs: ['padded', 'green'], outputs: 'redgreen'},

     // Overlay 'blue' onto 'redgreen', moving it to the right
     { filter: 'overlay', options: { x: '2*w', y: 0 }, inputs: ['redgreen', 'blue']},
   ]);
Alias:
filterGraph

filterGraph(spec, map)

inputOption(options)

inputOptions(options)

Add custom input option(s)

When passing a single string or an array, each string containing two words is split (eg. inputOptions('-option value') is supported) for compatibility reasons. This is not the case when passing more than one argument.

Parameters:
Name Type Argument Description
options String <repeatable>

option string(s) or string array

Source:
Returns:

FfmpegCommand

Examples:
command.inputOptions('option1');
command.inputOptions('option1', 'option2');
command.inputOptions(['option1', 'option2']);
Aliases:
  • addInputOption
  • addInputOptions
  • withInputOption
  • withInputOptions
  • inputOption

outputOption(options)

outputOptions(options)

Add custom output option(s)

Parameters:
Name Type Argument Description
options String <repeatable>

option string(s) or string array

Source:
Returns:

FfmpegCommand

Examples:
command.outputOptions('option1');
command.outputOptions('option1', 'option2');
command.outputOptions(['option1', 'option2']);
Aliases:
  • addOutputOption
  • addOutputOptions
  • addOption
  • addOptions
  • withOutputOption
  • withOutputOptions
  • withOption
  • withOptions
  • outputOption

withInputOption(options)

withInputOptions(options)

withOption(options)

withOptions(options)

withOutputOption(options)

withOutputOptions(options)

Input methods

addInput(source)

fpsInput(fps)

fromFormat(format)

input(source)

Add an input to command

Also switches "current input", that is the input that will be affected by subsequent input-related methods.

Note: only one stream input is supported for now.

Parameters:
Name Type Description
source String | Readable

input file path or readable stream

Source:
Returns:

FfmpegCommand

Aliases:
  • mergeAdd
  • addInput

inputFormat(format)

Specify input format for the last specified input

Parameters:
Name Type Description
format String

input format

Source:
Returns:

FfmpegCommand

Aliases:
  • withInputFormat
  • fromFormat

inputFps(fps)

Specify input FPS for the last specified input (only valid for raw video formats)

Parameters:
Name Type Description
fps Number

input FPS

Source:
Returns:

FfmpegCommand

Aliases:
  • withInputFps
  • withInputFPS
  • withFpsInput
  • withFPSInput
  • inputFPS
  • inputFps
  • fpsInput

inputFPS(fps)

inputFps(fps)

loop(duration)

Loop over the last specified input

Parameters:
Name Type Argument Description
duration String | Number <optional>

loop duration in seconds or as a '[[hh:]mm:]ss[.xxx]' string

Source:
Returns:

FfmpegCommand

mergeAdd(source)

native()

Use native framerate for the last specified input

Source:
Returns:

FfmmegCommand

Aliases:
  • nativeFramerate
  • withNativeFramerate

nativeFramerate()

seek(seek)

Specify output seek time

Parameters:
Name Type Description
seek String | Number

seek time in seconds or as a '[hh:[mm:]]ss[.xxx]' string

Source:
Returns:

FfmpegCommand

Alias:
seekOutput

seekInput(seek)

Specify input seek time for the last specified input

Parameters:
Name Type Description
seek String | Number

seek time in seconds or as a '[hh:[mm:]]ss[.xxx]' string

Source:
Returns:

FfmpegCommand

Aliases:
  • setStartTime
  • seekTo

seekOutput(seek)

Alias for FfmpegCommand#seek

seekTo(seek)

setStartTime(seek)

withFpsInput(fps)

withFPSInput(fps)

withInputFormat(format)

withInputFPS(fps)

withInputFps(fps)

withNativeFramerate()

Metadata methods

ffprobe(index, options, callback)

Run ffprobe on last specified input

Parameters:
Name Type Argument Description
index Number <optional>
<nullable>

0-based index of input to probe (defaults to last input)

options Array.<String> <optional>
<nullable>

array of output options to return

callback FfmpegCommand~ffprobeCallback

callback function

Source:

Miscellaneous methods

preset(preset)

Use preset

Parameters:
Name Type Description
preset String | function

preset name or preset function

Source:
Alias:
usingPreset

usingPreset(preset)

Other methods

clone()

Clone an ffmpeg command

This method is useful when you want to process the same input multiple times. It returns a new FfmpegCommand instance with the exact same options.

All options set after the clone() call will only be applied to the instance it has been called on.

Source:
Returns:

FfmpegCommand

Example:
var command = ffmpeg('/path/to/source.avi')
    .audioCodec('libfaac')
    .videoCodec('libx264')
    .format('mp4');

  command.clone()
    .size('320x200')
    .save('/path/to/output-small.mp4');

  command.clone()
    .size('640x400')
    .save('/path/to/output-medium.mp4');

  command.save('/path/to/output-original-size.mp4');

setFfmpegPath(ffmpegPath)

Manually define the ffmpeg binary full path.

Parameters:
Name Type Description
ffmpegPath String

The full path to the ffmpeg binary.

Source:
Returns:

FfmpegCommand

setFfprobePath(ffprobePath)

Manually define the ffprobe binary full path.

Parameters:
Name Type Description
ffprobePath String

The full path to the ffprobe binary.

Source:
Returns:

FfmpegCommand

setFlvtoolPath(flvtool)

Manually define the flvtool2/flvmeta binary full path.

Parameters:
Name Type Description
flvtool String

The full path to the flvtool2 or flvmeta binary.

Source:
Returns:

FfmpegCommand

Output methods

addOutput(target, pipeopts)

duration(duration)

Set output duration

Parameters:
Name Type Description
duration String | Number

duration in seconds or as a '[[hh:]mm:]ss[.xxx]' string

Source:
Returns:

FfmpegCommand

Aliases:
  • withDuration
  • setDuration

flvmeta()

Run flvtool2/flvmeta on output

Source:
Returns:

FfmpegCommand

Alias:
updateFlvMetadata

format(format)

Set output format

Parameters:
Name Type Description
format String

output format name

Source:
Returns:

FfmpegCommand

Aliases:
  • toFormat
  • withOutputFormat
  • outputFormat

map(spec)

Add stream mapping to output

Parameters:
Name Type Description
spec String

stream specification string, with optional square brackets

Source:
Returns:

FfmpegCommand

output(target, pipeopts)

Add output

Parameters:
Name Type Argument Default Description
target String | Writable

target file path or writable stream

pipeopts Object <optional>
{}

pipe options (only applies to streams)

Source:
Returns:

FfmpegCommand

Alias:
addOutput

outputFormat(format)

setDuration(duration)

toFormat(format)

updateFlvMetadata()

withDuration(duration)

withOutputFormat(format)

Processing methods

concat(target, options)

Merge (concatenate) inputs to a single file

Parameters:
Name Type Argument Description
target String | Writable

output file or writable stream

options Object <optional>

pipe options (only used when outputting to a writable stream)

Source:
Returns:

FfmpegCommand

Aliases:
  • concatenate
  • mergeToFile

concatenate(target, options)

exec()

Alias for FfmpegCommand#run

execute()

Alias for FfmpegCommand#run

kill(signal)

Kill current ffmpeg process, if any

Parameters:
Name Type Argument Default Description
signal String <optional>
SIGKILL

signal name

Source:
Returns:

FfmpegCommand

mergeToFile(target, options)

pipe(stream, options)

Execute ffmpeg command and save output to a stream

If 'stream' is not specified, a PassThrough stream is created and returned. 'options' will be used when piping ffmpeg output to the output stream (@see http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options)

Parameters:
Name Type Argument Default Description
stream stream.Writable <optional>

output stream

options Object <optional>
{}

pipe options

Source:
Returns:

Output stream

Aliases:
  • stream
  • writeToStream

renice(niceness)

Renice current and/or future ffmpeg processes

Ignored on Windows platforms.

Parameters:
Name Type Argument Default Description
niceness Number <optional>
0

niceness value between -20 (highest priority) and 20 (lowest priority)

Source:
Returns:

FfmpegCommand

run()

Run ffmpeg command

Source:
Aliases:
  • exec
  • execute

save(output)

Execute ffmpeg command and save output to a file

Parameters:
Name Type Description
output String

file path

Source:
Returns:

FfmpegCommand

Alias:
saveToFile

saveToFile(output)

Alias for FfmpegCommand#save

screenshot(config, folder)

screenshots(config, folder)

Generate images from a video

Note: this method makes the command emit a 'filenames' event with an array of the generated image filenames.

Parameters:
Name Type Argument Default Description
config Number | Object <optional>
1

screenshot count or configuration object with the following keys:

Properties
Name Type Argument Default Description
count Number <optional>

number of screenshots to take; using this option takes screenshots at regular intervals (eg. count=4 would take screens at 20%, 40%, 60% and 80% of the video length).

folder String <optional>
'.'

output folder

filename String <optional>
'tn.png'

output filename pattern, may contain the following tokens:

  • '%s': offset in seconds
  • '%w': screenshot width
  • '%h': screenshot height
  • '%r': screenshot resolution (same as '%wx%h')
  • '%f': input filename
  • '%b': input basename (filename w/o extension)
  • '%i': index of screenshot in timemark array (can be zero-padded by using it like %000i)
timemarks Array.<Number> | Array.<String> <optional>

array of timemarks to take screenshots at; each timemark may be a number of seconds, a '[[hh:]mm:]ss[.xxx]' string or a 'XX%' string. Overrides 'count' if present.

timestamps Array.<Number> | Array.<String> <optional>

alias for 'timemarks'

fastSeek Boolean <optional>

use fast seek (less accurate)

size String <optional>

screenshot size, with the same syntax as FfmpegCommand#size

folder String <optional>

output folder (legacy alias for 'config.folder')

Source:
Returns:

FfmpegCommand

Aliases:
  • takeScreenshots
  • thumbnail
  • thumbnails
  • screenshot

stream(stream, options)

Alias for FfmpegCommand#pipe

takeScreenshots(config, folder)

thumbnail(config, folder)

thumbnails(config, folder)

writeToStream(stream, options)

Alias for FfmpegCommand#pipe

Video methods

fps(fps)

Specify output FPS

Parameters:
Name Type Description
fps Number

output FPS

Source:
Returns:

FfmpegCommand

Aliases:
  • withOutputFps
  • withOutputFPS
  • withFpsOutput
  • withFPSOutput
  • withFps
  • withFPS
  • outputFPS
  • outputFps
  • fpsOutput
  • FPSOutput
  • FPS

FPS(fps)

Alias for FfmpegCommand#fps

fpsOutput(fps)

Alias for FfmpegCommand#fps

FPSOutput(fps)

Alias for FfmpegCommand#fps

frames(frames)

Only transcode a certain number of frames

Parameters:
Name Type Description
frames Number

frame count

Source:
Returns:

FfmpegCommand

Aliases:
  • takeFrames
  • withFrames

noVideo()

Disable video in the output

Source:
Returns:

FfmpegCommand

Alias:
withNoVideo

outputFps(fps)

Alias for FfmpegCommand#fps

outputFPS(fps)

Alias for FfmpegCommand#fps

takeFrames(frames)

videoBitrate(bitrate, constant)

Specify video bitrate

Parameters:
Name Type Argument Default Description
bitrate String | Number

video bitrate in kbps (with an optional 'k' suffix)

constant Boolean <optional>
false

enforce constant bitrate

Source:
Returns:

FfmpegCommand

Alias:
withVideoBitrate

videoCodec(codec)

Specify video codec

Parameters:
Name Type Description
codec String

video codec name

Source:
Returns:

FfmpegCommand

Alias:
withVideoCodec

videoFilter(filters)

videoFilters(filters)

Specify custom video filter(s)

Can be called both with one or many filters, or a filter array.

Parameters:
Name Type Description
filters String | Array.<String> | Array.<Object>

video filter strings, string array or filter specification array, each with the following properties:

Properties
Name Type Argument Description
filter String

filter name

options String | Array.<String> | Object <optional>

filter option string, array, or object

Source:
Returns:

FfmpegCommand

Examples:
command.videoFilters('filter1');
command.videoFilters('filter1', 'filter2=param1=value1:param2=value2');
command.videoFilters(['filter1', 'filter2']);
command.videoFilters([
  {
    filter: 'filter1'
  },
  {
    filter: 'filter2',
    options: 'param=value:param=value'
  }
]);
command.videoFilters(
  {
    filter: 'filter1',
    options: ['value1', 'value2']
  },
  {
    filter: 'filter2',
    options: { param1: 'value1', param2: 'value2' }
  }
);
Aliases:
  • withVideoFilter
  • withVideoFilters
  • videoFilter

withFPS(fps)

Alias for FfmpegCommand#fps

withFps(fps)

Alias for FfmpegCommand#fps

withFPSOutput(fps)

Alias for FfmpegCommand#fps

withFpsOutput(fps)

Alias for FfmpegCommand#fps

withFrames(frames)

withNoVideo()

withOutputFps(fps)

Alias for FfmpegCommand#fps

withOutputFPS(fps)

Alias for FfmpegCommand#fps

withVideoBitrate(bitrate, constant)

withVideoCodec(codec)

withVideoFilter(filters)

withVideoFilters(filters)

Video size methods

applyAutoPad(pad, color)

applyAutopad(pad, color)

applyAutoPadding(pad, color)

applyAutopadding(pad, color)

aspect(aspect)

Set output aspect ratio

Parameters:
Name Type Description
aspect String | Number

aspect ratio (number or 'X:Y' string)

Source:
Returns:

FfmpegCommand

Aliases:
  • withAspect
  • withAspectRatio
  • setAspect
  • setAspectRatio
  • aspectRatio

aspectRatio(aspect)

autopad(pad, color)

Enable auto-padding the output

Parameters:
Name Type Argument Default Description
pad Boolean <optional>
true

enable/disable auto-padding

color String <optional>
'black'

pad color

Source:
Aliases:
  • applyAutopadding
  • applyAutoPadding
  • applyAutopad
  • applyAutoPad
  • withAutopadding
  • withAutoPadding
  • withAutopad
  • withAutoPad
  • autoPad

autoPad(pad, color)

keepDAR()

Keep display aspect ratio

This method is useful when converting an input with non-square pixels to an output format that does not support non-square pixels. It rescales the input so that the display aspect ratio is the same.

Source:
Returns:

FfmpegCommand

Aliases:
  • keepPixelAspect
  • keepDisplayAspect
  • keepDisplayAspectRatio

keepDisplayAspect()

keepDisplayAspectRatio()

keepPixelAspect()

setAspect(aspect)

setAspectRatio(aspect)

setSize(size)

Alias for FfmpegCommand#size

size(size)

Set output size

The 'size' parameter can have one of 4 forms:

  • 'X%': rescale to xx % of the original size
  • 'WxH': specify width and height
  • 'Wx?': specify width and compute height from input aspect ratio
  • '?xH': specify height and compute width from input aspect ratio

Note: both dimensions will be truncated to multiples of 2.

Parameters:
Name Type Description
size String

size string, eg. '33%', '320x240', '320x?', '?x240'

Source:
Returns:

FfmpegCommand

Aliases:
  • withSize
  • setSize

withAspect(aspect)

withAspectRatio(aspect)

withAutoPad(pad, color)

withAutopad(pad, color)

withAutopadding(pad, color)

withAutoPadding(pad, color)

withSize(size)

Alias for FfmpegCommand#size

Type Definitions

codecCallback(err, codecs)

A callback passed to FfmpegCommand#availableCodecs.

Parameters:
Name Type Description
err Error | null

error object or null if no error happened

codecs Object

codec object with codec names as keys and the following properties for each codec (more properties may be available depending on the ffmpeg version used):

Properties
Name Type Description
description String

codec description

canDecode Boolean

whether the codec is able to decode streams

canEncode Boolean

whether the codec is able to encode streams

Source:

encodersCallback(err, encoders)

A callback passed to FfmpegCommand#availableEncoders.

Parameters:
Name Type Description
err Error | null

error object or null if no error happened

encoders Object

encoders object with encoder names as keys and the following properties for each encoder:

Properties
Name Type Description
description String

codec description

type Boolean

"audio", "video" or "subtitle"

frameMT Boolean

whether the encoder is able to do frame-level multithreading

sliceMT Boolean

whether the encoder is able to do slice-level multithreading

experimental Boolean

whether the encoder is experimental

drawHorizBand Boolean

whether the encoder supports draw_horiz_band

directRendering Boolean

whether the encoder supports direct encoding method 1

Source:

ffprobeCallback(err, ffprobeData)

A callback passed to the FfmpegCommand#ffprobe method.

Parameters:
Name Type Description
err Error | null

error object or null if no error happened

ffprobeData Object

ffprobe output data; this object has the same format as what the following command returns:

`ffprobe -print_format json -show_streams -show_format INPUTFILE`
Properties
Name Type Description
streams Array

stream information

format Object

format information

Source:

filterCallback(err, filters)

A callback passed to FfmpegCommand#availableFilters.

Parameters:
Name Type Description
err Error | null

error object or null if no error happened

filters Object

filter object with filter names as keys and the following properties for each filter:

Properties
Name Type Description
description String

filter description

input String

input type, one of 'audio', 'video' and 'none'

multipleInputs Boolean

whether the filter supports multiple inputs

output String

output type, one of 'audio', 'video' and 'none'

multipleOutputs Boolean

whether the filter supports multiple outputs

Source:

formatCallback(err, formats)

A callback passed to FfmpegCommand#availableFormats.

Parameters:
Name Type Description
err Error | null

error object or null if no error happened

formats Object

format object with format names as keys and the following properties for each format:

Properties
Name Type Description
description String

format description

canDemux Boolean

whether the format is able to demux streams from an input file

canMux Boolean

whether the format is able to mux streams into an output file

Source:

Events

codecData

Emitted when ffmpeg reports input codec data

Parameters:
Name Type Description
codecData Object

codec data object

Properties
Name Type Description
format String

input format name

audio String

input audio codec name

audio_details String

input audio codec parameters

video String

input video codec name

video_details String

input video codec parameters

Source:

end

Emitted when a command finishes processing

Parameters:
Name Type Argument Description
filenames|stdout Array | String | null <optional>

generated filenames when taking screenshots, ffmpeg stdout when not outputting to a stream, null otherwise

stderr String | null

ffmpeg stderr

Source:

error

Emitted when an error happens when preparing or running a command

Parameters:
Name Type Description
error Error

error object

stdout String | null

ffmpeg stdout, unless outputting to a stream

stderr String | null

ffmpeg stderr

Source:

progress

Emitted when ffmpeg reports progress information

Parameters:
Name Type Description
progress Object

progress object

Properties
Name Type Argument Description
frames Number

number of frames transcoded

currentFps Number

current processing speed in frames per second

currentKbps Number

current output generation speed in kilobytes per second

targetSize Number

current output file size

timemark String

current video timemark

percent Number <optional>

processing progress (may not be available depending on input)

Source:

start

Emitted just after ffmpeg has been spawned.

Parameters:
Name Type Description
command String

ffmpeg command line

Source:

stderr

Emitted when ffmpeg outputs to stderr

Parameters:
Name Type Description
line String

stderr output line

Source: