unreal.MoviePipelineMP4EncoderOutput

class unreal.MoviePipelineMP4EncoderOutput(outer: Object | None = None, name: Name | str = 'None')

Bases: MoviePipelineVideoOutputBase

Movie Pipeline MP4Encoder Output

C++ Source:

  • Plugin: MovieRenderPipeline

  • Module: MovieRenderPipelineMP4Encoder

  • File: MoviePipelineMP4EncoderOutput.h

Editor Properties: (see get_editor_property/set_editor_property)

  • average_bitrate_in_mbps (float): [Read-Write] What is the average bitrate the encoder should target per second? Value is in Megabits per Second, so a value of 8 will become 8192Kbps (kilobits per second). Higher resolutions and higher framerates need higher bitrates, reasonable starting values are 8 for 1080p30, 45 for 4k. Only applies to encoding modes not related to Quality.

  • constant_rate_factor (int32): [Read-Write] What is the Constant Rate Factor (CRF) when targeting a specific quality. Values of 17-18 are generally considered perceptually lossless, while higher values produce smaller files with lower quality results. There is an absolute maximum value range of [16-51], where 16 is the highest quality possible and 51 is the lowest quality. This scale is logarithmic, so small changes can result in large differences in quality, and filesize cost.

  • encoding_level (MoviePipelineMP4EncodeLevel): [Read-Write] A higher encode level generally results in a better quality video for the same bitrate, but may not be supported for playback on old devices. Auto will let the encoder automatically select the best level given the resolution, profile, and bitrate.

    Not exposed to the UI because it is expected most users do not need to change this, but is still available to be scripted.

  • encoding_profile (MoviePipelineMP4EncodeProfile): [Read-Write] A higher profile generally results in a better quality video for the same bitrate, but may not be supported for playback on old devices.

    Not exposed to the UI because it is expected most users do not need to change this, but is still available to be scripted.

  • encoding_rate_control (MoviePipelineMP4EncodeRateControlMode): [Read-Write] Specifies the bitrate control method used by the encoder. Quality lets the user target a given quality without concern to the filesize, while Average/Constant modes allow you to suggest desired sizes, though the resulting file may still end up larger or smaller than specified.

  • include_audio (bool): [Read-Write] If true, audio will be included in the video file.

  • max_bitrate_in_mbps (float): [Read-Write] When using VariableBitRate_Constrained, what is the maximum bitrate that the encoder can briefly use for more complex scenes, while still trying to maintain the average set in AverageBitrateInMbps. In theory the maximum should be twice the average, but often in practice a smaller difference of 3-6Mbps is sufficient.

    Not exposed to the UI because it is expected most users do not need to change this, but is still available to be scripted.

property average_bitrate_in_mbps: float

[Read-Write] What is the average bitrate the encoder should target per second? Value is in Megabits per Second, so a value of 8 will become 8192Kbps (kilobits per second). Higher resolutions and higher framerates need higher bitrates, reasonable starting values are 8 for 1080p30, 45 for 4k. Only applies to encoding modes not related to Quality.

Type:

(float)

property constant_rate_factor: int

[Read-Write] What is the Constant Rate Factor (CRF) when targeting a specific quality. Values of 17-18 are generally considered perceptually lossless, while higher values produce smaller files with lower quality results. There is an absolute maximum value range of [16-51], where 16 is the highest quality possible and 51 is the lowest quality. This scale is logarithmic, so small changes can result in large differences in quality, and filesize cost.

Type:

(int32)

property encoding_level: MoviePipelineMP4EncodeLevel

[Read-Write] A higher encode level generally results in a better quality video for the same bitrate, but may not be supported for playback on old devices. Auto will let the encoder automatically select the best level given the resolution, profile, and bitrate.

Not exposed to the UI because it is expected most users do not need to change this, but is still available to be scripted.

Type:

(MoviePipelineMP4EncodeLevel)

property encoding_profile: MoviePipelineMP4EncodeProfile

[Read-Write] A higher profile generally results in a better quality video for the same bitrate, but may not be supported for playback on old devices.

Not exposed to the UI because it is expected most users do not need to change this, but is still available to be scripted.

Type:

(MoviePipelineMP4EncodeProfile)

property encoding_rate_control: MoviePipelineMP4EncodeRateControlMode

[Read-Write] Specifies the bitrate control method used by the encoder. Quality lets the user target a given quality without concern to the filesize, while Average/Constant modes allow you to suggest desired sizes, though the resulting file may still end up larger or smaller than specified.

Type:

(MoviePipelineMP4EncodeRateControlMode)

property include_audio: bool

[Read-Write] If true, audio will be included in the video file.

Type:

(bool)

property max_bitrate_in_mbps: float

[Read-Write] When using VariableBitRate_Constrained, what is the maximum bitrate that the encoder can briefly use for more complex scenes, while still trying to maintain the average set in AverageBitrateInMbps. In theory the maximum should be twice the average, but often in practice a smaller difference of 3-6Mbps is sufficient.

Not exposed to the UI because it is expected most users do not need to change this, but is still available to be scripted.

Type:

(float)