Stream über Web-Server wiedergeben?

FatManStanding

Lt. Junior Grade
Registriert
Aug. 2021
Beiträge
385
Hallo,

ich versuche für das Heimnetzwerk einen Stream in einem eingebetteten Player mit Nginx zu erstellen. Ich habe mich durch zahlreiche Anleitungen gewühlt, brauchbar scheint mir nur diese zu sein: https://medium.com/@peer5/setting-up-hls-live-streaming-server-using-nginx-67f6b71758db. Ich musste lediglich in der nginx.conf "aio on;" durch "aio off"; ersetzen weil beim Test der Config mit nginx -t ein Fehler ausgegeben wurde. Am Ende wird etwas lapidar auf Video.js verwiesen. Soweit ich das sehe muss das nach /usr/local/nginx/html/video.js entpackt werden. Die angesprochene "player.html" habe ich in /usr/local/nginx/html erstellt.

Und nun? Nginx wird mit systemd gestartet, die Willkommen-Seite kann ich aufrufen. Der Stream mit ffmpeg wird erstellt. Wie lasse ich mir die Seite mit dem Video auf dem Webserver anzeigen? Was das mit diesem Manifest soll weß ich nicht.

Der Ordner /mnt/hls beinhaltet die m3u8 und *.ts-Dateien. Der Ordner gehört "nobody". Ist das korrekt?
 
Wenn ich das richtig verstehe brauche ich dann nur noch den stream mit ffmpeg zu erstellen und als output rtmp://localhost/live/external.stream?token=... einzustellen. Restreamer stellt den rtmp-stream dann als Webserver zur Verfügung über den Browser?
 
restreamer nimmt dem stream an und zeigt ihn im player, ffmpeg ist ein Weg den stream dort hin zu bekommen. Kannst aber auch OBS oder sonstwas, was RTMP ausspuckt nutzen
 
Irgendwas passt da nicht. Wenn ich wie hier https://docs.datarhei.com/restreamer/v/de/installation/linux beschrieben den Container versuche zu installieren kommt die Meldung, dass sich die Optionen "--restart=always" und "--rm" gegenseitig ausschließen. Also habe ich --rm weggelassen. Dann wurde alles geladen. Es steht aber nicht da wie man den Container nach dem Download startet. Wenn ich das ganze nochmal ausführe kommt die Meldung

Code:
docker: Error response from daemon: Conflict. The container name "/restreamer" is already in use by container

Mit 'docker ps' soll man sich die installierten Container anzeigen lassen, da kommt aber nur

Code:
sudo docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
Ergänzung ()

Hab es komplett neu installiert, jetzt hab ich auch mehr Einträge in der Spalte "PORTS". Irgendwas schien vorhin schlief gelaufen zu sein. Streamign hab ich noch nicht getestet, zumindest geht mal das Webinterface.
 
Zuletzt bearbeitet:
Bekomme den Stream nicht angezeigt. Restreamer läuft, ich kann auf das Webinterface zugreifen.

Dort macht es mir oben rechts über "Channels" die Kanalübersicht auf und ich kann einen neuen hinzufügen. Wenn ich dann auf RTMP-Server klicke wird mir eine URL angezeigt, aber mit der IP 93.x.x.x. Ich will das ja aber im internen Netzwerk streamen. Wenn ich die URL kopiere und die IP durch die IP des Gerätes oder 'localhost' ersetze in FFmpeg kommt nichts bei Restreamer an - fast nichts. Denn wenn ich abbreche sehe ich in der Kanalübersicht ein korrektes Vorschaubild des gestreamten Videos. "Irgendwas" kommt also an.

Ich habe FFmpeg als Test so gestartet:

Code:
ffmpeg -i "/pfad/zum/video.mkv" -vcodec libx264 -vprofile baseline -g 30 -f flv rtmp://localhost/dfce34a8-41d5-4795-9a4b-028d7eaefe21.stream?token=eYIxCQpqzxr7

Hab ich was falsch verstanden?
 
Zurück
Oben