Gladys Assistant 4.23: Live-Streaming von Kameras & Berechnungen in Szenen

Ich habe es auf meiner Seite versucht und es funktioniert mit oder ohne Angabe des Ports

Hmm, tatsächlich, ich hatte den Fall nicht bedacht, in dem die Konfiguration bereits manuell überschrieben wurde. Mein Fehler.

Hallo zusammen!

Feiertag in Frankreich, der ideale Moment, um zu Hause etwas Smart Home zu machen :sunglasses:

Am Ende, wer konnte die Live-Cam-Streaming-Funktion in der letzten Woche nutzen?

Ich bin offen für Feedback zu eurer tatsächlichen Nutzung dieser Funktion, um zu sehen, ob die verschiedenen Entscheidungen, die ich getroffen habe, Sinn ergeben und ob ihr die Funktion praktisch findet!

@guim31 @Mastho @lmilcent @spenceur wie sieht es nach einer Woche in der Praxis aus? :slight_smile:

Ich konnte es schon mehrmals nutzen, für mich ist es perfekt.
Falls ich etwas Negatives anmerken müsste, aber ich denke, das ist unlösbar: Ich würde gerne klicken und den echten Live-Stream sehen, nicht mit 15 Sekunden Verzögerung.

Es ist nur so, dass ich Gladys oft nutze, um mein Tor zu öffnen, wenn ich mit dem Auto ankomme und sehen zu können, ob das Tor sich auch wirklich öffnet.
Dabei habe ich normalerweise entweder genug Vorlauf und es funktioniert, oder ich sehe das Bild vom sich öffnenden Tor, während ich schon geparkt habe :sweat_smile:

Danke für das Feedback! Wenn du Verzögerung sagst, meinst du die Zeit, bis der Live-Stream beginnt, oder die Differenz zwischen der Realität und dem, was man im Live-Stream sieht?

15 Sekunden erscheinen mir übertrieben, da können wir definitiv optimieren :wink:

Ich spreche vom Unterschied zwischen der Realität und dem Bild. Außerdem ist es einfach, mein Dashboard enthält den Zeitblock und weiter unten den Stream, auf dem ich den Zeitstempel habe, also sehe ich die Verzögerung in Echtzeit :blush:

@guim31 Eigentlich ist Live-Streaming ein Balanceakt zwischen einer „extremen“ Konfiguration, die quasi synchron mit dem Live-Stream ist, oder einer „sicheren“ Konfiguration, die aber weniger live ist.

Zum Beispiel, wenn ich eine Konfiguration wie „Ich möchte eine Verzögerung von 2 Sekunden haben“ einstelle, besteht das Risiko von häufigen Blockierungen bei der geringsten Störung in der gesamten Kette (sei es CPU oder Netzwerk).

Mit Blockierung meine ich Folgendes:

Das heißt, dass die Daten im Player aufgebraucht sind und das nächste Segment noch nicht da ist.

Bisher habe ich eine eher sichere Konfiguration für den Player eingestellt, ich war nicht sehr extrem.

Ich habe gesehen, dass die Videoplayer-Bibliothek, die ich für diese Entwicklung verwende, kürzlich mit neuen Möglichkeiten für den „Low-Latency-Streaming“-Teil aktualisiert wurde. Ich spiele seit heute Morgen damit herum und denke, ich werde dir eine modifizierte Gladys Plus-URL vorschlagen, um verschiedene Konfigurationen zu testen!

@guim31 (und alle anderen auch!), ich würde mich über dein Feedback zu dieser URL von Gladys Plus freuen:

https://hls-low-latency.gladys-plus.pages.dev/

Konkrete Änderungen durch diesen Pull Request:

  • Das Video beginnt bereits nach 2 Segmenten (statt 3 Segmenten wie bisher)
  • Wenn der Live-Stream mehr als 3 Segmente im Rückstand ist, erhöht sich die Wiedergabegeschwindigkeit auf bis zu x1.5, um den Rückstand aufzuholen.

Außerdem interessiert mich, wenn du den Test von einem Computer aus auf Gladys Plus durchführst, die Latenz, die du mit dem Gladys Plus-Server bei den Videodateien hast.

Du kannst das tun, indem du den Inspector öffnest, den Tab « Network », « Fetch/XHR » auswählst und dann den Stream startest:

Ich brauche die Größe und die Antwortzeit der Dateien index.m3u8/indexXX.ts zu sehen

( Aus Asien habe ich aufgrund des in Europa befindlichen Servers viel Latenz, aber für euch sollte es weniger sein! )

Edit: Zögere nicht, auch die verschiedenen « Latenz »-Einstellungen zu testen :slight_smile: Ich freue mich über dein Feedback zum Unterschied zwischen « Sehr niedrig » und « Niedrig » zum Beispiel!

Der Pull Request ist hier: Configure HLS streaming for low-latency by Pierre-Gilles · Pull Request #1794 · GladysAssistant/Gladys · GitHub

Hallo,

Auf meiner Seite gibt es eine Verzögerung von etwa 7 Sekunden (Kameratimestamp vs. Gladys-Uhr). Das ist sehr gut.

Für die Statistiken hier bei niedriger Latenz:

Und bei sehr niedriger Latenz:

Ah, aber funktioniert es bei dir am Ende? :smiley: Cool! Ich war noch bei dem Moment hängen geblieben, als es nicht funktioniert hat!

7 Sekunden sind nicht schlecht :slight_smile: Ich bin sicher, dass wir das noch ein bisschen reduzieren können!

Ich habe noch andere gute Nachrichten, ich habe eine Weile an den Parametern herumgespielt und festgestellt, dass andere Dinge lokal auf der Seite von ffmpeg optimiert werden können

Ich führe meine Tests fort und werde meine Verbesserungen in diesem PR einbringen

Ich habe ein Docker-Image erstellt, das die lokalen Serververbesserungen hinzufügt:

gladysassistant/gladys:hls-low-latency

Falls jemand testen möchte :wink:

Die optimale ffmpeg-Konfiguration, auf die ich gestoßen bin, ist diese:

Bei Gladys Plus habe ich Möglichkeiten gefunden, die Latenz ebenfalls zu verbessern, die ich hoffentlich im Laufe der nächsten Woche online stellen werde :slight_smile:

Ich hätte total Lust, das alles auszuprobieren, aber ich bin gerade in New York! :joy:

Ah ja :joy: tatsächlich, ich mag die Zahlen lieber von dir aus!

Ich habe es gerade getestet. Ich habe die doppelte Latenz beim Start des Livestreams und im Live-Modus. Also 9 Sekunden im Durchschnitt für den Livestream statt etwa 20.

Ich habe gerade 10 Sekunden getestet, um den Livestream zu starten, und zwischen 9 und 10 Sekunden Verzögerung.

Super :slight_smile:

Ich habe auf meiner Seite einige Tests durchgeführt, und es ist wirklich besser. Ich habe Gladys Assistant v4.23.4 veröffentlicht, das diese Änderungen integriert, um die Latenz des Kameralivestreams zu verbessern.

Ich habe auch Verbesserungen auf der Gladys Plus-Serverseite veröffentlicht, die alles verbessern sollten.

Sobald deine Instanz aktualisiert ist, nehme ich Screenshots der Registerkarte « Network » in Gladys Plus während eines Livestreams entgegen:

10 Sekunden, um den Livestream zu starten, erscheint mir übertrieben! Kannst du es noch einmal mit Gladys Assistant v4.23.4, bei « Niedriger » und « Sehr niedriger » Latenz versuchen? Bist du zu Hause an Glasfaser angeschlossen? Empfängt deine Kamera das Netzwerk gut?

Ich hatte eine niedrige Latenz.
Ich habe Glasfaser, aber ich kann nicht sehen, ob sie das WLAN gut empfängt. Ich habe eine Ziegelmauer mit einem Fenster zwischen der Nox und der Kamera.
Bei sehr niedriger Latenz habe ich 7-8 Sekunden, um das Live-Bild anzuzeigen, und 6-7 Sekunden Verzögerung.

Okay, in Gladys Assistant v4.23.4? (Ich habe das Update vor 1 Stunde veröffentlicht, also wenn du nichts manuell gemacht hast, ist es unwahrscheinlich, dass du diese Version hast)

Nein, ich bin immer noch auf 4.23.3.