Set up your receiver.
Run the srtla-receiver on your own server, bond your mobile connections and bring one stable signal into OBS.
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:
| Port | Protocol | Used for |
|---|---|---|
5000 | UDP | SRTLA in: your bonded stream |
4001 | UDP | SRT in: a single connection |
4000 | UDP | SRT out: where OBS picks up the stream |
8080 | TCP | Stats, for example for NOALBS |
3000 | TCP | Web 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
- Open the web interface at
http://<your-ip>:3000 - Click Configure Settings, enter the API key and click Save. Lost the key? Run
cat .apikeyin the folder where you installed the receiver. - Click Add Stream. A description is optional.
- 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:
./receiver.sh status: is the receiver running?./receiver.sh startand./receiver.sh stop./receiver.sh update: get the latest receiver version./receiver.sh updateself: update the script itself./receiver.sh remove: remove the receiver container./receiver.sh reset: start from scratch. This deletes all streams and keys.
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.