Blackmagic Decklink Target v4
Blackmagic Decklink Target v4 properties for Script Engine. Sends the composited scene's video and audio to a Blackmagic Decklink card for SDI / HDMI output to broadcast switchers, monitors, recorders, and other professional video equipment. Supports either stereo (2-channel) or multi-channel (8-channel) embedded audio output, useful for multi-language broadcasts, surround sound, and split-feed productions. Lets you pick which Decklink device and output channel to use, the display mode (resolution and frame rate) advertised on the cable, and the number of audio channels to send. Surfaces playback controls, the live device name, and a set of runtime statistics for diagnostics.
| Property | Type | Access | Description |
|---|---|---|---|
AutoStart |
bool |
get/set |
Whether the target starts automatically as soon as the project loads. [default=false]. When true, the target invokes its start logic immediately on load (equivalent to running StartCommand). Make sure DecklinkOutputChannel and DisplayMode are configured first — otherwise startup will fail and the target will sit idle. |
DecklinkOutputChannel |
DecklinkCaptureChannel |
get/set |
Which physical Decklink output port to send video and audio to. Selects one of the available Decklink output channels detected on the system. A card may expose multiple channels (e.g. SDI 1, SDI 2, HDMI), and only one target instance can drive each channel at a time. Must be set before StartCommand will run; clearing this disables playback. Locked while playback is starting or running — stop the target before changing it. |
DisplayMode |
StringCollectionEnum |
get/set |
Resolution and frame rate the target negotiates with the Decklink card. Selects the display mode advertised over SDI/HDMI — for example 1080p50, 1080i59.94, or 2160p30. The list contains only the modes that match both the selected DecklinkOutputChannel's capabilities and the current project frame rate. After changing the project frame rate (in Performance and project options), re-lock the frame rate to refresh this dropdown — until the lock is re-engaged it still shows the modes for the previous frame rate. Pick a mode that matches the downstream equipment (switcher, monitor, recorder) to avoid frame-rate conversion or "no signal" errors. Locked while playback is starting or running. |
AudioChannels |
AudioNumberOfChannels |
get/set |
Number of audio channels to embed alongside the video signal. [default=Two]. Two (stereo) is the standard choice for most workflows. Eight enables 8-channel embedded audio output, used for multi-language broadcasts (each language pair on its own channel pair), surround sound, or split-feed productions. The selected value must be supported by the chosen output channel and respected by downstream equipment. Locked while playback is starting or running. |
DeviceName |
string |
get |
Friendly name of the Decklink device currently in use (read-only). Reflects the model/identifier reported by the Decklink driver for the selected DecklinkOutputChannel (for example "DeckLink 8K Pro (1)"). Useful from scripts to confirm the right card was picked when more than one Decklink device is installed, or to surface the device label in a status overlay. |
PlaybackState |
PlaybackState |
get |
Current playback state of the target (read-only). Reflects whether the target is Stopped, Starting, Running, Stopping, or Restarting. Driven indirectly by StartCommand / StopCommand, by AutoStart at load time, and by internal restart logic on configuration changes. Scripts should read this to decide whether the SDI/HDMI signal is live; the value also drives the running indicator and the enabled state of the Start/Stop buttons. |
StartCommand |
Command |
get |
Begin sending video and audio to the selected Decklink output. Invokable command. Opens the chosen DecklinkOutputChannel at the configured DisplayMode and AudioChannels, locks those settings, and starts streaming the scene to the card. Disabled until a valid output channel is selected. No-op if the target is already starting or running. |
StopCommand |
Command |
get |
Stop sending video and audio to the Decklink output. Invokable command. Tears down the active output, releases the Decklink channel back to the system, and unlocks DecklinkOutputChannel, DisplayMode, and AudioChannels so they can be reconfigured. No-op if the target is already stopped. |
ComponentLog |
ComponentLog |
get |
Per-component log buffer — recent info/warning/error messages emitted by the target (start, stop, configuration changes, playback errors). |
VideoWidth |
int |
get |
Width of the video signal currently sent to the Decklink output, in pixels (read-only). Reflects the resolution implied by the negotiated DisplayMode (e.g. 1920 for 1080p, 3840 for 2160p). 0 while playback is stopped. Useful from scripts to confirm the card opened at the expected resolution before driving downstream behaviour. |
VideoHeight |
int |
get |
Height of the video signal currently sent to the Decklink output, in pixels (read-only). Reflects the vertical resolution implied by the negotiated DisplayMode (e.g. 1080 for 1080p, 2160 for 2160p). 0 while playback is stopped. |
CopyPerformanceTime |
string |
get |
Time spent copying each frame to the Decklink card, formatted as a millisecond string (read-only, debug). Diagnostic timing of the per-frame copy step. Should stay well below the frame interval (e.g. <20 ms at 50 fps) for the target to keep up. Persistent spikes indicate the system bus or driver is under pressure. |
KernelPerformanceTime |
string |
get |
Time spent converting each frame to the Decklink output format, formatted as a millisecond string (read-only, debug). Diagnostic timing of the per-frame colour-space / pixel-format conversion step that prepares each frame for the card. Sits alongside CopyPerformanceTime to characterise the total per-frame work performed by the target. |
FramesDisplayed |
int |
get |
Total number of frames the target has sent to the Decklink output (read-only, debug). Increments each time a frame is successfully scheduled on the card. Combined with the expected frame rate, this is the easiest way to detect whether playback is actually running — a counter that stops moving while PlaybackState is Running is a clear sign of a stall. |
AudioVideoQueueSize |
int |
get |
Number of frames currently waiting to be sent to the Decklink card (read-only, debug). Depth of the internal video/audio queue feeding the output worker. Should sit close to zero on a healthy system — a growing queue means the card is consuming frames more slowly than the scene is producing them, which will eventually cause dropped frames or visible stalls. |
WorkerTimeDelta |
string |
get |
Time between successive output worker iterations, formatted as a millisecond string (read-only, debug). Reports how regularly the output worker is producing frames. Should hover near the expected frame interval (e.g. ~20 ms at 50 fps, ~16.7 ms at 60 fps). Spikes or drift indicate the scene is producing frames irregularly or the worker is being starved. |
SynchronousPlayoutTime |
string |
get |
Time spent in the synchronous Decklink playout call per frame, formatted as a millisecond string (read-only, debug). Measures the wall-clock time the target waits for the Decklink driver to accept each frame. A persistently high value indicates the card is back-pressuring the pipeline (slow consumer) and is the most direct signal that the chosen DisplayMode is too demanding for the installed hardware. |
Inherits from: AbstractTarget.
See also: Blackmagic Decklink Target v4 in Targets — user-facing introduction, screenshots, and section summaries.