SRT Input (8 Channels Audio)

Prev Next

The SRT Input component receives video and audio streams over the Secure Reliable Transport (SRT) protocol. It supports both listener mode (waiting for incoming connections) and caller mode (actively connecting to a remote SRT source).

The component is based on libraries from the FFmpeg application family and supports both CPU-based decoding and GPU-based decoding (NVDEC). For optimal performance, NVDEC hardware decoding is enabled by default.

Using the NVDEC decoder (GPU) requires an NVDEC-compatible GPU. Most NVIDIA GPUs support NVDEC, but capabilities differ. Refer to NVIDIA's support matrix for details:
https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new

Image

Related Component: SRT Input 16 Channel

The standard SRT Input supports up to 8 audio channels (4 stereo pairs).
If your incoming SRT stream contains more than 8 audio channels, use SRT Input 16 Channel, which supports up to 16 channels (8 stereo pairs) and additional audio routing options.

👉 See: SRT Input 16 Channel documentation

Overview

The SRT Input component provides automatic reconnection handling and comprehensive buffering controls for optimal stream stability. SRT is designed for low-latency, high-quality video transmission over unpredictable networks, making it ideal for live production workflows.

Multi-Channel Audio Support

When an SRT Input is added to the project, Composer automatically creates three additional CH AUD (Channel Audio) inputs for handling multi-channel audio:

Image

Input Stereo Pair Audio Channels
SRT Input (main) 1 Channels 1-2
CH AUD - CH 2 2 Channels 3-4
CH AUD - CH 3 3 Channels 5-6
CH AUD - CH 4 4 Channels 7-8

These extracted audio channels allow you to independently control and route each stereo pair in the audio mixer. The CH AUD inputs are bound to their parent SRT Input and cannot be deleted independently.


Configuration

Property Description Default
Show Advanced Options Toggles the visibility of advanced configuration options. No
Load Template A dropdown that provides quick-start configurations: (empty) - no changes applied, Localhost:9000, caller - configures caller mode on @@LocalIP() port 9000, Localhost:9000, listener - configures listener mode on @@LocalIP() port 9000. (empty)
Server Address The SRT connection URL that defines how the component connects to or listens for streams. Must include mode=caller or mode=listener. See examples below. srt://0.0.0.0:[port]?mode=listener&latency=200000
Start When Loaded When enabled, the SRT Input automatically begins connecting or listening when the project is loaded. Enabled
Restart on Timeouts and Errors When enabled, the component automatically attempts to reconnect if the stream disconnects, times out, or encounters an error. Enabled
Warn of Buffer Under Run When enabled, the component logs a warning message whenever the video or audio buffer becomes empty during playback. Disabled
Buffer Length (ms) (Advanced) Controls the size of the media buffer:
• Short, 100 ms - ultra-low latency
• Medium, 200 ms - balanced
• Long, 400 ms - higher stability
• Very long, 600 ms - maximum stability
Medium, 200 ms
Use Hardware Decoding (NVDEC) Enables GPU-accelerated video decoding using NVIDIA's NVDEC technology. Requires compatible NVIDIA GPU with updated drivers. Enabled
Hardware Decoding Active Indicates whether hardware decoding (NVDEC) is currently being used for the active stream. Read-only. —
Freeze Frame on Lost Connection (Advanced) Controls output behavior when connection is lost:
• Never (immediate black output) - outputs black immediately
• Freeze last frame for 1 second
• Freeze last frame for 3 seconds
• Freeze last frame for 5 seconds
• Freeze last frame forever - holds indefinitely until reconnected or manually disconnected
Never (immediate black output)

Server Address Format

srt://[host]:[port]?[parameters]

Required parameters:

  • mode=caller or mode=listener - Specifies the connection mode

Common optional parameters:

  • streamid=[name] - Stream identifier for routing on SRT servers
  • latency=[microseconds] - SRT latency setting (default: 200000 = 200ms)
  • passphrase=[password] - Enables AES encryption for secure connections (10-79 characters)

Examples:

Caller mode (connecting to a remote server):

srt://srt.example.com:9000?streamid=mystream&mode=caller&latency=200000

Listener mode (waiting for incoming connections):

srt://0.0.0.0:9000?mode=listener&latency=200000

Secure connection with passphrase:

srt://srt.example.com:9000?mode=caller&latency=200000&passphrase=MySecretPassword123
Secure Connections

When using a passphrase, both the sender and receiver must use the same passphrase to establish a connection. The passphrase enables AES encryption, protecting your stream from unauthorized access. The passphrase must be between 10 and 79 characters.

Dynamic Placeholders

The Server Address supports dynamic placeholders that are resolved at connection time:

Placeholder Description
@@LocalIP() Replaced with the local machine's IP address
@@HostName() Replaced with the local machine's hostname

Example using a placeholder:

srt://@@LocalIP():9000?mode=listener&latency=200000

Commands

Command Description
Connect Initiates the SRT connection based on the configured Server Address. In caller mode, this connects to the remote server. In listener mode, this begins listening for incoming connections.
Disconnect Terminates the active SRT connection and stops receiving data.

Connection State

SRT Input State

Displays the current operational state of the component:

State Description
Not started The connection has not been initiated
Calling... Caller mode is active and attempting to connect to the remote server
Listening... Listener mode is active and waiting for an incoming connection
Receiving data Successfully connected and receiving stream data
Disconnected The connection has been disconnected
Stopping... The connection is being terminated
Error An error has occurred (check the Log for details)

Connection Status (Advanced)

Shows the internal connection state machine status. This provides more detailed state information than SRT Input State.

Status Description
Idle Connection not started
Start requested Connection start has been requested
Starting Connection is starting
Started Connection has started successfully
Error An error occurred while starting
TimeOut Timed out while waiting for client
Stopping Connection is stopping

Log

A log panel displaying status messages, warnings, and errors from the component. Messages include connection status updates, stream information, and any issues encountered during operation.


Performance and Properties

Property Description Default
Width The width of the incoming video stream in pixels. Read-only. —
Height The height of the incoming video stream in pixels. Read-only. —
# Automatic Reconnects A counter showing how many times the component has automatically reconnected since the last manual connect. This is useful for monitoring connection stability over time. 0
Buffering State (Advanced) Indicates the current buffering status: None - not connected or not buffering, Buffering - accumulating data in the buffer before playback begins, Buffered - buffer is filled and playback is active. None
# Buffer Under-runs Counter of buffer under-run events since the connection was established. Frequent under-runs may indicate network issues or insufficient buffer size. 0
# Video Decode Errors (Advanced) The number of video decoding errors that have occurred. Read-only. 0

Playback Statistics

Property Description Default
Stream Time Displays the current playback position within the stream as a timecode. 0:00:00:00f

Stream Statistics (Advanced)

Property Description Default
Video Stream Info Displays technical details about the incoming video stream, including codec, resolution, and frame rate information. —
Audio Stream Info Displays technical details about the incoming audio stream, including codec, sample rate, and channel configuration. —
Caller Mode Active Indicates whether the component is operating in caller mode (true) or listener mode (false), based on the current Server Address configuration. —

Icon (Advanced)

Property Description Default
Icon Text Text displayed on the input's icon in the inputs list. SRT

Audio Mixer (Advanced)

Property Description Default
Hide in Audio Mixer Hides and removes the input from the Audio Mixer view in the Composer GUI without disabling its audio. Disabled

Render Options (Advanced)

Invisible (Do not render in scene)

When enabled, the input will not be rendered in any layer, in any scene.

Default: Disabled

Do Not Render Input

Select how the "Do not render input" setting should be controlled.

Option Description
Let Composer decide Composer automatically decides whether the input should be rendered, based on the active Scene and if Render Tuning is enabled
Manual Configuration Allows you to manually control rendering behavior using the toggle below

Default: Let Composer decide

When set to Manual Configuration, a toggle appears allowing you to switch between Render and Do not render. Disabling rendering can reduce system load in some use cases.

Default: Render


Optional TAGS

TAGS

Assign custom tags to the input for classification and organization. Use the Smart Search feature to search for tagged content.

Default: (empty)


Extracted Audio Channels (CH AUD)

When an SRT Input is added, Composer automatically creates separate CH AUD (Channel Audio) inputs for each stereo pair. These extracted audio channels allow you to independently control and route each stereo pair in the audio mixer.

Image

Note:

These audio inputs are auto-generated and bound to their parent SRT Input. They cannot be deleted independently - they are removed automatically when the parent SRT Input is deleted.

Show Advanced Options

Toggles the visibility of advanced configuration options.

Default: No

Parent SRT Input

Information

Displays: "Autogenerated audio input connected to a specific SRT Input."

Input Name

The name of the parent SRT Input that this audio channel is extracted from. Read-only.

Extracted Stereo Pair (1-4)

Indicates which stereo pair this channel extracts from the source audio stream:

Value Channels
2 Channels 3-4
3 Channels 5-6
4 Channels 7-8

Optional TAGS

TAGS

Assign custom tags to the extracted audio input for classification and organization.

Default: (empty)


Debug Properties

Debug Properties

Note: These properties are only visible when debug options are enabled in the application settings.

# Packets Received

Total number of SRT packets received since the connection was established.

# Rendered Frames Counter

Total number of frames rendered since the connection was established.

Incoming Video Bitrate

Displays the incoming video stream bitrate.

Audio Video Sync (ms)

The current synchronization offset between video and audio streams in milliseconds. Values close to zero indicate good synchronization.

Video Buffer Size (frames)

Number of decoded video frames currently held in the buffer.

Video Buffer Size (ms)

Duration of video content currently held in the buffer, in milliseconds.

Audio Buffer Size (ms)

Duration of audio content currently held in the buffer, in milliseconds.

# Buffer Too Full Flushes Performed

Number of times the buffer was flushed due to being too full.

# pts Sync Flushes Performed

Number of times the component has performed PTS (Presentation Timestamp) synchronization flushes.

# Pts Sync Retries

Number of PTS synchronization retry attempts.

Streams Buffer Sizes (ms)

Detailed breakdown of buffer sizes for each individual stream (useful for multi-audio-track streams).

# Flushes Performed

Total number of buffer flush operations performed.

Emulate 200ms Congestion

Debug option to simulate network congestion with a 200ms delay. Useful for testing buffer behavior under network stress.

Timestamp Since Start

Internal playback timestamp used for synchronization.


Example: Receiving SRT from OBS Studio

  1. In OBS Studio, go to Settings > Stream
  2. Set Service to Custom
  3. Set Server to: srt://[composer_ip]:9000?mode=caller&latency=200000
  4. In Vindral Composer, configure the SRT Input:
    • Set Server Address to: srt://0.0.0.0:9000?mode=listener&latency=200000
    • Click Connect
  5. Start streaming in OBS Studio

For a secure connection, add the same passphrase to both:

  • OBS Server: srt://[composer_ip]:9000?mode=caller&latency=200000&passphrase=YourSecretPass
  • Composer Server Address: srt://0.0.0.0:9000?mode=listener&latency=200000&passphrase=YourSecretPass

Example: Receiving SRT from FFmpeg

To send a test stream to the SRT Input using FFmpeg:

ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f mpegts "srt://[composer_ip]:9000?mode=caller&latency=200000"

For a secure connection with passphrase:

ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f mpegts "srt://[composer_ip]:9000?mode=caller&latency=200000&passphrase=YourSecretPass"

Replace [composer_ip] with the IP address of the machine running Vindral Composer.

In Vindral Composer, configure the SRT Input:

  • Set Server Address to: srt://0.0.0.0:9000?mode=listener&latency=200000
  • For secure connections, add the same passphrase: srt://0.0.0.0:9000?mode=listener&latency=200000&passphrase=YourSecretPass
  • Click Connect

Stream Requirements

Video

  • The incoming stream frame rate must match the Vindral Composer project frame rate
  • Supported color spaces are converted automatically; unsupported formats will generate an error

Audio

  • Only AAC audio codec is supported
  • Multiple audio tracks are supported and will be combined into a multi-channel output
  • Each stereo pair from the source becomes two channels in the combined output

Troubleshooting

Connection fails immediately

  • Verify the Server Address format includes srt://, a valid host/port, and mode=caller or mode=listener
  • Ensure the port is not blocked by firewalls
  • For caller mode, verify the remote server is running and accessible

Connection fails with passphrase

  • Ensure both sender and receiver use the exact same passphrase (case-sensitive)
  • Verify the passphrase is between 10 and 79 characters
  • Check that both sides have the passphrase parameter configured

Stream connects but no video appears

  • Check that the source stream frame rate matches your project frame rate
  • Verify the video codec is supported
  • Check the Log for color space errors

Audio issues or no audio

  • Confirm the source is encoding audio as AAC
  • Check the Audio Stream Info for detected audio tracks
  • Verify audio is not muted in the channel mixer

Frequent buffer under-runs

  • Increase the Buffer Length setting to a higher value
  • Check network connectivity and bandwidth
  • Consider using a wired network connection instead of WiFi

High CPU usage

  • Enable Use Hardware Decoding (NVDEC) if you have an NVIDIA GPU
  • Verify Hardware Decoding Active shows the decoder is in use when connected
  • Update your NVIDIA drivers if hardware decoding is not activating