Setup

Set up your receiver.

Run the srtla-receiver on your own server, bond your mobile connections and bring one stable signal into OBS.

Before you start

What you need.

A server

Ubuntu or Debian with a public IP. The installer sets up Docker if it is missing.

Open ports

5000, 4000 and 4001 over UDP for the video, 8080 and 3000 over TCP for stats and the web interface.

An SRTLA encoder

A phone app or hardware encoder that can send SRTLA over several connections at once.

Install the receiver

Log in to your server and download the management script:

curl -Lso receiver.sh "https://raw.githubusercontent.com/OpenIRL/srtla-receiver/refs/heads/main/receiver.sh" && chmod 700 receiver.sh

Run the installer:

./receiver.sh install

The installer checks for Docker and installs it if needed. Then it asks for your server’s address and the ports. Press Enter to keep the defaults. It creates a data folder and an .apikey file next to the script.

If the installer added you to the Docker group, run newgrp docker or log in again before you go on.

When it is done, it prints the address of the web interface and your API key. The receiver uses these ports:

PortProtocolUsed for
5000UDPSRTLA in: your bonded stream
4001UDPSRT in: a single connection
4000UDPSRT out: where OBS picks up the stream
8080TCPStats, for example for NOALBS
3000TCPWeb interface

You can change every port during installation. The web interface runs over plain HTTP: if your firewall allows it, open port 3000 only for your own IP.

Create your first stream

  1. Open the web interface at http://<your-ip>:3000
  2. Click Configure Settings, enter the API key and click Save. Lost the key? Run cat .apikey in the folder where you installed the receiver.
  3. Click Add Stream. A description is optional.
  4. Open the stream with the arrow icon. In the Player section, the link icon shows all URLs for this stream.

Every stream has two keys. The publish key sends the stream, the play key receives it and reads its stats. Keep the publish key to yourself: anyone who has it can send to your stream.

Send from your encoder

Bonded over several connections (SRTLA):

srtla://<your-ip>:5000?streamid=<publish-key>

Over a single connection (SRT):

srt://<your-ip>:4001?streamid=<publish-key>

Bring the stream into OBS

Add a Media Source, turn off Local File and enter the play URL as input:

srt://<your-ip>:4000?streamid=<play-key>

From OBS you go live on Twitch, YouTube or any other platform as usual.

Switch scenes automatically with NOALBS

The receiver reports bitrate and connection quality for every stream:

http://<your-ip>:8080/stats/<play-key>

In NOALBS 2.14.0 or newer, add a stream server of type "OpenIRL" with this address as statsUrl. NOALBS then switches scenes automatically based on these stats.

Older versions use type "SrtLiveServer" with ?legacy=1 at the end of the stats URL and "publisher": "live".

Manage the receiver

Run the script from the folder you installed it in:

Want to try the beta? Add --use-next, for example ./receiver.sh --use-next install.

Troubleshooting

No stream arrives

Check that the ports are open, both in your firewall and at your hosting provider. The video ports use UDP.

Wrong key

Check the stream ID. Send with the publish key, receive with the play key. They are not interchangeable.

The API key is gone

Run cat .apikey in the folder where you installed the receiver.

Need help.

Open an issue on GitHub and describe what you tried. Bug report, feature request or pull request: every contribution counts.