NEWS
Belasten Kamerabilder den Host?
-
Ich habe insgesamt 4 Kameras (Reolink). Ich lasse mir immer eine davon auf meinem VIS-Mainview anzeigen. Mangels anderer Möglichkeiten geschieht dies über ein Widget (basic - image) und einem JPEG-Snapshot der Kamera per HTTP, das alle 2 Sekunden aktualisiert wird.
So weit - so gut. Ich bin damit zufrieden.
Nun habe ich mir einen View gebastelt, der nur Kameras zeigt. Dazu gibt es dort zuerst einmal eine Umschaltmöglichkeit zwischen einer Kamera im Vollbild oder 4 Kameras im Quad-Bild. Dazu noch mal 4 Miniaturbilder der Kameras, um bei Vollbildanzeige die Kamera auszuwählen. Summa Summarum sind also bis zu 9 Kamerabilder (respektive im Sekundentakt aktualisierte Snapshots) zu verarbeiten.
Bei dieser Konfiguration kommt die gesamte Kameraanzeige aus dem Tritt. Bilder werden minutenlang gar nicht angezeigt, nur in großem Abstand aktualisiert etc.Die Frage ist nun: wo ist der Engpass?
- In den Kameras? Eher nicht, parallel kann ich per App auf flüssige HD-Streams zugreifen.
- In der Anzeige-App (Fully-Kiosk-Browser am Tablet oder Chrome am PC)? Kann ich mir auch nicht vorstellen, am PC werkelt ein i5 mit 3,6
MHzGHz. - Im Host? Muss der die HTTP-Snapshots auch ver-/bearbeiten, obwohl der View gerade nicht angezeigt wird?
-
Ich habe insgesamt 4 Kameras (Reolink). Ich lasse mir immer eine davon auf meinem VIS-Mainview anzeigen. Mangels anderer Möglichkeiten geschieht dies über ein Widget (basic - image) und einem JPEG-Snapshot der Kamera per HTTP, das alle 2 Sekunden aktualisiert wird.
So weit - so gut. Ich bin damit zufrieden.
Nun habe ich mir einen View gebastelt, der nur Kameras zeigt. Dazu gibt es dort zuerst einmal eine Umschaltmöglichkeit zwischen einer Kamera im Vollbild oder 4 Kameras im Quad-Bild. Dazu noch mal 4 Miniaturbilder der Kameras, um bei Vollbildanzeige die Kamera auszuwählen. Summa Summarum sind also bis zu 9 Kamerabilder (respektive im Sekundentakt aktualisierte Snapshots) zu verarbeiten.
Bei dieser Konfiguration kommt die gesamte Kameraanzeige aus dem Tritt. Bilder werden minutenlang gar nicht angezeigt, nur in großem Abstand aktualisiert etc.Die Frage ist nun: wo ist der Engpass?
- In den Kameras? Eher nicht, parallel kann ich per App auf flüssige HD-Streams zugreifen.
- In der Anzeige-App (Fully-Kiosk-Browser am Tablet oder Chrome am PC)? Kann ich mir auch nicht vorstellen, am PC werkelt ein i5 mit 3,6
MHzGHz. - Im Host? Muss der die HTTP-Snapshots auch ver-/bearbeiten, obwohl der View gerade nicht angezeigt wird?
@hmanfred
Ich hatte eine Reolink PoE Kamera vor einigen Wochen bestellt und hier mit einigen Leuten aus dem Forum versucht adäquat einzurichten.Stream der Kamera brach permanent ab (JPEG-Stream, RTSP-Stream), starke Verzögerungen im Stream. Kamera war teilweise gar nicht mehr erreichbar. Es half dann nur ein Ziehen des Steckers.
Ich hatte nur eine Kamera da und hab nen Pi genutzt. Der sollte damit eigentlich klarkommen. Es lief im Übrigen nur ein Stream in guter Qualität, wenn die App genutzt wurde. Mein PC konnte auch keinen flüssigen Stream darstellen. Habe auch 2 Wochen mit dem Reolink-Support geschrieben. Die konnten mir auch nicht weiterhelfen.Ich glaube die Probleme liegen in der Kamera. Habe das Gefühl, dass die Leute zwingen wollen die App zu nutzen bzw. möglichst die China-Cloud. Anders kann ich mir halt nicht erklären, warum die Kamera immer über die App funktionierte (auch wenn der Stream vom PC nicht abrufbar war).
-
@hmanfred
Ich hatte eine Reolink PoE Kamera vor einigen Wochen bestellt und hier mit einigen Leuten aus dem Forum versucht adäquat einzurichten.Stream der Kamera brach permanent ab (JPEG-Stream, RTSP-Stream), starke Verzögerungen im Stream. Kamera war teilweise gar nicht mehr erreichbar. Es half dann nur ein Ziehen des Steckers.
Ich hatte nur eine Kamera da und hab nen Pi genutzt. Der sollte damit eigentlich klarkommen. Es lief im Übrigen nur ein Stream in guter Qualität, wenn die App genutzt wurde. Mein PC konnte auch keinen flüssigen Stream darstellen. Habe auch 2 Wochen mit dem Reolink-Support geschrieben. Die konnten mir auch nicht weiterhelfen.Ich glaube die Probleme liegen in der Kamera. Habe das Gefühl, dass die Leute zwingen wollen die App zu nutzen bzw. möglichst die China-Cloud. Anders kann ich mir halt nicht erklären, warum die Kamera immer über die App funktionierte (auch wenn der Stream vom PC nicht abrufbar war).
@smarthome2020
Ich kann die von dir geschilderten Probleme nicht bestätigen. Im Browser (direkt, nicht VIS!) kann ich alle Kameras in voller Qualität und ohne nennenswerte Verzögerung anschauen.
Und auch der JPEG Stream nur einer Kamera wird in VIS sauber angezeigt.BTW: hattest du den RTSP-Stream in VIS angezeigt? Falls ja - wie?
-
@smarthome2020
Ich kann die von dir geschilderten Probleme nicht bestätigen. Im Browser (direkt, nicht VIS!) kann ich alle Kameras in voller Qualität und ohne nennenswerte Verzögerung anschauen.
Und auch der JPEG Stream nur einer Kamera wird in VIS sauber angezeigt.BTW: hattest du den RTSP-Stream in VIS angezeigt? Falls ja - wie?
@hmanfred
Nein, den RTSP Stream kann man sich nicht anschauen in der VIS. Hab auch keine VIS dafür angelegt, weil die Kamera so instabil lief.
Welche Kamera hast du denn? Hatte die RLC 410 5 MP. Was für Hardware nutzt du? Raspberry? -
@hmanfred
Nein, den RTSP Stream kann man sich nicht anschauen in der VIS. Hab auch keine VIS dafür angelegt, weil die Kamera so instabil lief.
Welche Kamera hast du denn? Hatte die RLC 410 5 MP. Was für Hardware nutzt du? Raspberry?@smarthome2020
Ich habe drei RLC420 und eine RLC411.Eine der RLC420 ist über einen WLAN-Router angebunden - die hat gelegentliche Hänger. Da das beiden anderen aber nicht der Fall ist, bis ich sicher, dass das am WLAN liegt.
Meine Hardware ist ein NUC6CAYH. ioBroker läuft dort in einer WIN10 VM unter Proxmox. Wobei ich inzwischen (auch aus anderen Gründen) sagen muss, dass das Windows-Abenteuer wohl bald zu Ende geht und wieder Debian zum Einsatz kommt.
Meine Kernfrage(n) ist (sind) aber immer noch nicht beantwortet:
- Werden die Streams vom Host oder vom Client geholt?
- Werden auch Streams geholt, deren View gerade nicht aktiv ist?
-
Ich habe insgesamt 4 Kameras (Reolink). Ich lasse mir immer eine davon auf meinem VIS-Mainview anzeigen. Mangels anderer Möglichkeiten geschieht dies über ein Widget (basic - image) und einem JPEG-Snapshot der Kamera per HTTP, das alle 2 Sekunden aktualisiert wird.
So weit - so gut. Ich bin damit zufrieden.
Nun habe ich mir einen View gebastelt, der nur Kameras zeigt. Dazu gibt es dort zuerst einmal eine Umschaltmöglichkeit zwischen einer Kamera im Vollbild oder 4 Kameras im Quad-Bild. Dazu noch mal 4 Miniaturbilder der Kameras, um bei Vollbildanzeige die Kamera auszuwählen. Summa Summarum sind also bis zu 9 Kamerabilder (respektive im Sekundentakt aktualisierte Snapshots) zu verarbeiten.
Bei dieser Konfiguration kommt die gesamte Kameraanzeige aus dem Tritt. Bilder werden minutenlang gar nicht angezeigt, nur in großem Abstand aktualisiert etc.Die Frage ist nun: wo ist der Engpass?
- In den Kameras? Eher nicht, parallel kann ich per App auf flüssige HD-Streams zugreifen.
- In der Anzeige-App (Fully-Kiosk-Browser am Tablet oder Chrome am PC)? Kann ich mir auch nicht vorstellen, am PC werkelt ein i5 mit 3,6
MHzGHz. - Im Host? Muss der die HTTP-Snapshots auch ver-/bearbeiten, obwohl der View gerade nicht angezeigt wird?
was meinst du mit host?
bei deinem szenario hast du verschiedene geäte im spiel:Kamera 1-x (Server)
iobroker (Server)
Client (Browser oder Fully-Kiosk auf Android, wobei das mehr oder weniger auch wieder chrome als Browser ist.)
Den iobroker kann man glaube ich raus nehmen, da dieser höchstens in einem Datenpunkt den Link liefert.
In der Kamera wird das Bild aus Pixeln so konvertiert, das es in einem Stream über das Netz übertragen werden kann. Hier kommt drauf an welches Protokoll (http, rtmp, rtsp) zur Anwendung kommt und welches Kodierungsformat. Leider schreibt die HTML-Spezifikation kein explizites Format vor, so das es den Browserherstellern frei ist, welches sie einbauen. Dummerweise hängen an den effizienten Kodierungsformaten (Theora/WebM/H264) meist Lizenzen, wenn die etwas Kosten, dann wirst du diese meist nicht in einem kostenfreien Produkt finden.
Aufgrund der vielen Daten, die beim Kodieren/Entkodieren verarbeitet werden müssen ((Pixel Breite * Pixel Höhe) * Farbbereich * Frames pro Sekunde (Farbbereich meist 8-12 bits) gibt es einige Anforderungen an den Prozessor.
Wenn der Prozessor Spezialfdunktionen für das kodieren/entkodieren für bestimmte Formate hat, dann geschieht das sehr effizient. Ansonsten muss das per Software nachgebildet werden und das ist weniger effizient sprich Prozessor ist höher ausgelastet.
Wenn du zum einen schaust, was kann dein Kameraserver für Formate und was kann dein Client/Browser für Formate bzw. der Prozessor deines Clients, kannst du schon einiges optimieren. Bei 4 Streams könnte natürlich auch schon die Gesamtdatenmenge für die Netzanbindung schwierig werden (bspw 4x HD, wird dann eh wieder verkleinert, was wieder zusätzlich Rechenleistung schluckt)
Wenn Hard und Software alles hergibt und es immer noch ruckelt, dann könnte man noch, sofern das die Konfigurationssoftware hergibt an folgenden Parametern schrauben:- Frames pro Sekunde
- Häufigkeit der Keyframes (ganze Bilder werden in größeren Abständen eingeflochten, bei Störungen dauert es länger bis das 'Bild wieder komplett hergestellt ist.
- Kompressionsrate (größere Klötzchenbildung)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden