Wie es funktioniert
camera.ui ist server-zentral: Ein einzelner Server, der auf deiner Hardware läuft, erledigt die gesamte Arbeit. Er verbindet sich mit deinen Kameras, streamt und nimmt Video auf, führt die Erkennung aus und liefert die Oberfläche aus. Der Browser und die Mobile-Apps sind Viewer dieses Servers. Die Desktop-App kann ebenfalls Viewer sein oder selbst den Server betreiben.
Ein in sich geschlossener Server
Der camera.ui-Server bringt alles mit, was er zum Laufen braucht: die Weboberfläche, eine eingebaute Streaming-Engine (unser eigener go2rtc-Build) für Live-Video und eine eigene Video-Verarbeitung zum Dekodieren und Aufnehmen. Deine Einstellungen, Kameras, Benutzer und Ereignisse liegen in einer kleinen lokalen Datenbank auf derselben Maschine.
Nichts verlässt dein Netzwerk, solange du nicht den Remote-Zugriff aktivierst. Es gibt keine externe Datenbank, und für den Betrieb eines Servers ist kein Cloud-Account nötig.
Das große Ganze
Von der Kamera zur Benachrichtigung
Das passiert hinter einer einzelnen Erkennung:
- Streaming. Die Streaming-Engine verbindet sich mit jeder Kamera und wandelt deren Feed in browserfreundliches Live-Video um (WebRTC und MSE). Streams werden „warm" gehalten, damit Live-Ansicht und Snapshots sofort laden.
- Analyse pro Kamera. Jede Kamera bekommt ihren eigenen Frame-Worker, einen dedizierten Hintergrundprozess, der das Video dekodiert und die Erkennung ausführt. Da jede Kamera für sich läuft, beeinträchtigt ein Problem bei einer niemals die anderen.
- Gestufte Erkennung. Zuerst läuft die günstige Bewegungserkennung. Erst wenn sie Bewegung sieht, weckt sie die schwerere KI: Objekterkennung, dann Gesichter, Kennzeichen, Klassifizierung und semantische (CLIP-)Analyse. Audio wird parallel analysiert. Diese „Kaskade" hält CPU- und GPU-Last niedrig.[1]
- Ereignisse & Aufnahme. Wenn die Erkennung auslöst, baut der Server ein Ereignis mit Segmenten, Thumbnails und den gefundenen Objekten, Gesichtern oder Kennzeichen. Das NVR-Plugin nimmt das Material auf, speichert es und liefert es für die Wiedergabe zurück.[2]
- Benachrichtigungen. Ereignisse können Push-Benachrichtigungen auslösen und Automationen ausführen.[2:1]
Plugins machen es erweiterbar
Vieles von dem, was camera.ui kann, wird über Plugins geliefert, Erweiterungen, die du aus einem In-App-Store installierst. Jedes Plugin läuft in seinem eigenen isolierten Prozess, sodass ein fehlerhaftes Plugin den Server nicht lahmlegen kann, und es startet automatisch neu, falls es abstürzt.
Plugins liefern:
- Kamera-Quellen. ONVIF und weitere Kamera-Protokolle.
- Detektoren. Bewegungs-Engines und die KI-Backends (CoreML, ONNX, OpenVINO, NCNN, Coral, Hailo).
- Aufnahme & Benachrichtigungen. Das NVR-Plugin nimmt dein Material auf und sendet Push-Benachrichtigungen.
- Smart-Home-Bridges. Apple HomeKit.
Mehr dazu unter Plugins.
Apps: Desktop, Mobile, Web
Du nutzt camera.ui überall über dieselbe Oberfläche, aber die Apps spielen nicht alle dieselbe Rolle:
- Die Desktop-App kann der Server selbst sein (sie betreibt camera.ui auf deiner Maschine, das einfachste All-in-One-Setup), ein Viewer, der sich mit einem anderen Server verbindet, oder ein Worker, der einen anderen Server beim Dekodieren, bei der Erkennung oder mit einem Plugin unterstützt. Du wählst das beim ersten Start und kannst jederzeit wechseln. Zur Einrichtung als Worker siehe Über mehrere Maschinen skalieren.
- Die Mobile-Apps und der Browser sind immer Viewer.
Wie Viewer den Server erreichen:
- In deinem Netzwerk verbinden sich Browser und ein Desktop-Viewer direkt.
- Die Mobile-Apps verbinden sich zu Hause direkt über dein lokales Netzwerk und unterwegs über camera.ui Cloud.[3]
- Ein Browser außerhalb von zuhause nutzt die Remote-Zugriff-Option, die du eingerichtet hast: camera.ui Cloud, einen Cloudflare-Tunnel oder deine eigene Domain.
Du kannst außerdem mehr als einen Server als Instanz speichern und in derselben App zwischen ihnen wechseln.
Über mehrere Maschinen skalieren
Für größere Setups kannst du zusätzliche Maschinen als Worker hinzufügen. Ein Worker übernimmt das Dekodieren und die Erkennung für einige Kameras und entlastet so den Hauptserver, oder er führt stattdessen ein ganzes Plugin aus (nützlich für einen Detektor, der spezielle Hardware braucht, die dem Hauptserver fehlt). Kameras und Plugins, die einem Worker zugewiesen sind, fallen automatisch auf den Hauptserver zurück, falls dieser Worker offline geht, und wandern zurück zum Worker, sobald er sich wieder verbindet. Siehe Worker.
Von außen erreichen
In deinem lokalen Netzwerk verbindest du dich direkt. Um deinen Server von überall zu erreichen, bietet camera.ui mehrere Optionen: camera.ui Cloud, Cloudflare-Tunnel, eine eigene Domain oder direktes Port-Forwarding. Alle sind optional und ganz deine Entscheidung. Siehe Remote-Zugriff.
Erkennung benötigt ein Detection-Plugin, das zu deiner Hardware passt (CoreML, ONNX, OpenVINO, NCNN oder einen Edge-Beschleuniger wie Coral oder Hailo). Siehe Erkennung & KI. ↩︎
Ein aktives camera.ui-Abo deckt Aufnahmen (NVR) und die darauf aufbauenden Funktionen ab, etwa Wiedergabe, Export, Gesichtserkennung, semantische Suche und KI-Beschreibungen, dazu Push-Benachrichtigungen. Live-Ansicht und Echtzeit-Erkennung sind kostenlos. ↩︎ ↩︎
camera.ui Cloud ist optional. In deinem eigenen Netzwerk bleibt alles lokal, und dein Server muss sich nie mit der Cloud verbinden. Siehe Von außen erreichen. ↩︎