SRT Target
SRT Target properties for Script Engine. Streams the composed video and audio over SRT (Secure Reliable Transport) to any SRT-capable receiver (decoder appliance, contribution gateway, IRD, cloud ingest). SRT is the broadcast-industry standard for delivering live video over unmanaged IP networks (the public internet, 4G/5G bonded modems) — packet loss recovery and timestamping make it tolerant of glitchy links where RTMP would simply drop. Useful for studio-to-cloud contribution feeds, remote venue uplinks, point-to-point links between facilities, and any time you need a low-latency, resilient transport over the open internet. Supports up to four parallel audio program tracks for multi-language broadcasts.
| Property | Type | Access | Description |
|---|---|---|---|
AutoStart |
bool |
get/set |
When On, the SRT target connects automatically when the project loads. |
ShowAdvancedOptions |
bool |
get/set |
Reveals advanced/expert properties in the panel (encoder tuning, reconnect tuning, debug counters). Off by default. |
SrtBaseAddress |
string |
get/set |
Base SRT URL in srt://host:port form. The host can be an IP, a DNS name, or a macro: @@LocalIP() resolves to this machine's local IP, @@HostName() to the machine name. For listener mode (receiver dials in to us) typically point to 0.0.0.0. Treat as sensitive when targeting private cloud ingest. |
SrtOptions |
string |
get/set |
SRT URL query parameters appended after ?. Common keys: mode=caller\|listener, latency=200000 (microseconds — typical 120–500 ms), pkt_size=1316, passphrase=..., streamid=.... Tune latency higher for noisy links, lower for low-glass-to-glass delivery. |
SrtStreamKey |
string |
get/set |
Optional SRT stream id (also called streamid). Many cloud ingests (Haivision Hub, Wowza, Cloudflare, AWS Elemental) require this for routing — receivers identify the publisher by this string. Treat as sensitive. |
SrtConnectionString |
string |
get |
The full SRT URL Composer will dial, assembled from SrtBaseAddress, SrtOptions, and SrtStreamKey (read-only). Useful for verifying the resolved URL before connecting. |
OutputVideoBitrate |
OutputVideoBitrate |
get/set |
Target video bitrate. Match this to the available uplink bandwidth and the receiver's configured input. Typical values: 3 Mbit/s for 1080p contribution, 1.5 Mbit/s for 720p, 6+ Mbit/s for high-quality contribution feeds. |
H264BFrameDistance |
H264BframeDistance |
get/set |
Number of B-frames between reference frames in each GOP. Higher values improve compression efficiency at the cost of latency and decoder compatibility — set to Zero for low-latency contribution and live broadcast. |
VideoCompressionGopSize |
VideoCompressionGopSize |
get/set |
GOP (Group of Pictures) length in frames — controls keyframe spacing. Typical values: 1x or 2x framerate (e.g. 30 or 60 frames at 30 fps). Shorter GOPs recover faster from packet loss but cost compression efficiency. |
H264Profile |
H264Profile |
get/set |
H.264 profile (baseline, main, high). baseline is most universally compatible; main/high deliver better compression at the cost of decoder support on legacy devices. |
UseAdvanceCbrConfiguration |
bool |
get/set |
When On, sends with constant bitrate (CBR) — preferred for SRT contribution because most receivers and decoder appliances expect a steady rate. When Off, the encoder uses VBR which can starve under-provisioned links. |
MaxVideoRateMultiplier |
float |
get/set |
Multiplier on the configured bitrate that limits how high the encoder is allowed to swing. Default 1.0 — increase only if your network can absorb peaks. |
MinVideoRateMultiplier |
float |
get/set |
Multiplier on the configured bitrate that sets the floor (minimum). Default 1.0 — keep at 1.0 for true CBR; lower for more freedom on simple scenes. |
BufferSizeMultiplier |
float |
get/set |
Multiplier on the encoder's rate-control buffer size. Default 1.0 — larger buffers smooth out bitrate at the cost of latency. |
H264EncodingQualitySpeed |
H264EncodingQualitySpeed |
get/set |
x264 speed/quality preset. veryfast/superfast are the right pick for live encoding — slower presets give better quality but won't keep up in real time. |
H264Tune |
H264Tune |
get/set |
x264 tuning preset. Use zerolatency for live contribution to remove any look-ahead delay from the encoder. |
H264EncodingThreads |
H264EncodingThreads |
get/set |
Number of CPU threads used by the software H.264 encoder. More threads = lower per-frame latency but higher CPU. Ignored when NVENC is enabled. |
UseNvenc |
bool |
get/set |
When On, encode using the NVIDIA hardware encoder (NVENC) — much lower CPU load and recommended for any machine with a recent NVIDIA card. When Off, fall back to the software (x264) encoder. |
NvencAdvancedOptions |
string |
get/set |
NVENC encoder parameters as a JSON object. Tweak only when you know what you're doing — defaults are tuned for low-latency live contribution. Keys map directly to NVENC options (preset, rc, gpu, delay, etc.). |
SrtAudioChannelOneEncoder |
SrtAudioEncoder |
get/set |
AAC encoder mode for audio program 1 (mono, stereo, or unused). Set to Unused to skip this audio program. Program 1 is normally the main mix. |
SrtAudioChannelOneMapping |
AudioChannelMapping |
get/set |
Selects which scene audio channel pair is encoded into program 1 (e.g. OneTwo, ThreeFour). Use this to route specific scene channels to specific SRT programs — typically 1+2 for the main mix. |
SrtAudioChannelOneBitRate |
AacBitRate |
get/set |
AAC bitrate for audio program 1. Typical values: 128 kbit/s for stereo broadcast, 64 kbit/s for mono commentary. |
SrtAudioChannelOneLanguage |
string |
get/set |
ISO 639 language tag (e.g. eng, spa, fra) embedded in program 1's metadata. Player UIs use this to label the audio track in language pickers. |
SrtAudioChannelTwoEncoder |
SrtAudioEncoder |
get/set |
AAC encoder mode for audio program 2. Set to Unused if you only need a single audio program. Otherwise pick mono/stereo to suit the source mix. |
SrtAudioChannelTwoMapping |
AudioChannelMapping |
get/set |
Scene audio channel pair routed to program 2. Often used for an alternate-language commentary feed (e.g. channels 3+4). |
SrtAudioChannelTwoBitRate |
AacBitRate |
get/set |
AAC bitrate for audio program 2. |
SrtAudioChannelTwoLanguage |
string |
get/set |
ISO 639 language tag for program 2 (e.g. spa for Spanish). |
SrtAudioChannelThreeEncoder |
SrtAudioEncoder |
get/set |
AAC encoder mode for audio program 3. Set to Unused if not needed. |
SrtAudioChannelThreeMapping |
AudioChannelMapping |
get/set |
Scene audio channel pair routed to program 3 (e.g. channels 5+6). |
SrtAudioChannelThreeBitRate |
AacBitRate |
get/set |
AAC bitrate for audio program 3. |
SrtAudioChannelThreeLanguage |
string |
get/set |
ISO 639 language tag for program 3. |
SrtAudioChannelFourEncoder |
SrtAudioEncoder |
get/set |
AAC encoder mode for audio program 4. Set to Unused if not needed. |
SrtAudioChannelFourMapping |
AudioChannelMapping |
get/set |
Scene audio channel pair routed to program 4 (e.g. channels 7+8). |
SrtAudioChannelFourBitRate |
AacBitRate |
get/set |
AAC bitrate for audio program 4. |
SrtAudioChannelFourLanguage |
string |
get/set |
ISO 639 language tag for program 4. |
WarnOnLowAverageBitrate |
bool |
get/set |
When On, raise a warning if the outgoing bitrate falls below 10% of the configured target — usually a sign the encoder is starving or the network is congested. |
ReconnectInterval |
ReconnectInterval |
get/set |
How long to wait between reconnect attempts after a dropped SRT connection. Five seconds is a sensible default. |
MaxOutputQueueSize |
int |
get/set |
Maximum number of encoded packets queued for the network before back-pressure triggers. [min=150, max=500, default=150]. Larger queues hide brief network slowdowns at the cost of added latency. |
OutputBufferAllowFrameSkipping |
bool |
get/set |
When On, allow Composer to drop frames if the output queue fills up — preserves stream continuity on a slow link at the cost of brief visual stutter. |
UseAlternateConnectionMode |
bool |
get/set |
Use the alternate (newer) SRT connection path. Default On — only switch off if instructed by support to fall back to legacy behaviour. |
LogBitrateToDisk |
bool |
get/set |
When On, write per-second bitrate samples to a CSV on disk for post-mortem analysis (read-only, debug). Use only when troubleshooting. |
ConnectionStatus |
ConnectionStatus |
get |
Current SRT connection status (Disconnected, Connecting, Connected, Reconnecting). Read-only. Useful in scripts to gate downstream actions on a live link. |
StartCommand |
Command |
get |
Connects to the SRT receiver (or starts listening for a caller in listener mode) and begins streaming. |
StopCommand |
Command |
get |
Stops the encoder and tears down the SRT connection. |
ComponentLog |
ComponentLog |
get |
In-panel mini-log of recent connection events, warnings, and errors. Quick way to see what the SRT writer last reported without opening the full log file. |
UpTimeSinceStart |
string |
get |
How long this target has been streaming, formatted as HH:MM:SS (read-only). |
OutgoingBitRate |
string |
get |
Current outgoing bitrate as a human-readable string (e.g. "3.0 Mbit/s"). Read-only. Use to verify the stream is actually pushing data over the wire. |
MinilogTime |
DateTime |
get |
Timestamp of the most recent log entry (read-only). |
AudioChannelUsed |
string |
get |
Summary of how many audio programs the encoder has bound (read-only). Useful in scripts to confirm the multi-language setup is active. |
NumInitialReconnects |
long |
get |
Number of reconnect attempts before the very first successful connect (read-only, debug). High counts indicate the receiver was slow to come up. |
NumAutoReconnectsperformed |
int |
get |
Number of automatic reconnects since the target started (read-only). A growing number means the link is unstable — check network or receiver logs. |
CurrentSrtEndPoint |
string |
get |
The fully resolved SRT URL Composer is currently dialling, with all macros (@@LocalIP(), @@HostName()) expanded (read-only). |
ErrorCount |
int |
get |
Cumulative count of errors logged since the target started (read-only). Pair with LastErrorDateTime in scripts to flag fresh errors. |
LastErrorDateTime |
DateTime |
get |
Timestamp of the most recent error (read-only). |
WarningCount |
int |
get |
Cumulative count of warnings since the target started (read-only). |
LastWarningDateTime |
DateTime |
get |
Timestamp of the most recent warning (read-only). |
Inherits from: AbstractTarget.
See also: SRT Target in Targets — user-facing introduction, screenshots, and section summaries.