
Ziel dieser Anleitung
Ein Smartphone, IRL Pro, BELABOX oder ein kompatibler Encoder sendet per SRTLA zum Ubuntu-Server. Der Docker-Container führt die Datenströme zusammen. OBS holt das Signal anschließend per SRT ab.
Smartphone / Encoder → SRTLA :8383/UDP → Docker-Receiver
├→ SRT-Wiedergabe :8282/UDP → OBS
└→ Statistik :8181/TCP → Browser / NOALBS
glowf1sh/srtla-receiver:v1.9-amd64. Das Image wurde seit längerer Zeit nicht aktualisiert und ist laut Anbieter nur für nichtkommerzielle Nutzung unter CC BY-NC vorgesehen.Inhalt
1. Voraussetzungen und Architektur prüfen
Benötigt werden ein Ubuntu-Server mit öffentlicher IP oder passenden Routerfreigaben sowie ein Benutzer mit sudo-Rechten. Prüfe zuerst die Architektur:
dpkg --print-architecture
Bei amd64 verwendest du die Compose-Datei dieser Anleitung. Für ARM64 muss der Image-Tag zu v1.9-arm64 geändert werden.
2. Docker Engine und Compose installieren
Installiere Docker über das offizielle Docker-Repository:
sudo apt update
sudo apt install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo systemctl enable --now docker
sudo docker run --rm hello-world
3. SRTLA-Projekt und Compose-Datei erstellen
sudo mkdir -p /opt/srtla-receiver
sudo chown "$USER":"$USER" /opt/srtla-receiver
cd /opt/srtla-receiver
nano compose.yaml
Fertige compose.yaml herunterladen
services:
srtla-receiver:
image: glowf1sh/srtla-receiver:v1.9-amd64
container_name: srtla-receiver
restart: always
environment:
NOALBS_STARTUP: "false"
LUSTATSBOT_STARTUP: "false"
SRTLA_REC_STARTUP: "true"
SLS_STARTUP: "true"
ports:
- "8181:8181/tcp"
- "8282:8282/udp"
- "8383:8383/udp"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
NOALBS und der LiveU-Bot bleiben beim ersten Test deaktiviert. Dadurch lässt sich die eigentliche SRTLA-Strecke isoliert prüfen.
4. Container herunterladen und starten
cd /opt/srtla-receiver
sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --tail=100
srtla-receiver steht auf Up und die Logs enthalten keinen fortlaufenden Neustart oder Architekturfehler.5. Ports und Firewall
| Port | Protokoll | Aufgabe |
|---|---|---|
| 8181 | TCP | Statusseite für Browser und NOALBS |
| 8282 | UDP | SRT-Eingang und SRT-Wiedergabe |
| 8383 | UDP | SRTLA-Eingang für Bonding |
sudo ufw allow OpenSSH
sudo ufw allow 8181/tcp
sudo ufw allow 8282/udp
sudo ufw allow 8383/udp
sudo ufw enable
sudo ufw status
ports: veröffentlichte Container-Ports können UFW-Regeln umgehen und sind standardmäßig extern erreichbar. Begrenzungen müssen bei Bedarf zusätzlich über Router, Anbieter-Firewall oder die Docker-Kette DOCKER-USER erfolgen. Siehe offizielle Docker-Dokumentation.Bei einem Server hinter einem Router müssen dieselben Ports zum Ubuntu-Server weitergeleitet werden. Achte besonders auf UDP: Eine TCP-Freigabe für 8282 oder 8383 funktioniert nicht.
6. Sender und Stream-ID konfigurieren
Ersetze DEIN_LANGER_KEY durch einen schwer erratbaren Wert. Der Container besitzt in diesem Aufbau keine eigene Publish-Key-Datenbank; der Streamname sollte deshalb nicht trivial sein.
Normales SRT über eine Verbindung
Server: srt://DEINE-SERVER-IP:8282
Stream-ID: publish/live/DEIN_LANGER_KEY
SRTLA über mehrere Verbindungen
Server: srt://DEINE-SERVER-IP:8383
Stream-ID: publish/live/DEIN_LANGER_KEY
Einige Apps, darunter bestimmte IRL-Pro-Konfigurationen, verwenden laut Image-Dokumentation stattdessen eine Adresse im Format srtla://DEINE-SERVER-IP:8282. Entscheidend ist die vom jeweiligen Sender erwartete SRTLA-Betriebsart.
7. Stream in OBS empfangen
Füge in OBS eine Medienquelle hinzu, deaktiviere „Lokale Datei“ und trage als Eingabe ein:
srt://DEINE-SERVER-IP:8282?streamid=play/live/DEIN_LANGER_KEY
- Wiedergabe neu starten, wenn die Quelle aktiv wird
- Nichts anzeigen, wenn die Wiedergabe endet
- Datei schließen, wenn die Quelle inaktiv ist
- Hardware-Decodierung aktivieren, falls verfügbar
Bei OBS auf demselben Rechner kann der Netzwerkpuffer sehr klein sein. Bei einem entfernten Server sind ein bis drei Megabyte ein sinnvoller Ausgangspunkt.
8. Statusseite und Datenfluss prüfen
http://DEINE-SERVER-IP:8181/stats
Zusätzlich helfen diese Befehle:
sudo docker compose ps
sudo docker compose logs -f --tail=100
sudo ss -ltnup | grep -E ':8181|:8282|:8383'
Wenn der Sender verbunden ist, die Statusseite aber keinen Publisher zeigt, prüfe Stream-ID, Protokoll und UDP-Port. Wenn der Publisher sichtbar ist, OBS aber kein Bild erhält, muss die Wiedergabe-ID exakt mit play/live/DEIN_LANGER_KEY übereinstimmen.
9. NOALBS für Szenenwechsel vorbereiten
Das Image enthält NOALBS 2.11.2. Für einen ersten stabilen Test bleibt es deaktiviert. Später kannst du eine gültige Konfiguration nach /apps/noalbs/config.json einbinden und NOALBS_STARTUP auf true setzen.
"streamServer": {
"type": "SrtLiveServer",
"statsUrl": "http://127.0.0.1:8181/stats",
"publisher": "publish/live/DEIN_LANGER_KEY"
}
Die Szenennamen für normalen Empfang, geringe Bitrate und Offline müssen exakt den Namen in OBS entsprechen. Da die enthaltene NOALBS-Version älter ist, sollte die Einrichtung zunächst ohne Twitch-Bot erfolgen.
10. Wartung, Neustart und Entfernung
cd /opt/srtla-receiver
# Status und Logs
sudo docker compose ps
sudo docker compose logs --tail=200
# Container neu starten
sudo docker compose restart
# Image aktualisieren und Container neu erstellen
sudo docker compose pull
sudo docker compose up -d
# Container stoppen, Konfiguration behalten
sudo docker compose down
latest. Der feste Architektur-Tag macht Wiederherstellungen nachvollziehbar. Prüfe neue Versionen zuerst separat.Originalprojekt und Detailangaben: glowf1sh/srtla-receiver auf Docker Hub.