The SRT Input 16 Channel Audio component receives video and audio streams over the Secure Reliable Transport (SRT) protocol with support for up to 16 audio channels. The component exposes up to 8 audio channels (4 stereo pairs) at a time, and allows switching between two 8-channel audio banks within a 16-channel stream.
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
.png)
SRT Input 16 Channel Audio is an extended version of the standard SRT Input component, designed for workflows where the incoming SRT stream may contain more than 8 audio channels.
If your stream contains 8 audio channels or fewer, the standard SRT Input component is sufficient and may be simpler to configure.
👉 See: SRT Input documentation
Overview
The SRT Input 16 Channel Audio 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 16 Channel Audio is added to the project, Composer automatically creates additional CH AUD (Channel Audio) inputs for handling multi-channel audio.
.png)
At any given time, four stereo pairs (8 audio channels) are exposed:
| Input | Stereo Pair | Audio Channels |
|---|---|---|
| SRT Input 16 Channel Audio (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.
Audio Channel Banks (1–8 vs 9–16)
Although the component supports SRT streams with up to 16 audio channels, it can only receive one 8-channel audio bank at a time.
The active audio channel range is controlled by the Use secondary audio (channels 5–8) setting:
| Setting | Active Source Channels |
|---|---|
| Disabled (default) | Channels 1–8 |
| Enabled | Channels 9–16 |
It is not possible to receive channels 1–16 simultaneously.
Enabling Use secondary audio (channels 5–8) switches the input from channels 1–8 to channels 9–16.
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) |
| Listener 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 listener when loaded | When enabled, the SRT Input automatically begins connecting or listening when the project is loaded. | Enabled |
| Restart listener 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. Options: Short, 100 ms, Medium, 200 ms, Long, 400 ms, Very long, 600 ms. | Medium, 200 ms |
| Use hardware decoding (NVDEC) | Enables GPU-accelerated video decoding using NVIDIA's NVDEC technology. | Enabled |
| Hardware decoding active | Indicates whether hardware decoding (NVDEC) is currently being used. Read-only. | — |
| Use secondary audio (channels 5–8) (Advanced) | Switches the active audio bank from source channels 1–8 to source channels 9–16. | Disabled |
| Freeze frame on lost connection: | Controls output behavior when connection is lost. | Never |
Server Address Format
srt://[host]:[port]?[parameters]
Required parameters:
mode=callerormode=listener- Specifies the connection mode
Common optional parameters:
streamid=[name]- Stream identifier for routing on SRT serverslatency=[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
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 Listener 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 Listener 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) |
Listener 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 Listener 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 16 Channel 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.
.png)
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 |
It is not possible to receive channels 1–16 simultaneously.
Enabling Use secondary audio (channels 5–8) switches the input from channels 1–8 to channels 9–16.
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
Counter of video frames that have been rendered since the connection was established.
Incoming video bitrate
Displays the current bitrate of the incoming video stream.
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 has been flushed due to becoming 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.
Timestamp since start
Internal playback timestamp used for synchronization.
Example: Receiving SRT from OBS Studio
- In OBS Studio, go to Settings > Stream
- Set Service to Custom
- Set Server to:
srt://[composer_ip]:9000?mode=caller&latency=200000 - In Vindral Composer, configure the SRT Input:
- Set Server Address to:
srt://0.0.0.0:9000?mode=listener&latency=200000 - Click Connect
- Set Server Address to:
- 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 (up to 16 channels)
- Each stereo pair from the source becomes two channels in the combined output
Troubleshooting
Connection fails immediately
- Verify the Listener Address format includes
srt://, a valid host/port, andmode=callerormode=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 (ms) 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