So richtest Du einen Video-Streaming-Server ein
Das Wichtigste auf einen Blick: Mit NGINX, dem RTMP-Modul und FFmpeg kannst Du einen Video-Streaming-Server aufbauen, um Live- oder On-Demand-Videos über HLS-Wiedergabe (HTTP-Live-Streaming) auszuliefern. Wenn Du diese Tools auf einem VPS installierst und konfigurierst, kannst Du von OBS Studio oder FFmpeg streamen und über einen Webplayer oder Browser mit einer HLS-URL auf Deine Streams zugreifen.
Inhaltsverzeichnis ⇓
Videoinhalte sind mittlerweile das A und O der Online-Kommunikation und umfassen alles von Firmenschulungen und Webinaren bis hin zu Unterhaltung und digitalen Events. Die Abhängigkeit von Plattformen von Drittanbietern schränkt jedoch oft die Anpassungsmöglichkeiten ein, birgt Datenschutzrisiken und schränkt die Verwaltung Deiner eigenen Daten ein. Für Unternehmen und Kreative, die die volle Kontrolle über die Streaming-Qualität und den Zugriff haben wollen, ist der Aufbau eines dedizierten Video-Streaming-Servers der nächste Schritt.
Dieser Artikel führt Dich durch den kompletten Einrichtungsprozess mit zuverlässigen Open-Source-Tools wie NGINX RTMP und FFmpeg.
So funktioniert ein Video-Streaming-Server
Bevor Du Deinen Server einrichtest, ist es hilfreich, den grundlegenden Arbeitsablauf hinter Live- und On-Demand-Streaming zu verstehen. Eine Kamera oder ein Encoder nimmt das Rohvideo auf, das dann mit Tools wie OBS Studio oder FFmpeg zu einem digitalen Stream komprimiert wird. Der Stream wird über ein Transportprotokoll wie RTMP an den Server gesendet. Nach dem Empfang packt der Server das Video in adaptive Formate wie HLS oder MPEG-DASH um, sodass die Zuschauer es nahtlos auf jedem Gerät und bei unterschiedlichen Netzwerkgeschwindigkeiten abspielen können. Dieser Prozess sorgt für ein Gleichgewicht zwischen Qualität, Geschwindigkeit und Bandbreiteneffizienz, was die Grundlage jeder zuverlässigen Streaming-Konfiguration ist.
Systemanforderungen und Voraussetzungen für die Einrichtung
Bevor Du Deinen Video-Streaming-Server konfigurierst, solltest Du sicherstellen, dass Deine Umgebung die folgenden Anforderungen erfüllt. Ein richtig konfiguriertes System sorgt für stabile Leistung und reibungslose Videoübertragung.
Server-Spezifikationen
- Hardware: Mindestens 2 CPU-Kerne und 4 GB RAM für moderate Streaming-Workloads. Größere Zielgruppen oder höhere Auflösungen können zusätzliche Ressourcen erfordern.
- Betriebssystem: Ubuntu 22.04 LTS wird wegen seiner Stabilität, Sicherheitsupdates und Kompatibilität mit NGINX und FFmpeg empfohlen.
- Netzwerk: Eine Internetverbindung mit hoher Bandbreite (Upload-Geschwindigkeit von mindestens 10 Mbit/s) ist ideal für konsistentes Live-Streaming.
- Öffentliche IP-Adresse: Erforderlich für Fernzugriff und Zuschauerverbindungen.
Netzwerkkonfiguration
Offene Ports:
- 80 (HTTP): für die Bereitstellung von Webinhalten.
- 443 (HTTPS): für sicheren Zugriff.
- 1935 (RTMP): für eingehende Videostreams.
Stell sicher, dass Deine Firewall oder Sicherheitsgruppe den Datenverkehr auf diesen Ports zulässt.
Zugriff und Berechtigungen
- Root- oder Sudo-Zugriff: Wird für die Installation, Konfiguration und Verwaltung von NGINX, FFmpeg und zugehörigen Abhängigkeiten benötigt.
So richtest Du einen Video-Streaming-Server ein
Schritt 1: Bereite Deine Serverumgebung vor
Greife über SSH auf Deinen VPS zu und stelle sicher, dass Dein System auf dem neuesten Stand ist. Dadurch bleibt Dein Server sicher und mit den neuesten Abhängigkeiten kompatibel.
sudo apt update && sudo apt upgrade -y

Installiere dann die von NGINX benötigten wichtigen Build-Tools und Bibliotheken.
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev -y

Dein Server ist jetzt bereit für die Installation von NGINX.
Schritt 2: NGINX und das RTMP-Modul installieren
NGINX fungiert als Web- und Medienbereitstellungsserver. Das RTMP-Modul ermöglicht die Echtzeit-Videoaufnahme.
Installiere beide mit:
sudo apt install nginx libnginx-mod-rtmp -y

Überprüfe nach der Installation, ob das RTMP-Modul aktiviert ist, indem Du das NGINX-Konfigurationsverzeichnis überprüfst:
ls /etc/nginx/modules-enabled/

Du solltest einen Verweis auf ngx_rtmp_module.so sehen.

Schritt 3: Installiere und konfiguriere FFmpeg
FFmpeg übernimmt die gesamte Videoverarbeitung, Codierung, Decodierung und Transcodierung.
sudo apt install ffmpeg -y

Es lässt sich in NGINX integrieren, um Live-Streams in Formate wie HLS zu konvertieren. Dieser Schritt sorgt für eine reibungslose Übertragung auf allen Geräten und bei allen Verbindungsbedingungen.
Schritt 4: NGINX-RTMP-Modul konfigurieren
Bearbeite die NGINX-Konfigurationsdatei, um festzulegen, wie Dein Server Live-Streams verarbeitet.
sudo nano /etc/nginx/nginx.conf

Füge den folgenden RTMP-Block in die Hauptkonfiguration ein:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
hls on;
hls_path /var/www/html/hls;
hls_fragment 3;
}
}
}

Diese Konfiguration:
- Hört auf Port 1935 auf eingehende RTMP-Streams.
- Gibt HLS (.m3u8)-Segmente an /var/www/html/hls aus.
- Verwendet ein 3-Sekunden-Fragment für eine flüssigere Wiedergabe.
Lade NGINX neu, um die Änderungen zu übernehmen:
sudo systemctl reload nginx

Schritt 5: Streamen von OBS Studio oder FFmpeg
Jetzt ist Dein NGINX-Server bereit, Live-Video-Eingaben über RTMP zu empfangen. Als Nächstes musst Du einen Video-Feed an ihn senden. Dazu gibt’s zwei Möglichkeiten: mit OBS Studio (grafische Benutzeroberfläche) oder FFmpeg (Befehlszeilentool). Beide erreichen dasselbe Ziel: das Pushen von codiertem Video an Deinen RTMP-Endpunkt.
Mit OBS Studio
OBS Studio ist die anfängerfreundlichste Methode, um Live-Videos zu übertragen. Es nimmt Video- und Audiodaten von Deinem Computer auf und streamt sie in Echtzeit an Deinen NGINX-RTMP-Server.
- Öffne OBS Studio und geh dann zum Menü Einstellungen (unten rechts).
- Wähle in der linken Seitenleiste Stream aus.
- Wähle unter Dienst die Option Benutzerdefiniert aus.
Gib im Feld „Server“ Deine RTMP-URL ein und ersetze die IP-Adresse durch die Adresse Deines Servers:
rtmp://your-server-ip/live
Gib im Feld „Stream Key“ eine beliebige benutzerdefinierte Kennung ein, zum Beispiel:
mystream
- Deine vollständige Streaming-URL lautet nun rtmp://your-server-ip/live/mystream.
- Klicke auf „Apply“ und dann auf „OK“.
- Füge Deine Video- oder Bildschirmaufzeichnungsquellen zur OBS-Szene hinzu.
- Wenn Du fertig bist, klicke auf „Streaming starten“.


OBS sendet jetzt Live-Videos an Deinen NGINX-RTMP-Endpunkt. Wenn alles richtig konfiguriert ist, fängt NGINX an, den eingehenden Feed zu verarbeiten und entsprechende HLS-Segmente in Deinem Webverzeichnis zu generieren.
Schritt 6: Wiedergabe mit HLS oder einem Webplayer testen
Sobald der Stream startet, generiert NGINX HLS-Fragmente in:
/var/www/html/hls
Du kannst auf die Ausgabe zugreifen unter:
http://your-server-ip/hls/mystream.m3u8

So bettest Du die Wiedergabe ein:
- Verwende Video.js oder hls.js für einen responsiven Webplayer.
- Diese Bibliotheken sorgen für eine adaptive Wiedergabe in verschiedenen Browsern und auf verschiedenen Geräten.
Sicherheit für Deinen Streaming-Server
Sicherheit ist ein wichtiger Teil beim Verwalten eines Video-Streaming-Servers. Sobald Dein System live ist, kann es zu unbefugten Zugriffen, Bandbreitenmissbrauch und Datenabfang kommen. Mit HTTPS über ein vertrauenswürdiges SSL-Zertifikat kannst Du die Kommunikation zwischen Deinen Zuschauern und dem Server verschlüsseln und so Inhalte und Anmeldedaten vor Abhörversuchen schützen. Der Zugriff auf RTMP-Endpunkte sollte durch Authentifizierungstoken oder Stream-Schlüssel eingeschränkt werden, um zu verhindern, dass nicht verifizierte Benutzer Sendungen ausstrahlen. Auf Netzwerkebene hilft die Konfiguration einer Firewall, die nur wichtige Ports wie 80, 443 und 1935 zulässt, dabei, das Risiko potenzieller Angriffe zu verringern. Regelmäßige Software-Updates und die Überwachung von Protokollen tragen zusätzlich zur Aufrechterhaltung der Systemintegrität bei. Durch die Kombination von Verschlüsselung, kontrolliertem Zugriff und strengen Netzwerkregeln schaffst Du eine sichere und zuverlässige Umgebung für die Bereitstellung von Videos.
Fehlerbehebung und Überwachung
Selbst ein gut konfigurierter Streaming-Server muss ständig überwacht werden, um Leistung und Zuverlässigkeit zu gewährleisten. Verbindungsprobleme sind oft auf geschlossene Ports, falsche Stream-URLs oder Konfigurationsfehler in NGINX zurückzuführen. Durch Überprüfen der Serverprotokolle, wie z. B. /var/log/nginx/error.log, lässt sich die Ursache der meisten Probleme schnell finden. Verzögerungen bei der Wiedergabe oder Pufferung deuten in der Regel auf eine Überlastung des Netzwerks oder auf nicht übereinstimmende Bitrateneinstellungen zwischen dem Sender und dem Server hin.
Um wiederkehrende Störungen zu vermeiden, ist es wichtig, die CPU-Auslastung, die Bandbreitennutzung und den Stream-Status mit Systemüberwachungstools zu verfolgen. Regelmäßige Updates von NGINX und FFmpeg tragen ebenfalls zur Aufrechterhaltung der Stabilität und Kompatibilität mit neuen Streaming-Standards bei.
Fazit
Durch die Einrichtung eines eigenen Video-Streaming-Servers kannst Du die Bereitstellung der Inhalte nach Deinen eigenen Vorstellungen verwalten, anpassen und skalieren. Durch die Kombination von NGINX mit dem RTMP-Modul und HLS-Unterstützung erhältst Du ein flexibles System, das Live- und On-Demand-Streams über Tools wie OBS Studio oder FFmpeg verarbeiten kann. Einmal konfiguriert und gesichert, bietet diese Einrichtung eine zuverlässige, leistungsstarke Plattform für die Übertragung auf jedes Gerät und an jedes Publikum. Mit der richtigen Wartung und regelmäßigen Optimierungen bleibt Deine Streaming-Infrastruktur effizient, sicher und vollständig unter Deiner Kontrolle.
Neuer: So hostest Du Supabase selbst hosting.de Blog Älter: So hostest Du lokale KI selbst

Neuer: So hostest Du Supabase selbst hosting.de Blog Älter: So hostest Du lokale KI selbst
