ReadFFmpeg node

pluginIcon

This documentation is for version 1.1 of ReadFFmpeg (fr.inria.openfx.ReadFFmpeg).

Description

Read video using FFmpeg.

All formats supported by FFmpeg should be supported, but there may be issues with some non-conform files. In this case, it is recommended to transcode the video to a digital intermediate format, which is more suitable for grading, compositing and video editing.

This can be done using the ffmpeg command-line tool, by following the instructions at (https://trac.ffmpeg.org/wiki/Encode/VFX).

Note that some format/codec combinations (eg AVI containing H264, MPEG-1 Video or MPEG-2 Video) do not support timestamps and must be moved to another container (e.g., MOV).

Inputs

Input

Description

Optional

Sync

Sync

Yes

Controls

Parameter / script name

Type

Default

Function

File / filename

N/A

The input image sequence/video stream file(s).

First Frame / firstFrame

Integer

0

The first frame number to read from this image sequence or video file. This cannot be less than the first frame of the image sequence or video file, and cannot be greater than the last frame of the image sequence or video file. The first frame of a video file is numbered 1. If startingTime is 1 or timeOffset is 0, this is also the first output frame.

Before / before

Choice

Hold

What to do before the first frame of the sequence.
Hold (hold): While before the sequence, load the first frame.
Loop (loop): Repeat the sequence before the first frame
Bounce (bounce): Repeat the sequence in reverse before the first frame
Black (black): Render a black image
Error (error): Report an error

Last Frame / lastFrame

Integer

0

The last frame number to read from this image sequence or video file. This cannot be less than the first frame of the image sequence or video file, and cannot be greater than the last frame of the image sequence or video file. The first frame of a video file is numbered 1. If startingTime is 1 or timeOffset is 0, this is also the last output frame.

After / after

Choice

Hold

What to do after the last frame of the sequence.
Hold (hold): While before the sequence, load the first frame.
Loop (loop): Repeat the sequence before the first frame
Bounce (bounce): Repeat the sequence in reverse before the first frame
Black (black): Render a black image
Error (error): Report an error

On Missing Frame / onMissingFrame

Choice

Error

What to do when a frame is missing from the sequence/stream.
Hold previous (previous): Try to load the previous frame in the sequence/stream, if any.
Load next (next): Try to load the next frame in the sequence/stream, if any.
Load nearest (nearest): Try to load the nearest frame in the sequence/stream, if any.
Error (error): Report an error
Black (black): Render a black image

Frame Mode / frameMode

Choice

Starting Time


Starting Time (startingTime): Set at what output frame the first sequence frame is output. The sequence frame designated by the firstFrame parameter is output at frame timeOffset.
Time Offset (timeOffset): Set an offset to be applied as a number of frames. The sequence frame designated by the firstFrame parameter is output at frame firstFrame+timeOffset.

Starting Time / startingTime

Integer

0

At what time (on the timeline) should this sequence/video start.

Time Offset / timeOffset

Integer

0

Offset applied to the sequence in time units (i.e. frames).

Proxy File / proxy

N/A

Filename of the proxy images. They will be used instead of the images read from the File parameter when the proxy mode (downscaling of the images) is activated.

Proxy threshold / proxyThreshold

Double

x: 1 y: 1

The scale of the proxy images. By default it will be automatically computed out of the images headers when you set the proxy file(s) path. When the render scale (proxy) is set to a scale lower or equal to this value then the proxy image files will be used instead of the original images. You can change this parameter by checking the “Custom scale” checkbox so that you can change the scale at which the proxy images should be used instead of the original images.

Custom Proxy Scale / customProxyScale

Boolean

Off

Check to enable the Proxy scale edition.

File Premult / filePremult

Choice

PreMultiplied

The image file being read is considered to have this premultiplication state.
To get UnPremultiplied (or “unassociated alpha”) images, set the “Output Premult” parameter to Unpremultiplied.
By default the value should be correctly be guessed by the image file, but this parameter can be edited if the metadatas inside the file are wrong.
- Opaque means that the alpha channel is considered to be 1 (one), and it is not taken into account in colorspace conversion.
- Premultiplied, red, green and blue channels are divided by the alpha channel before applying the colorspace conversion, and re-multiplied by alpha after colorspace conversion.
- UnPremultiplied, means that red, green and blue channels are not modified before applying the colorspace conversion, and are multiplied by alpha after colorspace conversion.
This is set automatically from the image file and the plugin, but can be adjusted if this information is wrong in the file metadata.
RGB images can only be Opaque, and Alpha images can only be Premultiplied (the value of this parameter doesn’t matter).
Opaque (opaque): The image is opaque and so has no premultiplication state, as if the alpha component in all pixels were set to the white point.
PreMultiplied (premult): The image is premultiplied by its alpha (also called “associated alpha”).
UnPreMultiplied (unpremult): The image is unpremultiplied (also called “unassociated alpha”).

Output Premult / outputPremult

Choice

PreMultiplied

The alpha premultiplication in output of this node will have this state.
Opaque (opaque): The image is opaque and so has no premultiplication state, as if the alpha component in all pixels were set to the white point.
PreMultiplied (premult): The image is premultiplied by its alpha (also called “associated alpha”).
UnPreMultiplied (unpremult): The image is unpremultiplied (also called “unassociated alpha”).

Output Components / outputComponents

Choice

RGBA

What type of components this effect should output when the main color plane is requested. For the Read node it will map (in number of components) the Output Layer choice to these.
RGBA
RGB

Frame rate / frameRate

Double

24

By default this value is guessed from the file. You can override it by checking the Custom fps parameter. The value of this parameter is what will be visible by the effects down-stream.

Custom FPS / customFps

Boolean

Off

If checked, you can freely force the value of the frame rate parameter. The frame-rate is just the meta-data that will be passed downstream to the graph, no retime will actually take place.

First Track Only / firstTrackOnly

Boolean

Off

Causes the reader to ignore all but the first video track it finds in the file. This should be selected in a multiview project if the file happens to contain multiple video tracks that don’t correspond to different views.

FFmpeg Info… / libraryInfo

Button

Display information about the underlying library.

OCIO Config File / ocioConfigFile

N/A

OpenColorIO configuration file

File Colorspace / ocioInputSpaceIndex

Choice

Input data is taken to be in this colorspace.

Output Colorspace / ocioOutputSpaceIndex

Choice

Output data is taken to be in this colorspace.

key1 / key1

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

value1 / value1

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

key2 / key2

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

value2 / value2

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

key3 / key3

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

value3 / value3

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

key4 / key4

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

value4 / value4

String

OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:

OCIO config help… / ocioHelp

Button

Help about the OpenColorIO configuration.