On this page | |
Since | 17.5 |
Note
For information about the opposite operation of extracting frame images from a video, see the FFmpeg extract images node documentation.
Note
The encoders that are available can vary with the platform and license type. Care should be taken when submitting jobs to remote machines as they may not have the same encoders availabe to them.
Installation ¶
This node is a wrapper around the ffmpeg
command line tool. By default, it uses the version of FFmpeg that ships with Houdini as `$HFS/bin/hffmpeg. You can also install your own version of FFmpeg and use that instead.
For the node to find a custom installation of the FFmpeg command line tool, the path to the tool’s executable binary must be available via one of the following methods:
-
The system path.
-
Specified in an environment variable
PDG_FFMPEG
. -
Specified directly in the node by the FFmpeg Binary Path parameter.
Tip
The $HH/help/files/pdg_examples/top_multishot
and $HH/help/files/pdg_examples/top_rop
examples show how you can use this node to create a movie from rendered images.
TOP Attributes ¶
|
integer |
The frames per second of the output video. |
Parameters ¶
Node ¶
Generate When
Determines when this node will generate work items. You should generally leave this set to “Automatic” unless you know the node requires a specific generation mode, or that the work items need to be generated dynamically.
All Upstream Items are Generated
This node will generate work items once all of the input nodes have generated their work items.
All Upstream Items are Cooked
This node will generate work items once all of the input nodes have cooked their work items.
Each Upstream Item is Cooked
This node will generate work items each time a work item in an input node is cooked.
Automatic
The generation mode is selected based on the generation mode of the input nodes. If any of the input nodes are generating work items when their inputs cook, this node will be set to Each Upstream Item is Cooked. Otherwise, it will be set to All Upstream Items are Generated.
Cache Mode
Determines how the processor node handles work items that report expected file results.
Automatic
If the expected result file exists on disk, the work item is marked as cooked without being scheduled. If the file does not exist on disk, the work item is scheduled as normal. If upstream work item dependencies write out new files during a cook, the cache files on work items in this node will also be marked as out-of-date.
Automatic (Ignore Upstream)
The same as Automatic, except upstream file writes do not invalidate cache files on work items in this node and this node will only check output files for its own work items.
Read Files
If the expected result file exists on disk, the work item is marked as cooked without being scheduled. Otherwise the work item is marked as failed.
Write Files
Work items are always scheduled and the expected result file is ignored even if it exists on disk.
Cook Type
Determines how work items in the node should cook, e.g. if they should run in process, out of process, or using services.
Run on Service Block
Determines whether or not work items in this node should run on the parent service block, if one exists.
Always
Always run work items on the block’s service, regardless of any other service settings on this node.
Match
Only run work items on the block’s service if Service Name matches the service name that’s used by the block.
Never
Never run work items on the block’s service.
Service Name
When Cook Type is set to the Service, this parameter is used to specify the name of the service. For more information on using services, see the PDG Service Manager documentation.
Tool Presets
Sets of pre-defined FFmpeg operations (presets) that automatically configure the node’s parameters and the FFmpeg command.
Create Video From Images
Create a video from a set of input images.
Convert File Format
Perform file format conversion without re-encoding the streams. For example, converting between MKV and MP4.
Re-Encode Video
Re-encode a video with a different encoder and options. For example, H.264 to AV1.
Input Source
Specifies the input source.
Upstream Output Images
Sets the input as the output files from the upstream work item with the tag specified by the File Tag parameter.
Upstream Output File
Sets the input as the first output file from the upstream work item with the tag specified by the File Tag parameter.
Custom File Path
Sets the input as the file path specified by the File Path parameter.
File Tag
Specifies the file tag of the input source.
This parameter is only available when Input Source is not set to Custom File Path.
File Path
Specifies the file path to the input source.
This parameter is only available when Input Source is set to Custom File Path.
Frame List File
The file path to the frame list file. The frame list file is a text file that contains an ordered list of all the input images that are used to construct the video.
FFmpeg requires that the paths of the images in this file are specified as relative paths. On Windows, that is why the frame list file must be placed on the same drive as the input images.
This parameter is only available when Input Source is set to Upstream Output Images.
Output File Path
Specifies the file path of the output video.
File Tag
Specifies the file tag of the output video.
See FFmpeg Codecs Documentation and FFmpeg Formats Documentation for details.
Frames per Second
When enabled, specifies the frame rate of the encoded video file.
Format
When enabled, specifies the format of the encoded video file. When disabled, the format is guessed from the file extension.
Resolution
When enabled, specifies the resolution of the encoded video file.
Video Codec
When enabled, specifies the video codec that should be used to encode the video file.
MOV Muxer Flags
When enabled, specifies any additional muxing switches.
Pixel Format
When enabled, specifies the pixel format of the encoded video file.
Additional Arguments
When enabled, specifies any additional arguments that should be passed to FFmpeg.
See Colorspace support in FFmpeg for details.
Color Range
When enabled, specifies the range of color values that should be used in the encoded video file.
Color Space
When enabled, specifies the colorspace of the encoded video file.
Color Primaries
When enabled, specifies the color primaries of the encoded video file.
Transfer Function
When enabled, specifies the color transfer function of the encoded video file.
EXR Transfer Func
When enabled, specifies the color transfer function to apply to linear EXR inputs.
FFmpeg Binary
Determines how FFmpeg is called.
System Path
Calls FFmpeg from the system path (if available).
$PDG_FFMPEG
Calls FFmpeg using the path stored in the PDG_FFMPEG
environment variable. This environment variable must be user-created.
Custom Path
Calls the FFmpeg binary using the path specified by the FFmpeg Binary Path parameter.
Houdini FFmpeg
Uses the copy of FFmpeg that ships with Houdini, i.e. $HFS/bin/hffmpeg
.
FFmpeg Binary Path
Specifies the path to the FFmpeg binary.
This parameter is only available when FFmpeg Binary is set to Custom Path.
FFmpeg Command
When on, specifies the FFmpeg command that is called when the work item cooks. You can modify this command, but it will not automatically update if the other parameters change.
Schedulers ¶
TOP Scheduler Override
This parameter overrides the TOP scheduler for this node.
Schedule When
When enabled, this parameter can be used to specify an expression that determines which work items from the node should be scheduled. If the expression returns zero for a given work item, that work item will immediately be marked as cooked instead of being queued with a scheduler. If the expression returns a non-zero value, the work item is scheduled normally.
Add Job Parms
Opens the Edit Parameter Interface window for the purpose of adding scheduler parameters to the node’s interface.
In-Process Scheduler
The Edit Parameter Interface window opens with the In-Process Scheduler’s parameter folder selected in the Create Parameters column.
Local Scheduler
The Edit Parameter Interface window opens with the Local Scheduler’s parameter folder selected in the Create Parameters column.
HQueue Scheduler
The Edit Parameter Interface window opens with the HQueue Scheduler’s parameter folder selected in the Create Parameters column.
Work Item Label
Determines how the node should label its work items. This parameter allows you to assign non-unique label strings to your work items which are then used to identify the work items in the attribute panel, task bar, and scheduler job names.
Use Default Label
The work items in this node will use the default label from the TOP network, or have no label if the default is unset.
Inherit From Upstream Item
The work items inherit their labels from their parent work items.
Custom Expression
The work item label is set to the Label Expression custom expression which is evaluated for each item.
Node Defines Label
The work item label is defined in the node’s internal logic.
Label Expression
When on, this parameter specifies a custom label for work items created by this node. The parameter can be an expression that includes references to work item attributes or built-in properties. For example, $OS: @pdg_frame
will set the label of each work item based on its frame value.
Work Item Priority
This parameter determines how the current scheduler prioritizes the work items in this node.
Inherit From Upstream Item
The work items inherit their priority from their parent items. If a work item has no parent, its priority is set to 0.
Custom Expression
The work item priority is set to the value of Priority Expression.
Node Defines Priority
The work item priority is set based on the node’s own internal priority calculations.
This option is only available on the Python Processor TOP, ROP Fetch TOP, and ROP Output TOP nodes. These nodes define their own prioritization schemes that are implemented in their node logic.
Priority Expression
This parameter specifies an expression for work item priority. The expression is evaluated for each work item in the node.
This parameter is only available when Work Item Priority is set to Custom Expression.
Examples ¶
example_top_ffmpegencodevideo Example for FFmpeg Encode Video TOP node
This example demonstrates how to use FFmpeg Encode Video node to encode a sequence of images into a video file.
See also |