NDI Target
NDI Target properties for Script Engine. Sends the composed video and audio out as an NDI source on the local network. Useful for feeding into NDI-aware production switchers (vMix, OBS, TriCaster), routing program/preview to graphics or replay machines on the studio LAN, monitoring on remote workstations, sending alpha-channel keys to downstream compositors, and IP-based contribution between Composer instances. NDI is the standard low-latency LAN transport — pick this over SRT/RTMP whenever the receiver is on the same network.
| Property | Type | Access | Description |
|---|---|---|---|
ShowAdvancedOptions |
bool |
get/set |
Reveals advanced/expert properties in the panel. Off by default — flip to On to see fields like async send and detailed performance counters. |
AutoStart |
bool |
get/set |
When On, the NDI target connects automatically when the project loads. Useful for unattended studio machines or automation rigs. |
ChannelName |
string |
get/set |
Channel name advertised on the network. Receivers see the source as Composer-[ChannelName] (or with the machine name prefixed by their NDI client). A random name is generated for each new target so multiple instances don't clash. Pick something descriptive (e.g. studio-a-pgm) so operators can identify the feed at a glance. Can only be changed before the target has been started. |
NdiChannelAlias |
string |
get |
The full NDI source identifier as it appears on the network — read-only, derived from the channel name. Use this when configuring an NDI receiver that needs the exact source string. |
UseAsyncVideoSend |
bool |
get/set |
Sends video frames asynchronously when On (default). The NDI SDK handles color conversion and network transmission in the background, returning immediately so the pipeline keeps moving. Especially helpful for BGRA (alpha) output. Switch to Off only for debugging or when a downstream tool requires strict synchronous timing. Can only be changed while the target is disconnected. |
ConnectionStatus |
ConnectionStatus |
get |
Current connection status (Disconnected, Connecting, Connected). Read-only; useful in scripts to gate logic on whether the NDI source is live. |
StartCommand |
Command |
get |
Begins advertising the source on the network so receivers can pick it up. |
StopCommand |
Command |
get |
Stops the NDI sender and removes the source from the network. |
TallyProgram |
bool |
get |
On when a downstream NDI receiver currently has this source on Program (on-air). Read-only — the value is set by the receiver, not by Composer. Useful in scripts to drive on-air indicator lights, switch input states, or guard against destructive edits while live. |
TallyPreview |
bool |
get |
On when a downstream NDI receiver currently has this source cued on Preview. Read-only — set by the receiver. Useful for soft preview indicators in operator UIs. |
StartedDateTime |
DateTime |
get |
Timestamp of when the target last started broadcasting (read-only). Useful in scripts for computing uptime or stamping logs. |
Width |
int |
get |
Output frame width in pixels (read-only). Matches the scene resolution. |
Height |
int |
get |
Output frame height in pixels (read-only). Matches the scene resolution. |
PixelFormat |
string |
get |
Pixel format used on the wire (read-only, debug). Typically BGRA so alpha is preserved for downstream keyers. |
NumConnectedViewers |
int |
get |
Number of NDI receivers currently subscribed to this source (read-only). Use in scripts to confirm at least one downstream tool is actually consuming the feed. |
SentVideoFrames |
int |
get |
Total number of video frames sent since the target was started (read-only, debug). Combined with uptime this gives an effective FPS. |
NdiSendTime |
string |
get |
Time spent on the most recent frame send call, in milliseconds (read-only, debug). Spikes here usually mean a slow receiver or saturated network. |
Inherits from: AbstractTarget.
See also: NDI Target in Targets — user-facing introduction, screenshots, and section summaries.