---
title: "SRT Input (8 Channels Audio)"
slug: "srt-input"
updated: 2026-02-26T08:55:17Z
published: 2026-02-26T08:55:17Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://composer.docs.vindral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SRT Input (8 Channels Audio)

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](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new)

![Image](https://cdn.document360.io/94808959-fd66-406c-ab5e-4691ce952a14/Images/Documentation/image(364).png)

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](/v1/docs/srt-input-16-channels)

## 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](https://cdn.document360.io/94808959-fd66-406c-ab5e-4691ce952a14/Images/Documentation/image(369).png)

| 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&amp;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](https://cdn.document360.io/94808959-fd66-406c-ab5e-4691ce952a14/Images/Documentation/image(367).png)

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&amp;latency=200000`
4. In Vindral Composer, configure the SRT Input:
  - Set **Server Address** to: `srt://0.0.0.0:9000?mode=listener&amp;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&amp;latency=200000&amp;passphrase=YourSecretPass`
- Composer Server Address: `srt://0.0.0.0:9000?mode=listener&amp;latency=200000&amp;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&amp;latency=200000`
- For secure connections, add the same passphrase: `srt://0.0.0.0:9000?mode=listener&amp;latency=200000&amp;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
