unreal.TimecodeSynchronizer

class unreal.TimecodeSynchronizer(outer=None, name='None')

Bases: unreal.TimecodeProvider

Timecode Synchronizer is intended to correlate multiple timecode sources to help ensure that all sources can produce data that is frame aligned.

This typically works by having sources buffer data until we have enough frames that such that we can find an overlap. Once that process is finished, the Synchronizer will provide the appropriate timecode to the engine (which can be retrieved via FApp::GetTimecode and FApp::GetTimecodeFrameRate).

Note, the Synchronizer doesn’t perform any buffering of data itself (that is left up to TimeSynchronizationSources). Instead, the synchronizer simply acts as a coordinator making sure all sources are ready, determining if sync is possible, etc.

C++ Source:

  • Plugin: TimecodeSynchronizer

  • Module: TimecodeSynchronizer

  • File: TimecodeSynchronizer.h

Editor Properties: (see get_editor_property/set_editor_property)

  • actual_frame_offset (int32): [Read-Only] Actual Frame Offset

  • auto_frame_offset (int32): [Read-Write] Similar to FrameOffset. For Auto mode, this represents the number of frames behind the newest synced frame. For AutoModeOldest, the is the of frames ahead of the last synced frame.

  • fixed_frame_rate (FrameRate): [Read-Write] The fixed framerate to use.

  • frame_delay (float): [Read-Write] Number of frames to subtract from the qualified frame time when GetDelayedQualifiedFrameTime or GetDelayedTimecode is called. see: GetDelayedQualifiedFrameTime, GetDelayedTimecode

  • frame_offset (int32): [Read-Write] When UserDefined mode is used, the number of frames delayed from the Provider’s timecode. Negative values indicate the used timecode will be ahead of the Provider’s.

  • frame_rate_source (TimecodeSynchronizationFrameRateSources): [Read-Write] Frame Rate Source.

  • master_synchronization_source_index (int32): [Read-Write] Index of the source that drives the synchronized Timecode. The source need to be timecoded and flag as bUseForSynchronization

  • non_synchronized_sources (Array(TimecodeSynchronizerActiveTimecodedInputSource)): [Read-Only] Sources that wants to be synchronized

  • pre_rolling_timecode_margin_of_errors (int32): [Read-Write] Maximum gap size between synchronized time and source time

  • pre_rolling_timeout (float): [Read-Write] How long to wait for all source to be ready

  • sync_mode (TimecodeSynchronizationSyncMode): [Read-Write] What mode will be used for synchronization.

  • synchronized_sources (Array(TimecodeSynchronizerActiveTimecodedInputSource)): [Read-Only] Sources used for synchronization

  • time_synchronization_input_sources (Array(TimeSynchronizationSource)): [Read-Write] ! ONLY MODIFY THESE IN EDITOR ! TODO: Deprecate this and make it private.

  • timecode_provider (TimecodeProvider): [Read-Write] Custom strategy to tick in a interval.

  • timecode_provider_type (TimecodeSynchronizationTimecodeType): [Read-Write] Use a Timecode Provider.

  • with_rollover (bool): [Read-Write] Whether or not the specified Provider’s timecode rolls over. (Rollover is expected to occur at Timecode 24:00:00:00).