Aktuelle Artikel

How to: Eigenen (RTMP) Streaming-Server erstellen

Einleitung

Wann brauche oder will ich einen eigenen RTMP Server?

Die Frage ist so einfach nicht zu beantworten, aber es gibt einige Dinge die damit möglich sind die mit öffentlichen Plattformen nicht machbar sind.

  • Streamen an mehrere unterschiedliche externe Kanäle
  • Einfügen fremder Streams in den eigenen Stream
  • Streams die gegen die AGB der öffentlichen Plattformen verstoßen
  • Volle Kontrolle über Stream und Zuschauer

Welche Hardware/Software wird benötigt?

  • Einen Linux-PC der keine extremen Anforderungen erfüllen muss, ein Raspberry Pi (~50€) reicht locker aus um einen stabilen Stream zu hosten
  • Als Betriebssystem ist grundsätzlich alles geeignet, es empfiehlt sich aber etwas zu nutzen das APT beherrscht
  • Wenn wir hinter einem Router sitzen müssen wird den Port 1935 zu unserem Gerät forwarden
  • Für Anschlüsse mit wechselnder IP empfiehlt sich die Einrichtung von DynDNS

Installation von nginx

nginx (gesprochen: engine-x) ist ein extrem einfacher Webserver für den jemand ein RTMP Modul geschrieben hat. Leider müssen wir den Server selbst kompilieren um das Modul nutzen zu können, dass ist aber mit dieser Anleitung kein Problem.

Als erstes müssen wir sicherstellen, dass wir die nötigen Grundlagen haben um anfangen zu können.

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

Als nächstes holen wir uns die aktuellen Binaries von nginx

wget http://nginx.org/download/nginx-1.6.0.tar.gz

und das RTMP Modul von github.

wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

Dann entpacken wir beides und wechseln ins nginx Verzeichnis.

tar -zxvf nginx-1.6.0.tar.gz
unzip master.zip
cd nginx-1.6.0

Nun geht es ans kompilieren und installieren.

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
make
sudo make install

Das wars schon, um den Server zu starten einfach folgendes eingeben.

sudo /usr/local/nginx/sbin/nginx

Um zu überprüfen ob alles funktioniert hat, einfach im Browser die IP aufrufen und es sollte die Welcome Page von nginx zu sehen sein.

Die RTMP Konfiguration

Nun zum eigentlich wichtigsten Teil, der Konfiguration des RTMP Moduls. Öffnet die nginx-config unter /usr/local/nginx/conf/nginx.conf und fügt ganz am Ende folgendes hinzu.

# keep $PATH
env PATH; #needed to be able to call program names without full path
rtmp {
server {
listen 1935;
chunk_size 4096;
application local {
live on; # one-to-many streaming
meta copy;
push rtmp://localhost/live/; # push stream to app "live"
# push rtmp://live-fra.twitch.tv/app/live_xxxxxx; # simply add streaming key and remove '#' for forwarding to twitch
allow publish 192.168.1.0/24; # allow all hosts in your network to stream
deny publish all;
allow play 127.0.0.1;
deny play all;
record off;
}
application live {
live on;
record off;
allow publish 127.0.0.1;
deny publish all;
allow play all;
}
}
}

Dieses Konfiguration ist recht einfach gehalten ist aber so abgesichert, dass niemand euren Stream kapern kann. Die vollständige Dokumentation findet ihr hier.

Jetzt müsst ihr den Server nur noch neustarten und könnt beginnen.

sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx

Testen

Um den Server mit OBC zu versorgen müsst ihr einfach folgende Einstellungen tätigen.

Streaming Service: Custom
Server: rtmp://deine Server IP/local
Play Path/Stream Key: test

Wenn man den Stream jetzt startet und kein Fehler kommt ist schonmal alles gut. Um den Stream zu sehen kann man z.B. einfach im VLC ‚rtmp://deine Server IP/local/test‘ öffnen und sollte nun seinen Stream sehen.

Ende

Wer fragen hat, darf die gerne in den Kommentaren stellen. Wer Rechtschreibfehler findet darf sie behalten.

  1. G2A statt MMOGA Kommentar hinterlassen
  2. Blizzard ist scheiße und deine Meinung interessiert mich nicht! 2 Kommentare
  3. Diablo 3 – Reaper of Souls Release Nacht Kommentar hinterlassen
  4. Verlosung: Orcs Must Die! Kommentar hinterlassen
  5. Verlosung: Orcs Must Die! 2: Complete Pack 1 Kommentar
  6. Verlosung: Bastion Steam-Key 4 Kommentare
  7. Meine Gedanken zur Wahl Kommentar hinterlassen
  8. Verlosung: Dungeonland Steam Key 1 Kommentar
  9. Mein Steam-Spiel der Woche: “Castle Crashers” Kommentar hinterlassen