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.