michael2610
Newbie
- Registriert
- März 2021
- Beiträge
- 4
Hallo,
ich betreibe ein Kampfsport-Center und gebe aktuell alle meine Kurse online über Zoom.
Alle Teilnehmer sind dabei auf stumm geschaltet und ich bin der einzige der Ton und Video laufen hat.
Eigentlich wie bei einem Stream.
Deshalb bin ich nun auf die Idee gekommen, das ganze auch als Stream laufen zu lassen.
Das Bild hier veranschaulicht in etwa mein aktuelles Setup:
An meinen Laptop ist eine Webcam angeschlossen.
Über OBS Studio gebe ich das Video via virtueller Webcam an Zoom weiter, und schicke gleichzeitig (lokal) einen Stream an mein Raspberry Pi.
Auf dem Raspberry Pi ist ein Nginx HLS Streaming Server konfiguriert, der über Port 1935 den Stream meines Laptops empfängt, und an Port 8080 als HLS Stream zur Verfügung stellt (Hier bin ich mir nicht so ganz sicher, ob ich das fachlich/technisch korrekt beschrieben habe).
An folgenden Tutorials habe ich mich orientiert: HLS Streaming Server with NGINX (from Nerd on the Street) + Peer5 Tutorial
Der nächste Schritt ist jetzt natürlich, meinen Mitgliedern den Stream zur Verfügung zu stellen.
Bisher habe ich über NGROK eine Tunnel-Verbindung zum Port 8080 von meinem Raspberry Pi erzeugt. (Ist das korrekt so?)
Das ist sehr praktisch, da NGROK sowohl eine HTTP-, als auch eine HTTPS-Adresse zum Pi bereitstellt.
In einer einfachen React-Anwendung habe ich dann Video.js integriert und als Source die Ngrok-Https-Adresse verwendet. Die React-Anwendung läuft auf einem webgo-Server.
Durch einen Passwortschutz verhindere ich den Zugriff durch Unbefugte.
Der Stream funktioniert auf diese Art und Weiße bisher einwandfrei.
Für dieses Setup muss jedoch mein Raspberry Pi 24/7 durchlaufen, damit sich die Ngrok-Verbindungsadresse nicht ändert.
(Das stört mich.)
Jetzt meine Fragen:
(Fehler: The media could not be loaded, either because the server or network failed or because the format is not supported.)
Gebe ich die Source-URL hingegegen direkt ein, die zu der Stream-Datei führt, funktioniert der Stream (beispielsweise über VLC)... 🤔
Grundsätzlich weiß ich aber auch nicht, ob es so eine gute Idee ist, den Stream direkt über die FritzBox freizugeben, zumal hier auch "nur" HTTP verwendet wird...
Ich freue mich über jede konstruktive Kritik und jeden Verbesserungsvorschlag :-)
Vielen Dank schonmal im Voraus.
Beste Grüße
Michael
PS: Sorry falls ich den Thread im falschen Bereich eröffnet habe.
ich betreibe ein Kampfsport-Center und gebe aktuell alle meine Kurse online über Zoom.
Alle Teilnehmer sind dabei auf stumm geschaltet und ich bin der einzige der Ton und Video laufen hat.
Eigentlich wie bei einem Stream.
Deshalb bin ich nun auf die Idee gekommen, das ganze auch als Stream laufen zu lassen.
Das Bild hier veranschaulicht in etwa mein aktuelles Setup:
An meinen Laptop ist eine Webcam angeschlossen.
Über OBS Studio gebe ich das Video via virtueller Webcam an Zoom weiter, und schicke gleichzeitig (lokal) einen Stream an mein Raspberry Pi.
Auf dem Raspberry Pi ist ein Nginx HLS Streaming Server konfiguriert, der über Port 1935 den Stream meines Laptops empfängt, und an Port 8080 als HLS Stream zur Verfügung stellt (Hier bin ich mir nicht so ganz sicher, ob ich das fachlich/technisch korrekt beschrieben habe).
An folgenden Tutorials habe ich mich orientiert: HLS Streaming Server with NGINX (from Nerd on the Street) + Peer5 Tutorial
Der nächste Schritt ist jetzt natürlich, meinen Mitgliedern den Stream zur Verfügung zu stellen.
Bisher habe ich über NGROK eine Tunnel-Verbindung zum Port 8080 von meinem Raspberry Pi erzeugt. (Ist das korrekt so?)
Das ist sehr praktisch, da NGROK sowohl eine HTTP-, als auch eine HTTPS-Adresse zum Pi bereitstellt.
In einer einfachen React-Anwendung habe ich dann Video.js integriert und als Source die Ngrok-Https-Adresse verwendet. Die React-Anwendung läuft auf einem webgo-Server.
Durch einen Passwortschutz verhindere ich den Zugriff durch Unbefugte.
Der Stream funktioniert auf diese Art und Weiße bisher einwandfrei.
Für dieses Setup muss jedoch mein Raspberry Pi 24/7 durchlaufen, damit sich die Ngrok-Verbindungsadresse nicht ändert.
(Das stört mich.)
Jetzt meine Fragen:
- Was haltet Ihr von dem Lösungsansatz? Habt ihr Verbesserungsvorschläge / Alternativen?
- Da ich natürlich die Free-Version von NGROK verwende, muss ich jedes mal, wenn ich den Raspberry Pi Neu starte und eine neue Verbindung über Ngrok öffne, den Https-Link in der React-Anwendung aktualisieren die Anwendung builden und anschließend die neue Version über FTP (webgo) hochladen. Gibt es hier eine einfachere Option? Als Alternative habe ich bereits Localtunnel ausprobiert. Da jeder neue Zugriff auf den Verbindungslink aber vorher bestätigt werden muss, funktioniert der Stream nicht. (Fehler: The media could not be loaded, either because the server or network failed or because the format is not supported.)
(Fehler: The media could not be loaded, either because the server or network failed or because the format is not supported.)
Gebe ich die Source-URL hingegegen direkt ein, die zu der Stream-Datei führt, funktioniert der Stream (beispielsweise über VLC)... 🤔
Grundsätzlich weiß ich aber auch nicht, ob es so eine gute Idee ist, den Stream direkt über die FritzBox freizugeben, zumal hier auch "nur" HTTP verwendet wird...
Ich freue mich über jede konstruktive Kritik und jeden Verbesserungsvorschlag :-)
Vielen Dank schonmal im Voraus.
Beste Grüße
Michael
PS: Sorry falls ich den Thread im falschen Bereich eröffnet habe.