Sie möchten also Ihre Spiele oder vielleicht eine Webcam streamen, mögen aber keine Dienste wie YouTube oder Twitch. Oder vielleicht haben Sie Datenschutzbedenken oder möchten einfach mehr Kontrolle über Ihre Inhalte haben. In diesem Artikel zeige ich Ihnen, wie Sie mit Nginx unter Verwendung des RTMP-Protokolls einen Streaming-Server in FreeBSD erstellen.
Schritt Eins:Installieren Sie Nginx
Glücklicherweise enthält der Nginx-Port ein Modul, das das RTMP-Protokoll zum Streamen von Audio und Video über das Internet implementiert. Um den Nginx-Server zu installieren, führen Sie Folgendes aus:
[gonz@gonz ~]$ su -
Password:
[root@gonz ~]# cd /usr/ports/www/nginx
[root@gonz /usr/ports/www/nginx]# make config install clean
Scrollen Sie im Port-Konfigurationsbildschirm nach unten und wählen Sie die Option RTMP:
Wenige Minuten später ist die Kompilierung und Installation abgeschlossen:
Schritt 2:Nginx konfigurieren
2.a:Webroot-Verzeichnis
Wir brauchen ein Webroot-Verzeichnis, aus dem Nginx unsere Inhalte streamen wird. Ich fühle mich nicht sehr kreativ, also nenne ich meins einfach „live“:
[root@gonz ~]# mkdir /usr/local/www/live
[root@gonz ~]# chown www:www /usr/local/www/live/
2.b:Konfigurationsdateien
Bearbeiten Sie die Datei /usr/local/etc/nginx/nginx.conf und fügen Sie oben die folgenden Zeilen hinzu:
load_module /usr/local/libexec/nginx/ngx_stream_module.so; load_module /usr/local/libexec/nginx/ngx_rtmp_module.so;
Mit diesen Zeilen lädt nginx die für das Streaming benötigten Module.
Wenn Sie den ee-Editor verwenden, drücken Sie Strg-Y, um „location /“ zu finden, und ändern Sie den Webroot-Pfad in den zuvor erstellten:
location / {
root /usr/local/www/live;
}
Fügen Sie am Ende der Datei die RTMP-Einstellungen hinzu:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
2.c:Nginx aktivieren und starten
Speichern Sie die Änderungen in der Datei nginx.conf und führen Sie Folgendes aus:
[root@gonz ~]# /usr/local/etc/rc.d/nginx enable
nginx enabled in /etc/rc.conf
[root@gonz ~]# /usr/local/etc/rc.d/nginx start
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
Schritt 3:Streaming-Software einstellen
Wenn Nginx bereit ist, Videostreams zu akzeptieren, müssen wir die Broadcast-Software einrichten. Als ich lernte, wie man einen Streaming-Server erstellt, habe ich viele Tutorials gelesen (mit starkem Fokus auf Linux, insbesondere Ubuntu) und für diesen Schritt empfehlen alle OBS (Open Broadcaster Software) Studio.
Gehen Sie auf die Website, um die für Ihr Desktop-Betriebssystem geeigneten Anweisungen herunterzuladen und zu finden. Ich habe Gentoo Linux auf diesem Laptop und meine inoffiziellen Anweisungen zur Installation sind so einfach wie:
# emerge media-video/obs-studio
Wenn Sie OBS starten, wird ein Assistent zum ersten Mal angezeigt:
Der Assistent wird versuchen, Ihnen dabei zu helfen, die besten Einstellungen für Ihren Computer zu ermitteln. Auf dem nächsten Bildschirm geht es um die Auflösung und der nächste ist wichtig:
Wählen Sie einen benutzerdefinierten Dienst und füllen Sie den Server mit RTMP://IP.or.FQDN of your nginx/live
aus . Der Streamkey ist optional.
Testen Sie Ihren Stream
Gehen Sie im OBS-Fenster nach unten links und fügen Sie eine Quelle hinzu, indem Sie auf das +-Zeichen klicken:
Ich habe mich entschieden, ein xterm-Fenster zu erfassen. Jetzt, wo alles konfiguriert ist, können wir damit beginnen, unseren Stream an den Server zu senden. Klicken Sie in den Steuerelementen unten rechts auf Streaming starten, wenn alles korrekt ist, sollten Sie einen grünen Block in der Statusleiste sehen:
Letzter Schritt:Sehen Sie sich Ihren Stream an
Der Zweck dieses Tutorials war, dass Sie irgendwohin senden können. Irgendwo in diesem Beispiel wird derselbe PC gestreamt, in meinem Fall greife ich mit VLC zu. Die URL, die ich öffnen muss, ist RTMP://IP.or.FQDN.of.your nginx/live
/SuperSecretKey
und das ist es:
Dieser PC ist ziemlich langsam, also habe ich in meinem xterm gerade das ASCII-Art-Spiel alienwave ausgeführt, um etwas zu zeigen.
Und so habe ich einen Streaming-Server in FreeBSD erstellt, einfach aus Spaß daran, etwas Neues zu lernen.