ReadFFmpeg node
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 / |
N/A |
The input image sequence/video stream file(s). |
|
First Frame / |
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 / |
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 / |
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 / |
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 / |
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 / |
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 / |
Integer |
0 |
At what time (on the timeline) should this sequence/video start. |
Time Offset / |
Integer |
0 |
Offset applied to the sequence in time units (i.e. frames). |
Proxy File / |
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 / |
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 / |
Boolean |
Off |
Check to enable the Proxy scale edition. |
File Premult / |
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 / |
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 / |
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 / |
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 / |
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 / |
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… / |
Button |
Display information about the underlying library. |
|
OCIO Config File / |
N/A |
OpenColorIO configuration file |
|
File Colorspace / |
Choice |
Input data is taken to be in this colorspace. |
|
Output Colorspace / |
Choice |
Output data is taken to be in this colorspace. |
|
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 / |
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 / |
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 / |
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 / |
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 / |
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 / |
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 / |
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… / |
Button |
Help about the OpenColorIO configuration. |