Ist Ihr Livestream jedes Mal abgestürzt? Wenn ja, müssen Sie einen zuverlässigen Weg finden, um Ihren Stream zu hosten. Aber wenn Sie sich teure Optionen nicht leisten können, keine Sorge! NGINX RTMP wird den Tag retten. NGINX RTMP ist ein zuverlässiges Open-Source-Modul, also wissen Sie, was das bedeutet – es ist KOSTENLOS!
In diesem Tutorial erfahren Sie, wie Sie einen NGINX RTMP-Server einrichten können, damit Sie einen zuverlässigen Livestream mit Ihrer Website einrichten können.
Bereit? Lesen Sie weiter und beginnen Sie mit dem Einrichten eines Livestreams!
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:
- A Linux server – This demo uses Ubuntu 20.04 LTS, but you can use any other Linux distribution with NGINX.
- NGINX auf dem Linux-Server installiert.
- A non-root user with sudo privileges.
- Mindestressourcen, um einen Livestream-Server auszuführen – 2 GB RAM, 2 CPU-Kerne und 20 GB HDD.
Diese Werte sind nur Vorschläge. Die genauen Werte hängen von Ihren tatsächlichen Verkehrsbedürfnissen ab. Je mehr Verkehr Sie haben, desto leistungsstärkere Server benötigen Sie, um Ihr Live-Video zu hosten und zu streamen. In einer Entwicklungsumgebung reicht ein NGINX RTMP-Server mit 2 CPUs und 2 GB RAM aus, um zu testen.
Konfigurieren eines RTMP-Servers
Nun, da die Voraussetzungen erfüllt sind, können Sie mit der Installation und Konfiguration Ihres RTMP-Servers fortfahren. Zuerst installieren Sie ein NGINX-Modul, um Ihren NGINX-Server in einen RTMP-Server umzuwandeln, und konfigurieren dann die NGINX-Konfigurationsdatei, um Live-Streams für Benutzer zu aktivieren.
1. Öffnen Sie Ihr Terminal und führen Sie den Befehl apt update
aus, um alle Ihre Pakete zu aktualisieren. Dieser Befehl synchronisiert Ihre Paketdatenbank mit der neuesten Datenbank von Ubuntu.

2. Führen Sie als nächstes den folgenden Befehl aus, um einen RTMP-Server auf Ihrem Linux-Server zu installieren.
Das Modul libnginx-mod-rtmp
ist ein NGINX-Modul, das Ihren NGINX-Server in einen RTMP-Server umwandelt. Dieses Modul ermöglicht es NGINX, mit dem Adobe Flash Player zu kommunizieren, sodass Sie Ihre Live-Videos oder -Audios streamen können, und wird offiziell von seinem Entwicklungsteam unterstützt.

3. Öffnen Sie die Datei /etc/nginx/nginx.conf in Ihrem bevorzugten Editor, um Ihr RTMP-Live-Programm zu konfigurieren. Die Datei nginx.conf ist eine NGINX-Konfigurationsdatei, die mehrere Direktiven oder Blöcke enthält, um das Verhalten des NGINX-Dienstes zu definieren.
4. Füllen Sie schließlich die Datei nginx.conf mit dem folgenden Code, speichern Sie die Änderungen und verlassen Sie den Editor.
Der untenstehende Code teilt NGINX mit, dass es als RTMP-Server fungieren und Live-Streams für Ihre Benutzer aktivieren soll.
Sichern des Netzwerks durch Einrichten einer Firewall
Sie haben bereits Ihren NGINX RTMP-Server konfiguriert, aber Sie müssen Ihr Netzwerk absichern und den Datenverkehr kontrollieren. Wie? Durch Einrichten einer Firewall, der Uncomplicated Firewall (UFW), die die Standard-Firewall in Ubuntu ist.
Wenn Sie Ihren NGINX RTMP-Server hinter einer Firewall platzieren, müssen Sie den Port des NGINX RTMP-Servers öffnen. Da Sie Ihren NGINX RTMP-Server so konfiguriert haben, dass er auf Port 1935
hört, erlauben Sie diesem Port den Zugriff durch Ihre Firewall.
1. Führen Sie den folgenden Befehl aus, um eine Firewall-Regel hinzuzufügen, die den Port 1935
auf Ihrer Firewall öffnet. Diese Firewall-Regel ermöglicht es Ihrem NGINX RTMP-Server, Port 1935
für alle eingehenden und ausgehenden Anfragen zugänglich zu machen.

2. Führen Sie anschließend den folgenden Befehl aus, um Ihre Firewall zu deaktivieren und wieder zu aktivieren. Dieser Befehl startet die Firewall im Grunde neu, damit Änderungen an der Firewall wirksam werden.
3. Führen Sie abschließend den folgenden Befehl aus, um den Status Ihrer Firewall zu überprüfen und zu überprüfen, ob der Port 1935
von allen IP-Adressen (Überall) aus erreichbar ist.

Video-Streaming mit FFmpeg
Ihr NGINX RTMP-Server ist nun aktiv, also ist es Zeit, FFmpeg zu verwenden, um ein Beispielvideo zu erstellen und es über Ihren NGINX RTMP-Server zu streamen. FFmpeg ist eine vollständige Lösung zum Aufnehmen, Konvertieren und Streamen von Audio und Video in vielen verschiedenen Anwendungen wie VLC, OMXPlayer, VobSub und so weiter.
Sie werden das Video-Streaming auf Ihrem Server testen, und Sie können jedes Video verwenden, das klein ist, um es zu streamen.
1. Führen Sie den folgenden Befehl apt install
aus, um die erforderlichen Abhängigkeiten für die ordnungsgemäße Ausführung von FFmpeg zu installieren.
Der folgende Befehl installiert Folgendes:
libpcre3
– Eine Regex-Bibliothek, die vom ffmpeg-Toolkit verwendet wird, um reguläre Ausdrücke zu parsen und zu kompilieren.libpcre3-dev
– Dieses Paket enthält die Entwicklungsheader des libpcre3-Pakets.libssl-dev
– Die OpenSSL-Kryptobibliothek wird verwendet, um SSL/TLS-Verbindungen in Ihrem RTMP-Server zu erstellen.zlib1g-dev
: Die zlib-Bibliothek ist eine Kompressions- und Dekompressionsbibliothek, die die Übertragung von Audio- und Videodateien über das Internet beschleunigt.

2. Führen Sie als Nächstes den folgenden Befehl aus, um ffmpeg
auf Ihrem Server zu installieren.

3. Führen Sie abschließend den ffmpeg
-Befehl aus, um Folgendes auszuführen und einen neuen Livestream zu erstellen:
- Lesen Sie die Eingabe (
re
) aus der Quelldatei (i
) mit der Originalbildrate. Ersetzen Sie unbedingtvideo.mp4
durch den Pfad und Dateinamen Ihres Videos. - Kopieren Sie das Videoformat wortwörtlich (
c:v copy
) und kodieren Sie den Ton mit dem AAC-Codec (c:a aac
). - Setzen Sie die Audiostichprobenrate auf 44100 Hz (
ar 44100
). Wenn die Stichprobenrate Ihres Videos niedriger als dieser Wert (44100 Hz) ist, führt FFmpeg Interpolation durch, um die Stichprobenrate zu erhöhen. - Stellen Sie die Audio-Kanäle auf einen Kanal (Mono) (
ac 1
) und das Videoformat ein, das FFmpeg streamen wird (-f flv
). - Legen Sie Ihr RTMP-Live-Programm fest (
rtmp://localhost/live/streamname.flv
), das Sie im Abschnitt „Einrichten eines RTMP-Servers“ (Schritt vier) konfiguriert haben. Sie könnenstreamname.flv
in einen beliebigen Namen ändern.
Wie unten gezeigt, gibt der ffmpeg
-Befehl die erkannten Frames pro Sekunde, die Bitrate und die FPS des neu erstellten RTMP-Live-Streams aus.

Zusammenfassung
In diesem Tutorial haben Sie gelernt, wie Sie Ihren NGINX RTMP-Server einrichten und Live-Streams auf Ihrem Server aktivieren, indem Sie die NGINX-Konfigurationsdatei ändern. Sie haben auch gelernt, wie Sie einen Video-Livestream unter Verwendung des FFmpeg-Tools über Ihren NGINX RTMP-Server einrichten können.
Sie haben gerade festgestellt, dass das Einrichten eines Livestreams nicht jede Menge Geld kosten muss. Warum nicht zu diesem Zeitpunkt Ihren Stream in Ihre Webseite integrieren, indem Sie das HTML5 <video>-Element verwenden? Oder einen OBS Studio für Ihren RTMP-Stream einrichten?