Video Delay

Video Delay operator properties for Script Engine. Holds incoming frames in a buffer and outputs them after a configurable delay. Useful for keeping video in sync with audio that has been processed elsewhere in the chain (lip-sync), aligning multiple video sources that arrive at slightly different times, or compensating for known latency in downstream equipment. Also includes a freeze- frame mode that holds the last buffered frame on screen — handy for "pause on cue" effects or to mask a brief glitch in the source.

Property Type Access Description
FrameDelay int get/set Number of frames the video is delayed by. [min=0, max=250, default=0]. 0 leaves the video unchanged. Higher values push the picture later in time. At 50 fps, a delay of 50 frames is one second. Larger delays use more memory because every buffered frame is kept at full resolution.
FreezeVideo bool get/set When true, holds the current output frame on screen instead of advancing. [default=false]. Useful for "pause on cue" effects or for masking a brief glitch in the source by freezing on a clean frame. While frozen, FrameDelay is locked. Disable to resume normal delayed playback.
GpuMemoryUsage int get Approximate memory used by the buffered frames, in megabytes (read-only). Scales with FrameDelay and the layer's resolution. Watch this on memory- constrained machines or when running long delays at 4K.
BufferLength int get Number of frames currently sitting in the delay buffer (read-only, debug).
BufferFilled bool get True once the buffer has filled to the configured FrameDelay (read-only, debug). While false, the operator hasn't yet collected enough frames to apply the full delay and outputs the live picture instead.

Inherits from: AbstractOperator, AbstractAudioMetering.

See also: Video Delay in Operators — user-facing introduction, screenshots, and section summaries.