Open Source Restreamer für einfaches Multistreaming!

Vor einiger Zeit hat Twitch die Richtlinien für Multistreaming deutlich gelockert. Als Twitch Partner kann man nun seinen Content deutlich einfacher auf mehrere Plattformen parallel streamen und so seine Reichweite deutlich erhöhen. In Deutschland hat man damit aber nun ein neues Problem: Multistreaming belastet die Internetleitung im Upload deutlich. Hier schafft ein sog. Restreamer Abhilfe. Wie man einen solchen Restreamer, in unserem Fall den Open Source Restreamer von Datarhei, einrichtet und verwendet, zeigen wir im Artikel.

Was ist ein Restreamer?

Im Grunde genommen schaltet sich der Restreamer zwischen unser OBS und die Streaming Plattformen (Twitch, Youtube, Kick, etc.). Anstatt unseren Stream direkt an Twitch zu senden, schickt unser OBS die Daten an den Restreamer. Von dort aus verteilt die Software die Streams dann an die (beliebig einstellbaren) Ziele. Da der Restreamer auf einem Server außerhalb unseres Heimnetzwerks betrieben werden kann, sparen wir uns hier also Bandbreite, da nur noch ein Stream über unsere Internetleitung laufen muss und die (schnelle) Internetanbindung des Servers im Rechenzentrum übernimmt die bandbreitenintensive Verteilung an die Streamingdienste.

Die Anforderungen

Der Restreamer von Datarhei wird als Docker-Container betrieben. Es reicht also ein einfacher Linux Server aus, um die Software zu betreiben. Solange wir den Stream einfach nur direkt an Twitch, Youtube usw. weiterleiten, braucht dieser Server auch nicht sonderlich viel Rechenpower. Falls der Server noch ein Umcodieren aufgrund nicht unterstützter Auflösung vornehmen muss, müssen wir ggf. einen etwas potenteren Server wählen.

Für unregelmäßige Streams eignen sich hierfür die günstigen CPU-only Cloudserver von Paperspace. Diese kann man je nach Bedarf innerhalb weniger Minuten erstellen und auch wieder löschen und bezahlt so nur die Zeit, in der der Server auch aktiv war. Wer regelmäßig streamt, kommt mit einem echten VServer bspw. von Netcup besser und günstiger weg. Ein einfacher Server kostet hier ab ca. 3€ monatlich.

Die Installation

Zuerst müssen wir Docker installieren. Docker erlaubt es uns, sog. Container auf dem Server auszuführen. Ein Container ist im Grunde genommen eine isolierte Anwendung innerhalb eines Computers, ähnlich einer virtuellen Maschine. Zur Installation von Docker auf Linux müssen wir zuerst einige Befehle für die Paketverwaltung ausführen. Dafür müssen wir per SSH auf dem Server verbunden sein.

sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Jetzt können wir das Repository hinterlegen.

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Im Anschluss aktualisieren wir die Paketquellen noch einmal durch

sudo apt-get update

und starten die Installation per

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Hier müssen wir in der Regel die Installation noch durch Eingabe von „y“ bestätigen.

Da Docker nun installiert ist, können wir direkt den Container mit einem einzigen Befehl starten.

sudo docker run -d --restart=always --name restreamer -p 8080:8080 -p 8181:8181 -p 1935:1935 --privileged datarhei/restreamer:latest

Die Angaben 8080:8080, 8181:8181 und 1935:1935 stehen hier für sogenannte Port-Mappings. Damit der Container nach außen kommunizieren kann, müssen die intern verwendeten Ports einem Port des Servers zugewiesen werden. Sobald Docker das Image des Restreamers heruntergeladen hat, wird die Anwendung direkt gestartet.

Die Einrichtung

Im Standard läuft die Weboberfläche des Restreamers auf Port 8080. Wir erreichen die Software also unter
http://IP-Adresse-des-Servers:8080/ui
Beim ersten Besuch müssen wir auch direkt einen Login anlegen.

Restreamer Webinterface Registrierung

Nach Anlage des Benutzers können wir direkt mit dem Setup starten. Als Streamquelle wählen wir hier RTMP-Server aus und aktivieren diesen mit einem Haken in der Checkbox. Im Feld Token können wir noch einen Streamkey hinterlegen, um die Sicherheit zu erhöhen. Andernfalls könnte jeder, der die IP-Adresse und den Port des RTMP-Servers kennt, seinen Stream darüber veröffentlichen.

Restreamer RTMP Konfiguration

Ein Klick auf Save speichert das Ganze und startet den Restreamer einmal neu. Nun wählen wir im Auswahlmenü erneut den RTMP-Server aus. Hier bekommen wir nun eine Adresse angezeigt. Diese Adresse tragen wir bei uns in OBS (oder Streamlabs, etc.) ein. Falls wir im Restreamer einen Token hinterlegt haben, müssen wir diesen als Streamschlüssel hinterlegen.

Restreamer OBS Einstellungen

Wenn wir den Stream in OBS nun starten und in Restreamer auf Next klicken, erkennt der Server unseren Stream bereits. Die weiteren Meldungen bzgl. Audio, Metadaten und Copyright können wir einfach bestätigen. Wir landen dann in der Standardansicht des Restreamers, wo wir einige Infos zu unserem Stream, eine Vorschau und die angebundenen Dienste sehen können.

Restreamer Standard Ansicht

Ein Klick auf das + oben rechts öffnet das Menü zum Hinzufügen unserer gewünschten Streaminganbieter. Hier gibt es zwei Möglichkeiten. Die bereits vorinstallierten Anbieter benötigen nur noch den Stream-Key und erledigen die restliche Konfiguration komplett selbstständig.

Restreamer Youtube Publication

Für nicht vorinstallierte Anbieter müssen wir in der Regel den Eintrag RTMP auswählen. Hier tragen wir dann neben dem Stream-Key auch noch die Adresse des Servers sowie das richtige Protokoll ein. Im Beispiel von Kick wählen wir rtmps:// und die Adresse aus dem Kick-Dashboard.

Restreamer RTMP Publication

Nachdem wir alle Streaming-Anbieter zum Restreamer hinzugefügt haben, müssen wir diese sogenannten Publikationen in der Startansicht noch mit den Schaltern aktivieren. Während der Schalter orange ist, ist der Verbindungsaufbau gerade aktiv. Grün bedeutet, dass der Stream läuft.

Restreamer Go Live

Unser Stream ist nun auf den gewünschten Plattformen live und wir können den Restreamer schließen. Bei zukünftigen Streams müssen wir diesen auch nicht mehr öffnen. Er läuft im Hintergrund und arbeitet vollautomatisch.