PotoP VMS Studio

Professionelles Videomanagementsystem

Ein System für Live-Video, Aufzeichnung, KI-Erkennung, Gebäudepläne und Videowände in der Leitstelle – mit eigener Zertifizierungsstelle, Failover auf einen Standby-Server sowie Desktop-, Web- und Android-Client.

Hergestellt in der EU Läuft auf Ihren eigenen Servern

Erkennungen direkt in der Aufzeichnung

Videowände

Multi-Monitor-Layouts, identifizierte Bildschirme und Projektion mit einem Klick von jedem Client aus.

Wiedergabe, die Dinge findet

Ereignis-Zeitleiste, Erkennungen in Aufzeichnungen, TimeFold-Zusammenfassung und verschlüsselter Export mit Wasserzeichen.

KI auf Ihrer eigenen Hardware

Objekt-, Posen-, Segmentierungs-, Kennzeichen- und Gesichtsanalyse mit kameraübergreifender Suche – ohne Cloud.

Live-Gebäudepläne

Kameras, Türen, Leuchten und Sprechstellen auf Ihren Plänen – mit Live-Zustand und Sichtkegeln.

Failover & RAID

Ein Standby-Server übernimmt automatisch; RAID-Zustand und Kapazität sind immer im Blick.

Standardmäßig sicher

Eigene Zertifizierungsstelle, HTTPS zu den Kameras, fein abgestufte Berechtigungen, 2FA und ein lückenloses Prüfprotokoll.

Gebaut für anspruchsvollen Videobetrieb

PotoP VMS Studio betreibt Ihre Kameras von einem Server aus und zeigt sie überall dort, wo Sie sie brauchen: in einer Leitstelle mit mehreren Monitoren, im Browser oder auf dem Telefon. Aufzeichnung, Wiedergabe, KI-Analyse und Alarmbearbeitung leben im selben System – ein Ereignis an einer Kamera wird so zu einem markierten Moment auf der Zeitleiste, zu einer Benachrichtigung und, wenn Sie möchten, zu einem Makro, das darauf reagiert.

Es ist für Errichter und Bediener gemacht, die sich auch um drei Uhr nachts darauf verlassen müssen: Ein Standby-Server übernimmt, wenn der primäre ausfällt, der Speicherzustand ist immer im Blick, jede Aktion wird protokolliert, und jede Verbindung ist mit Zertifikaten verschlüsselt, die das System selbst ausstellt.

Noch besser mit der PotoP Enterprise Suite

PotoP VMS Studio ist für sich allein vollständig. Errichter und Serviceunternehmen, die zusätzlich die PotoP Enterprise Suite einsetzen, erledigen ihre Engineering- und Servicearbeit schneller.

PotoP Enterprise Suite

Störungen gehen direkt an den Service

Ein Bediener meldet einen Ausfall im VMS; daraus wird in PES ein Serviceeinsatz mit SLA-Uhr, und der Bediener sieht, wann ein Techniker unterwegs ist.

Programmiert aus dem Entwurf

Kameras, Aufzeichnung, KI-Analyse, Zeitpläne und Arbeitsplatz-Layouts, die in PES gezeichnet wurden, werden in einem Schritt auf den Server übertragen.

Dokumentation, die stimmt

Das installierte System lässt sich in PES zurücklesen – so stimmen Zeichnungen, Pakete und Zertifikate mit der Realität überein.

Feature-Tour

Jeder Bildschirm unten ist ein echter Screenshot. Suchen Sie nach einer Funktion oder wählen Sie ein Kapitel; klicken Sie auf ein Bild, um es in voller Größe zu sehen, und blättern Sie mit den Pfeiltasten.

01

Monitore & Videowände 5 Bildschirme

Beliebige Kameras auf beliebig vielen Bildschirmen – und ein Layout mit einem Klick an eine Videowand senden.

Videowände mit mehreren Layouts
Highlight Desktop-Client

Videowände mit mehreren Layouts

Ein Multi-Layout legt in einem einzigen Rezept für jeden Monitor einer Leitstelle ein Kameralayout fest. Monitore, die am Client nicht vorhanden sind, werden einfach übersprungen – dieselbe Wand funktioniert so am Arbeitsplatz mit zwei Bildschirmen ebenso wie im großen Kontrollraum.

So funktioniert es

Ein Multi-Layout ist ein auf dem Server gespeichertes Rezept: Für jeden Monitorcode legt es fest, welches Kameralayout angezeigt wird. Beim Start prüft der Client, welche dieser Codes auf dem Rechner vorhanden sind, öffnet auf jedem davon ein Vollbildfenster und lädt das passende Layout mit seinen Livestreams. Nicht vorhandene Codes werden übersprungen, sodass dasselbe Rezept am Zwei-Bildschirm-Arbeitsplatz wie im größeren Kontrollraum läuft. Layouts behalten ihre Kamerazuordnungen, und das Rezept lässt sich Benutzern oder Gruppen zuweisen, damit es sich bei der Anmeldung automatisch öffnet.

Jeder Bildschirm erkannt
Desktop-Client

Jeder Bildschirm erkannt

Der Reiter „Monitore“ listet jeden am Client angeschlossenen Bildschirm mit Anschluss, Auflösung, Bildwiederholrate und Grafikkarte. Jeder Monitor behält einen dauerhaften Code wie M1, sodass eine Videowand immer auf demselben physischen Bildschirm landet.

So funktioniert es

Der Client fragt das Betriebssystem nach seinen Bildschirmen und den Grafiktreiber nach Details. So zeigt jeder Monitor Hersteller, Modell, Seriennummer, Auflösung, Bildwiederholrate, Anschluss und die ansteuernde GPU – sowie Temperatur und VRAM, sofern der Treiber sie meldet. Jeder physische Bildschirm wird über seine Hardware-Identität zugeordnet, nicht über seine Position, und erhält einen dauerhaften Code wie M1. Umbenennungen und Codes werden auf diesem Client gespeichert und überstehen Neustarts und erneutes Anstecken. Ein abgesteckter Monitor bleibt in der Liste, bis Sie ihn löschen – eine gespeicherte Wand zeigt also weiterhin auf denselben Bildschirm.

Eine Videowand im Browser aufbauen
Web-Client

Eine Videowand im Browser aufbauen

Der Web-Client bietet denselben Wand-Editor unter den Admin-Einstellungen. Wählen Sie für jeden Monitorcode ein Layout, speichern Sie das Multi-Layout und projizieren Sie es auf die Bildschirme des Browsers, an dem Sie gerade sitzen.

So funktioniert es

Der Editor läuft im Browser und speichert das Multi-Layout auf dem Server, sodass dasselbe Rezept auch den Desktop-Clients zur Verfügung steht. Der Browser listet seine eigenen Bildschirme über die Window Management API, die eine sichere HTTPS-Verbindung und die Zustimmung des Benutzers voraussetzt. Jeder Eintrag zeigt einen Monitorcode; Codes, die es an diesem Browser nicht gibt, werden als nicht vorhanden angezeigt. Wird einem Code ein Layout zugewiesen, kommt es ins Rezept. Beim Projizieren öffnet sich pro passendem Bildschirm ein Browserfenster, das dort platziert wird und jeweils das Live-Layout zeigt.

Eine Videowand mit einem Klick projizieren
Web-Client

Eine Videowand mit einem Klick projizieren

Ein gespeichertes Multi-Layout zeigt seine Monitore und Layouts auf einen Blick, mit Schaltflächen zum Starten der Projektion, Bearbeiten oder Löschen. Wände lassen sich außerdem Benutzern und Gruppen zuweisen, damit sie sich automatisch öffnen.

So funktioniert es

Multi-Layouts werden auf dem Server als Liste von Monitorcodes mit dem jeweils zugehörigen Layout gespeichert. Diese Übersicht stellt jedes Rezept als kleines Bild seiner Bildschirme dar und zeigt, wie viele davon an Ihrem Browser vorhanden sind. „Projektion starten“ öffnet auf jedem passenden Bildschirm ein Fenster und startet dort die Live-Layouts. „Bearbeiten“ und „Löschen“ ändern das gespeicherte Rezept für alle Clients. Der Zugriff folgt denselben Benutzer- und Gruppenrechten wie im übrigen System, und eine Wand kann Benutzern oder Gruppen zugeordnet werden, damit sie sich für diese automatisch öffnet.

Jeden Bildschirm identifizieren
Web-Client

Jeden Bildschirm identifizieren

Im Web-Client blendet „Identifizieren“ Monitorcode und Namen bildschirmfüllend auf jedem Display ein, das der Browser sieht. So wissen Sie selbst in einem Raum voller identischer Bildschirme immer, welcher physische Monitor M2 ist. Der Desktop-Client bietet dieselbe Funktion im Reiter „Monitore“.

So funktioniert es

Über die Window Management API – sie erfordert HTTPS und eine einmalige Berechtigungsabfrage – erkennt der Browser, auf welchem physischen Bildschirm sich jedes Fenster befindet. „Identifizieren“ öffnet auf jedem erkannten Display ein randloses Fenster, zeichnet Monitorcode und Namen in großer Schrift und schließt es nach einigen Sekunden wieder. Der Code stammt aus einem in diesem Browser geführten Verzeichnis; Umbenennungen bleiben daher erhalten, und ein abgesteckter Monitor bleibt gelistet, bis Sie ihn löschen. Das Detailfenster meldet Auflösung, Position, Skalierung und Farbtiefe so, wie der Browser sie sieht.

02

Wiedergabe & Aufzeichnung 7 Bildschirme

Finden Sie den entscheidenden Moment: Ereignisse auf der Zeitleiste, KI-Rahmen im Video und Exporte, die beweisen, dass sie unverändert sind.

Wiedergabe mit Ereignis-Zeitleiste
Highlight Web-Client

Wiedergabe mit Ereignis-Zeitleiste

Wählen Sie eine Kamera und ein Datum, und die Zeitleiste zeigt die aufgezeichneten Zeiträume mit Bewegungs- und Erkennungsmarken. Das Ereignisfenster listet erkannte Autos, Personen und mehr mit Vorschaubildern auf – so springen Sie direkt zum Wesentlichen.

So funktioniert es

Aufzeichnungen werden auf dem Server als Segmente mit Zeitstempel gespeichert. Sobald Sie eine Kamera wählen, überträgt ein einziger WebSocket-Kanal die Liste der aufgezeichneten Zeiträume und den Strom der Erkennungsereignisse, sodass sich die Zeitleiste ohne Polling füllt. Die Ereignisse stammen aus der Analysedatenbank, in die die KI-Pipeline jede Bewegung, Person, jedes Fahrzeug und jedes Kennzeichen mit Vorschaubild geschrieben hat. Filter-Chips grenzen die Liste nach Typ ein. Der Server entschlüsselt Segmente bei Bedarf im Arbeitsspeicher und liefert das Video an den Browser. Ein Klick auf ein Ereignis setzt den Abspielkopf auf genau diesen Moment.

Erkennungen direkt in der Aufzeichnung
Web-Client

Erkennungen direkt in der Aufzeichnung

Das aufgezeichnete Video läuft mit markiertem Objekt ab, und die Seitenliste zeigt Klasse und Konfidenz jeder Erkennung. So finden Ermittler das gesuchte Fahrzeug oder die gesuchte Person, ohne stundenlang Material durchzuspulen.

So funktioniert es

Während die KI-Pipeline den Livestream auswertete, hat sie jede Erkennung mit Klasse, Konfidenz, Begrenzungsrahmen und Vorschaubild in der Analysedatenbank gespeichert. Die Wiedergabe liest diese Einträge für den gezeigten Moment und zeichnet den Rahmen im Browser über das Video – in die Aufzeichnung selbst wird nichts eingebrannt. Die Seitenliste speist sich aus denselben Einträgen und zeigt Klasse, Zeit und Konfidenz. Ein Klick auf einen Eintrag springt in der Aufzeichnung genau zu diesem Zeitpunkt. Der Tracker zählt außerdem, wie viele Sichtungen zu einem Objekt gehören – so lässt sich ein geparktes Auto von vielen vorbeifahrenden unterscheiden.

Ein Objekt am Abspielkopf identifizieren
Web-Client

Ein Objekt am Abspielkopf identifizieren

Halten Sie bei einem beliebigen Bild an und untersuchen Sie das Objekt unter dem Abspielkopf. Der Assistent beschreibt, was er sieht, und eine Schaltfläche durchsucht die Aufzeichnungen nach demselben Typ und derselben Farbe.

So funktioniert es

„Untersuchen“ nimmt das Bild unter dem Abspielkopf und schickt es an den Server, der den Detektor darauf anwendet und das Objekt samt Maske ausschneidet. Die Schaltfläche „Identifizieren“ übergibt diesen Ausschnitt an ein Vision-Language-Modell, das in den KI-Einstellungen konfiguriert ist – lokal oder über einen Anbieter Ihrer Wahl –, und zeigt dessen Beschreibung an. Die Farbe wird aus dem Ausschnitt selbst ermittelt. „Diesen Typ und diese Farbe suchen“ durchsucht dann die Analysedatenbank nach Erkennungen derselben Klasse und Farbe in allen Aufzeichnungen. Die Beschreibung ist die bestmögliche Einschätzung eines Modells – und es sagt das auch, wenn die Sicht schlecht ist.

TimeFold-Videozusammenfassung
Web-Client

TimeFold-Videozusammenfassung

TimeFold verdichtet stundenlange Aufzeichnungen zu einem kurzen Clip, indem bewegte Objekte über einen gemeinsamen Hintergrund gelegt werden. Wählen Sie Zeitraum, Objekttypen und Dichte und erzeugen Sie dann die Zusammenfassung.

So funktioniert es

Der Server geht die aufgezeichneten Segmente des gewählten Zeitraums durch, entschlüsselt sie im Arbeitsspeicher und tastet Bilder ab. Eine Hintergrundsubtraktion überspringt leere Bilder, sodass Objektdetektor und Tracker nur dort laufen, wo sich etwas bewegt. Jedes verfolgte Objekt wird zu einer Röhre aus ausgeschnittenen Bildern mit ihren ursprünglichen Zeitstempeln. Die Röhren werden neu angeordnet, sodass sie gleichzeitig über einem gemeinsamen Hintergrund ablaufen, und ffmpeg rendert das Ergebnis als MP4 mit der eingebrannten Originalzeit jedes Objekts. Der Job läuft im Hintergrund mit Fortschrittsanzeige und kann abgebrochen werden. Ein Klick auf ein Objekt setzt die Zeitleiste auf seinen ursprünglichen Moment.

Verschlüsselter Export mit Wasserzeichen
Web-Client

Verschlüsselter Export mit Wasserzeichen

Exportieren Sie einen Zeitraum als MP4 auf den Server oder Ihren eigenen Computer – optional AES-verschlüsselt und mit eingebranntem Zeitstempel, Kameranamen und Wasserzeichen. Der Empfänger benötigt das Passwort, sodass Beweismaterial geschützt bleibt.

So funktioniert es

Der Server schneidet den gewünschten Zeitraum mit ffmpeg aus den aufgezeichneten Segmenten und entschlüsselt verschlüsselte Aufzeichnungen auf Wunsch im Arbeitsspeicher. Zeitstempel, Kameraname und Wasserzeichen werden ins Bild eingebrannt. Ist die Verschlüsselung aktiviert, wird das MP4 mit AES-256 verschlüsselt – mit einem Schlüssel, der per PBKDF2 aus Ihrem Passwort abgeleitet wird –, und daneben wird eine Signaturdatei geschrieben. Das Passwort wird nie gespeichert, daher kann es auch niemand wiederherstellen. Je nach gewähltem Ziel bleibt das Ergebnis auf dem Server, wird auf Ihren Computer heruntergeladen oder beides.

Eigenständiger Player für Exporte
Eigenständiger Player

Eigenständiger Player für Exporte

Der PotoP Player öffnet verschlüsselte Exporte, prüft die Signatur und entschlüsselt sie mit dem Passwort. Anschließend können Sie einen Ausschnitt zuschneiden, ein Foto aufnehmen oder eine MP4-Kopie exportieren.

So funktioniert es

Der Player läuft auf jedem Computer, auch ohne PotoP-Server. Sie wählen das verschlüsselte Video und seine Signaturdatei und geben das Passwort ein. Zuerst prüft er die Signatur per HMAC, um nachzuweisen, dass die Datei unverändert ist, leitet dann mit PBKDF2 den Schlüssel aus dem Passwort ab und entschlüsselt mit AES-256. Das Klartextvideo existiert nur im Arbeitsspeicher, solange es läuft. Von dort aus können Sie die grünen Griffe ziehen, um einen Ausschnitt zuzuschneiden, ein Standbild speichern oder eine normale MP4-Kopie exportieren. Eine browserbasierte Variante liegt Exportordnern bei, mit Startern für Linux, Windows und macOS.

Aufzeichnungsregeln pro Kamera
Web-Client

Aufzeichnungsregeln pro Kamera

Legen Sie pro Kamera Dauer-, zeitgesteuerte oder ereignisgesteuerte Aufzeichnung fest, mit Optionen für Verschlüsselung, Speicherort und Vorhaltezeit. Makros und Benachrichtigungen können auf Aufzeichnungsereignisse reagieren.

So funktioniert es

Jede Kamera hat ihre eigenen, auf dem Server gespeicherten Aufzeichnungseinstellungen, und der Rekorder übernimmt sie, sobald Sie speichern. Auslöser können durchgehend sein, ein Wochenplan oder Ereignisse wie Bewegung, Person, Kennzeichen, ein Alarmeingang oder ein Makro – mit Vor- und Nachlaufpuffer, damit auch der Moment vor dem Auslöser erhalten bleibt. Segmente werden in einer festgelegten Länge geschnitten und können nach dem Abschluss mit AES-256 verschlüsselt werden. Die Vorhalteregel entfernt alte Segmente nach Alter oder maximaler Größe. Start-, Stopp- und Erkennungsereignisse können Benachrichtigungen über Systemereignisse, E-Mail, Telegram oder einen Webhook auslösen.

03

KI-Erkennung 7 Bildschirme

Die Erkennung läuft auf Ihrem eigenen Server und Ihrer GPU oder Ihrem KI-Beschleuniger. Bauen Sie die Pipeline pro Kamera auf: wonach gesucht wird, wo und wann ein Alarm ausgelöst werden soll.

Konfigurierbare KI-Pipeline
Highlight Web-Client

Konfigurierbare KI-Pipeline

Jede Kamera erhält ihre eigene KI-Pipeline. Ein primärer Detektor kann nachgelagerte Stufen für Gesichter, Kennzeichen und Posen speisen – Modell, Backend und Rechengerät lassen sich pro Stufe wählen.

So funktioniert es

Die KI läuft auf dem Server, nicht im Browser. Für jede Kamera startet der Server eine Pipeline, die den Stream dekodiert und einen primären Detektor auf das gesamte Bild anwendet. Die Kaskade schickt dann nur den erkannten Bereich an die nachgelagerten Modelle: Gesichter und Pose bei einer Person, Kennzeichen bei einem Fahrzeug. Jede Stufe hat ihr eigenes Modell, Backend und Rechengerät. Zu den Backends gehören ONNX Runtime, OpenVINO, TensorRT und ROCm, sodass NVIDIA, AMD, Intel und CPU gleichermaßen funktionieren. Stufen können auch auf einem anderen Server im Cluster laufen. Die Ergebnisse landen in der Analysedatenbank.

Kaskadenstufen und Tracking
Web-Client

Kaskadenstufen und Tracking

Erkennungsschwellen, Klassenfilter und Objekt-Tracking werden pro Kamera eingestellt. Stufen für Kennzeichen, Posenschätzung und Segmentierung laufen nur, wenn die vorherige Stufe das benötigte Objekt findet.

So funktioniert es

Der primäre Detektor läuft mit einer eingestellten Bildrate und eigener Konfidenz, Überlappungsschwelle, maximaler Anzahl Erkennungen und eigenem Klassenfilter. Ein Tracker – in dieser Ansicht ByteTrack – verbindet Erkennungen über mehrere Bilder hinweg zu stabilen Objekt-IDs, auf denen Zählung und Verweildauer beruhen. Nachgelagerte Stufen sind an Klassen gebunden: Die Kennzeichenerkennung startet nur, wenn ein Auto, Lkw, Bus oder Motorrad gefunden wird, Pose oder Segmentierung nur, wenn ihre Auslöseklasse erscheint. Das hält die Last gering, denn die rechenintensiveren Modelle sehen nur einen kleinen Ausschnitt statt des ganzen Bildes.

Posen- und Sturzerkennung
Web-Client

Posen- und Sturzerkennung

Skelett-Schlüsselpunkte werden ins Livebild gezeichnet, daneben eine Tabelle der Gelenkpositionen und ihrer Konfidenz. Eine Live-Tabelle protokolliert Personen und Sturzereignisse für die Kamera.

So funktioniert es

Ein Posenmodell läuft auf dem Personenausschnitt, den der primäre Detektor gefunden hat, und liefert Körper-Schlüsselpunkte mit jeweils eigener Konfidenz. Der Server speichert das Skelett, und der Browser zeichnet es über das Bild, mit der Gelenktabelle daneben. Die Sturzerkennung betrachtet, wie sich diese Schlüsselpunkte im Zeitverlauf bewegen und anordnen; eine Empfindlichkeitseinstellung passt ihre Schwellen an. Löst sie aus, wird das Ereignis gespeichert und kann einen Alarm auslösen oder ein Makro starten. Die Live-Tabelle darunter fragt die Datenbank ab – Sie sehen also genau die Einträge, die auch das Alarmsystem erreichen.

Instanzsegmentierung
Web-Client

Instanzsegmentierung

Objekte werden mit pixelgenauen Masken umrissen, und die Live-Tabelle verfolgt jedes Objekt mit seiner Verweildauer. Stehende oder zurückgelassene Objekte werden rot hervorgehoben.

So funktioniert es

Ein Segmentierungsmodell läuft auf den vom primären Detektor gefundenen Objekten und liefert für jedes eine Pixelmaske. Der Server schickt diese als Maskenbilder an den Browser, und die Vorschau legt sie über das Bild. Der Tracker behält eine Objekt-ID bei, sodass die Tabelle zeigen kann, wie lange jedes Objekt schon im Bild ist. Bleibt ein Objekt länger als die Stillstandsschwelle unbewegt, markiert die Lebenszykluslogik es als zurückgelassen, und die Zeile färbt sich rot. Lebenszyklusereignisse wie „erschienen“ oder „verlassen“ werden für die spätere Suche protokolliert.

Zonen und Linienüberschreitung
Web-Client

Zonen und Linienüberschreitung

Zeichnen Sie Bereiche und Linien direkt ins Kamerabild, um relevante Zonen festzulegen. Linienüberschreitungen und Zonenereignisse können dann Personen und Fahrzeuge zählen oder Alarme auslösen.

So funktioniert es

Sie zeichnen Polygone und Linien direkt in ein Livebild, und der Server speichert sie in den normierten Koordinaten der Kamera – so bleiben sie bei jeder Auflösung korrekt. Der Tracker verfolgt Objekt-IDs, und eine Überschreitung wird erkannt, wenn die Position eines verfolgten Objekts von einer Seite der Linie auf die andere wechselt; daraus ergibt sich die Richtung A nach B oder B nach A. Zonen lösen Eintritts- und Verweilereignisse aus. Jedes Ereignis landet mit Zeitstempel und Track-ID in der Analysedatenbank, wo Zähler, Berichte, Alarme und Makros es nutzen können.

Bewegungsmasken
Web-Client

Bewegungsmasken

Markieren Sie Bereiche, die ignoriert werden sollen, etwa Bäume oder eine stark befahrene Straße, damit die Bewegungserkennung nur auf das Wesentliche reagiert. Als Quelle dienen wahlweise die serverseitige Analyse oder die eigene Bewegungserkennung der Kamera.

So funktioniert es

Die Bewegungserkennung hat zwei Quellen. Die kameraeigene Erkennung kommt als ONVIF-Bewegungsereignis an, während die Serveranalyse Videobilder auf dem Server mit einem Hintergrundmodell vergleicht – per CPU oder GPU. Die Maske ist ein Raster aus Blöcken, die Sie ins Bild malen; als ignoriert markierte Blöcke werden vom Vergleich ausgenommen, sodass Laub oder Straßenverkehr nichts auslösen. Empfindlichkeit, Mindestfläche, Abtastrate und Herunterskalierung lassen sich feinjustieren. Die Maske wird mit der Kamera gespeichert und vom Server sofort beim Speichern angewendet.

Privatzonen-Maskierung
Web-Client

Privatzonen-Maskierung

Zeichnen Sie Masken ins Kamerabild, um Bereiche wie benachbarte Fenster auszublenden. Die Maske kann auf Liveansicht, Schnappschüsse und Aufzeichnungen angewendet werden.

So funktioniert es

Sie zeichnen Blöcke in ein Livebild, und der Server speichert sie mit der Kamera. Je nach Schaltern verwischt oder verdeckt der Server diese Bereiche im Livestream, in Schnappschüssen und in Aufzeichnungen. Bei Live-Video und Aufzeichnungen geschieht das auf dem Server, bevor das Video gespeichert oder ausgeliefert wird – bei Aufzeichnungen ist der maskierte Bereich im gespeicherten Video daher unwiderruflich verloren, worauf die Seite auch hinweist. Farbe und Unschärfegrad sind einstellbar. Die Masken werden beim Speichern an die laufende Pipeline übertragen, sodass die Änderung ohne Neustart der Kamera wirkt.

04

Analysen 4 Bildschirme

Durchsuchen Sie alles, was die KI gesehen hat, verfolgen Sie eine Person über mehrere Kameras und zählen Sie, was vorbeikommt.

Jede Erkennung durchsuchen
Highlight Desktop-Client

Jede Erkennung durchsuchen

Durchsuchen Sie die von allen Kameras erkannten Objekte, gefiltert nach Kamera, Klasse, Konfidenz und Zeit. Die Ergebnisse tragen Merkmale wie Farbe und Kleidung, und ein Doppelklick öffnet die Wiedergabe genau an diesem Moment. Exportieren Sie die Liste zur Weiterverarbeitung als CSV.

So funktioniert es

Jede Erkennung der KI-Pipeline wird mit Kamera, Klasse, Konfidenz, Zeit, Track-ID und Merkmalen in die Analysedatenbank geschrieben. Die Suchmaske führt eine gefilterte Abfrage auf dieser Datenbank aus und antwortet daher in einem Schritt über alle Kameras hinweg. Merkmale wie Farbe, Kleidung und Haare werden zum Zeitpunkt der Erkennung durch Klassifizierung des Objektausschnitts ermittelt. Ein Doppelklick auf eine Zeile öffnet die Wiedergabe bei dieser Kamera und Uhrzeit. Die Schaltfläche „CSV exportieren“ schreibt die aktuelle Ergebnisliste in eine Datei, und das Statistikfeld zählt Personen, Fahrzeuge und eindeutige Tracks.

Eine Person über mehrere Kameras verfolgen
Desktop-Client

Eine Person über mehrere Kameras verfolgen

Die Erscheinungssuche findet dieselbe Person oder dasselbe Fahrzeug anhand visueller Embeddings auch auf anderen Kameras – ganz ohne Gesicht. Wählen Sie ein Ergebnis, um Route und Sichtungsverlauf zu laden, und verfolgen Sie es dann in der Wiedergabe.

So funktioniert es

Jeder Personen- oder Fahrzeugausschnitt wird von einem kleinen Re-Identifikationsmodell unter OpenVINO in einen Erscheinungsvektor mit 256 Werten umgewandelt und in der Analysedatenbank gespeichert. Bei der Suche wird das Suchbild auf dieselbe Weise eingebettet und per Kosinus-Ähnlichkeit mit den gespeicherten Vektoren verglichen – über einen Index im Arbeitsspeicher, sodass das Ergebnis exakt und schnell ist. Da das Gesamterscheinungsbild und nicht ein Gesicht verglichen wird, funktioniert es auch bei Personen, die von hinten oder in geringer Auflösung zu sehen sind. Die Auswahl eines Ergebnisses lädt Sichtungsverlauf und Route dieses Tracks, und „In der Wiedergabe verfolgen“ öffnet die Aufzeichnungen.

Personen- und Fahrzeugzähler
Desktop-Client

Personen- und Fahrzeugzähler

Linienzähler erfassen, wie viele Objekte in jede Richtung passieren. Der Verlaufsbericht gruppiert die Überschreitungen pro Stunde mit Summen und lässt sich für Personal- und Belegungsanalysen als CSV exportieren.

So funktioniert es

Überquert ein verfolgtes Objekt eine konfigurierte Linie, speichert der Server das Ereignis mit Richtung, Kamera, Linie und Uhrzeit. Dieser Bildschirm zeigt diese Ereignisse live in der Liste „Aktuell“. Der Verlaufsbericht gruppiert sie stunden- oder tageweise mit Spalten für Eingang, Ausgang und Summe und kann Verweildauer und Belegung ergänzen, sofern diese konfiguriert sind. Belegungsgrenzen lösen bei Überschreitung einen Alarm aus. Die CSV-Schaltfläche exportiert den Bericht für Tabellenkalkulationen – so werden Personal- und Belegungsanalysen üblicherweise durchgeführt.

Tageszusammenfassung für Bediener
Web-Client

Tageszusammenfassung für Bediener

Ein Briefing in verständlicher Sprache fasst den Tag zusammen: erkannte Personen, Fahrzeuge und Kennzeichen, Treffer auf der Beobachtungsliste und aktive Kameras. Ein lokales Sprachmodell schreibt den Text, und ein Anomaliedetektor markiert ungewöhnliche Aktivität.

So funktioniert es

Der Server zählt aus den Analysedaten die Erkennungen pro Kamera und Stunde, einschließlich Kennzeichen und Treffern auf der Beobachtungsliste. Diese Zahlen erhält ein Sprachmodell – hier ein kleines, lokal über Ollama bereitgestelltes Llama-Modell –, das daraus das Briefing in verständlicher Sprache formuliert. Ist kein Modell verfügbar, erscheint stattdessen eine einfache statistische Zusammenfassung. Der Anomaliedetektor verwendet kein KI-Modell: Er lernt für jede Tagesstunde einen typischen Wert, getrennt nach Werktagen und Wochenenden, und markiert Stunden, die deutlich darüber liegen. Bis genügend Verlaufsdaten vorliegen, bleibt er still.

05

Visualisierung 9 Bildschirme

Zeichnen Sie Ihr Gelände einmal und verfolgen Sie es live: Kameras mit Sichtkegeln, Türen, Leuchten und Sprechstellen mit ihrem tatsächlichen Zustand.

Kameras mit Sichtfeld
Highlight Desktop-Client

Kameras mit Sichtfeld

Kamerasymbole zeichnen ihren Sichtkegel direkt in den Plan, sodass Bediener sehen, was jede Kamera abdeckt. Dieser Kindergartenplan vereint Räume, Außenbereiche, Leuchten, Türen und Sprechstellen in einem Gesamtbild des Geländes.

So funktioniert es

Ein Kamerasymbol trägt Blickrichtung, Öffnungswinkel, Reichweite und Farbe, und der Plan zeichnet daraus einen halbtransparenten Kegel auf den Grundriss. Der Kegel ist Teil des gespeicherten Symbols, daher sehen Bediener auf jedem Client dieselbe Abdeckung. Der Plan kombiniert Räume, mit Gebäudeelementen gezeichnete Außenbereiche, Leuchten, Türen und Sprechstellensymbole, jeweils an ihr eigenes Gerät gebunden. Ein Klick auf ein Kamerasymbol kann die Live-Vorschau öffnen – so dient die Karte zugleich als Navigationsfläche für das Video.

Live-Gebäudepläne
Desktop-Client

Live-Gebäudepläne

Zeichnen Sie Ihr Gelände als Gebäudeplan und platzieren Sie Kameras, Türen, Leuchten und Sprechstellen darauf. Kameras zeigen ihr Sichtfeld, und jedes Symbol spiegelt den tatsächlichen Zustand des zugeordneten Geräts. Ein Plan sieht auf Desktop, im Browser und auf dem Telefon gleich aus.

So funktioniert es

Ein Gebäudeplan ist eine Zeichenfläche mit optionalem Hintergrundbild, gezeichneten Gebäudeelementen und Symbolen, die zusammen mit der übrigen Systemkonfiguration auf dem Server gespeichert wird. Jedes Symbol ist an ein reales Objekt gebunden, etwa eine Kamera, eine Leuchte, einen Türausgang oder eine Sprechstelle, und der Server überträgt dessen Zustand an alle geöffneten Clients – die Farbe des Symbols ändert sich also, sobald sich das Gerät ändert. Desktop-, Browser- und Telefon-Clients lesen dieselbe Plandefinition und zeichnen sie selbst; deshalb sieht ein Plan überall gleich aus. Zum Bearbeiten sind die Visualisierungsberechtigungen nötig.

Mit einer Vorlage beginnen
Desktop-Client

Mit einer Vorlage beginnen

Integrierte Vorlagen erzeugen in Sekunden einen vollständigen Plan mit Wänden, Räumen, Türen und den passenden Symbolen. Die Vorlage für eine Bankfiliale legt zum Beispiel einen Geldautomatenbereich, einen Schalter, einen Tresorraum und einen Schließfachraum an. Passen Sie Raumanzahl und Ausstattungsstufe an, bevor Sie den Plan erstellen.

So funktioniert es

Die Seite „Neuer Plan“ enthält eine Reihe integrierter Generatoren. Sie wählen einen Gebäudetyp, beantworten einige Parameter – etwa die Zahl der Beratungsräume und wie viel Ausstattung platziert werden soll –, und sofort wird eine Vorschau berechnet. Bei „Erstellen“ schreibt der Generator Wände, Räume, Türen und Symbole in einen normalen Plan auf dem Server. Danach ist nichts gesperrt: Das Ergebnis ist ein gewöhnlicher Plan, den Sie wie einen von Hand gezeichneten bearbeiten; alternativ lässt sich ein bestehender Plan klonen, mit oder ohne seine Gebäudeelemente.

Vorlagen für jede Art von Objekt
Desktop-Client

Vorlagen für jede Art von Objekt

Vorlagen decken viele Gebäudetypen ab, von Rechenzentren über Schulen bis zu Krankenhäusern und Lagerhallen. Der Rechenzentrumsplan ergänzt Serverreihen, ein NOC, einen USV-Raum und einen Generatorhof – jeweils mit Symbolen, die nur noch an Geräte gebunden werden müssen.

So funktioniert es

Vorlagen sind codegesteuerte Generatoren, die Räume, Wände und Symbole aus wenigen Parametern anlegen – hier aus der Zahl der Serverreihen und der Ausstattungsstufe. Die Symbole entstehen ungebunden, mit dem passenden Typ und der passenden Beschriftung für jeden Raum, sodass der Errichter sie anschließend nur noch mit einer realen Kamera, einem Sensor oder einem Ausgang verknüpfen muss. Da das Ergebnis als normaler Plan gespeichert wird, lässt es sich wie jeder andere umbenennen, verschieben, erweitern oder klonen. Verschiedene Gebäudetypen nutzen einfach unterschiedliche Generatoren hinter demselben Formular.

Den Sichtkegel ausrichten
Desktop-Client

Den Sichtkegel ausrichten

Richtung, Winkel, Reichweite und Farbe des Sichtkegels einer Kamera legen Sie per Ziehen in einer Live-Vorschau fest. Voreinstellungen für Tele-, Normal-, Weitwinkel- und Fisheye-Objektive beschleunigen das Platzieren vieler Kameras. Wählen Sie, welcher Stream sich öffnet und was ein Klick bewirkt.

So funktioniert es

Der Symbol-Editor hat einen Kamera-Reiter mit Kompassvorschau. Sie ziehen einen Griff zum Ausrichten, seitliche Griffe für die Breite und einen quadratischen Griff für die Reichweite – oder tippen Werte ein und nutzen Objektiv-Voreinstellungen. Die Vorschau zeigt genau, was der Plan nach „OK“ zeichnen wird; Ring und Hilfslinien gibt es nur im Editor. Im selben Reiter wählen Sie, welche Kamera und welchen Stream (Haupt- oder Substream) das Symbol verwendet und was ein Klick bewirkt, etwa das Öffnen einer Vorschau. Alle Werte werden mit dem Symbol gespeichert.

Leuchtensymbole und Statusfarben
Desktop-Client

Leuchtensymbole und Statusfarben

Binden Sie ein Leuchtensymbol an ein Philips-Hue- oder ein anderes unterstütztes Gerät und legen Sie fest, wie jeder Zustand im Plan aussieht: aus, an, gedimmt, Störung und offline, dazu Statuspunkte für Ein- und Ausgänge. Sensor- oder Sprechstelleneingänge können die Leuchte über Makros automatisch schalten.

So funktioniert es

Der gezeigte Dialog ist der Editor für Leuchtensymbole, in dem jeder Zustand (aus, an, gedimmt, Störung, offline) seine eigene Farbe und optionale Statuspunkte für Ein- und Ausgänge erhält. Ein Leuchtensymbol wird über ein Geräte-Plugin gebunden, etwa die Philips-Hue-Integration oder generische E/A, und der Server hält seinen Zustand mit der realen Leuchte synchron. Das automatische Schalten durch Sprechstellen- oder Sensoreingänge übernimmt die serverseitige Makro-Engine, nicht der Plan selbst. Vom Plugin gemeldete Probleme, etwa fehlende Verbindung, erhalten am Symbol eine eigene Farbe.

Sprechstellensymbole mit Live-Zuständen
Desktop-Client

Sprechstellensymbole mit Live-Zuständen

Sprechstellen zeigen Ruhezustand, Klingeln, Gespräch, Halten, Notruf und Leitungsstörung direkt im Plan. Bediener können mit einem Klick einen Ruf starten oder eine Tür öffnen – genau dort, wo sich die Sprechstelle befindet.

So funktioniert es

Ein Sprechstellensymbol ist an ein Sprechanlagen-Plugin gebunden – im Dialog die Commend-ICX-Integration –, und der Server verfolgt die Rufereignisse dieser Sprechstelle. Jedes Ereignis wird einem Symbolzustand zugeordnet, etwa Ruhe, Anruf, Klingeln, Gespräch, Halten, Notruf oder Leitungsstörung, und jeder Zustand hat eine eigene Farbe, die der Editor in der Vorschau zeigt. Der Zustand wird an alle verbundenen Clients übertragen, sodass der Plan den realen Zustand der Sprechstelle binnen Augenblicken wiedergibt. Aktionen am Symbol, etwa ein Ruf oder das Öffnen einer Tür, werden über dasselbe Plugin zurück an das Gerät gesendet.

PIN-geschützte Symbole
Desktop-Client

PIN-geschützte Symbole

Sensible Symbole können vor einer Aktion eine PIN verlangen, damit eine Tür oder ein Ausgang nicht versehentlich bedient wird. Dauerhafte und temporäre PIN-Sperren werden im Editor pro Symbol eingestellt.

So funktioniert es

Jede Symbolaktion lässt sich mit einer PIN sperren. Klickt ein Bediener auf ein solches Symbol, fragt der Client nach der PIN, bevor er den Befehl an den Server sendet – ein versehentlicher Klick kann so weder einen Ausgang schalten noch eine Tür öffnen. PINs können dauerhaft oder temporär sein und werden im Editor pro Symbol festgelegt. Die Sperre ist ein zusätzlicher Schutz zu den normalen Berechtigungsprüfungen, die der Server für den angemeldeten Benutzer weiterhin durchsetzt.

Werkzeugkasten für Gebäudeelemente
Desktop-Client

Werkzeugkasten für Gebäudeelemente

Zeichnen Sie eigene Pläne mit fünfzehn Arten von Gebäudeelementen wie Wänden, Türen, Fenstern, Treppen, Straßen und Pflanzen. Die Elemente stehen neben den Gerätesymbolen – so entsteht ein Plan ganz ohne Zeichenprogramm.

So funktioniert es

Das Panel „Gebäudeelemente“ listet zeichenbare Objekte wie Wände, Türen, Fenster, Treppen, Aufzüge, Straßen, Pflanzen, Zäune, Becken und Schilder, und Sie können eigene hinzufügen. Die Elemente sind Vektorformen, die im selben Plan wie die Gerätesymbole gespeichert werden, mit Position, Größe und Ebenenreihenfolge – so bleiben sie bei jeder Zoomstufe scharf. Ein Plan kann daher vollständig im Produkt gezeichnet werden oder über einem hochgeladenen PNG-, JPG-, BMP- oder GIF-Hintergrund wie einer Architektenzeichnung.

06

Joysticks & Bedienpulte 2 Bildschirme

USB-Joysticks und Bedienpulte steuern PTZ-Kameras und Layouts – Taste für Taste zugeordnet.

Tastenbelegung für Joysticks
Highlight Desktop-Client

Tastenbelegung für Joysticks

Jeder Taste eines Netzwerk-Joysticks lässt sich über eine grafische Darstellung des Controllers eine Aktion zuweisen. Bediener steuern PTZ-Kameras und lösen Makros aus, ohne die Maus anzufassen, und jede Zuordnung wird auf dem Server gespeichert.

So funktioniert es

Ein Joystick – ob per USB am PC des Bedieners oder als Netzwerkgerät an anderer Stelle – meldet seine Achsen und Tasten als kleine Datenpakete. Netzwerkgeräte senden sie per UDP oder HTTP an den Server, und der Server leitet sie über einen WebSocket an jeden Client weiter, der diesen Joystick ausgewählt hat. Der Client liest die Achsen als Schwenken, Neigen und Zoomen und schlägt jede Taste in einer Zuordnungstabelle nach. Der Diagrammdialog bearbeitet diese Tabelle: Taste wählen, eine Aktion wie Tastenkürzel, Makro oder Preset auswählen und „Zuweisen“ drücken. Die Tabelle wird auf dem Server unter der Kennung des Joysticks gespeichert, sodass jeder Client, der ihn verwendet, dieselben Zuordnungen erhält.

Verbundene Clients und Joysticks
Web-Client

Verbundene Clients und Joysticks

Die Seite „Clients“ listet jeden Desktop- und Browser-Client mit seinem Status und erlaubt es einem Administrator, jedem davon einen Joystick zuzuweisen. Netzwerk-Joysticks und IP-Joystick-Controller werden an derselben Stelle verwaltet.

So funktioniert es

Jeder Desktop- und Browser-Client meldet sich unter einer eindeutigen ID beim Server an und meldet sich laufend zurück – so zeigt die Seite, was online ist, samt Benutzer, GPU, Anzahl der Monitore und Zeitpunkt der letzten Meldung. Ein Administrator kann einen Client anhand seiner ID vorab registrieren oder entfernen. Das Zuweisen eines Joysticks bindet einen Gerätedatensatz an diesen Client. Netzwerk-Joysticks senden kleine UDP- oder HTTP-Pakete und bleiben beim ersten Erkennen deaktiviert, damit niemand im LAN Kameras steuern kann, bevor ein Administrator sie freigibt. IP-Joystick-Controller verbinden sich per VISCA over IP: Der Server lauscht auf einem Port, verhält sich wie eine Kamera und leitet die Befehle an die PTZ-Schnittstelle der echten Kamera weiter.

07

Geräte 3 Bildschirme

Jede Kamera, jeder Encoder und jedes Gerät in einer Liste, für die Zugriffssteuerung gruppiert.

Alle Kameras in einer Liste
Highlight Desktop-Client

Alle Kameras in einer Liste

Alle Kameras eines Servers erscheinen in einer Tabelle mit IP-Adresse, Treiber und Live-Status. Ein Klick auf eine Zeile zeigt Live-Vorschau, Hersteller, Modell, Firmware, Auflösung, Bildrate und Bandbreite – neben den neuesten Geräteereignissen. Kopieren, Verschieben, Export und Import halten auch große Installationen überschaubar.

So funktioniert es

Der Reiter „Geräte“ liest die Kameratabelle des gewählten Servers und zeigt Treiber, Adresse und Live-Status jeder Zeile. Kameras werden per ONVIF-Erkennung oder über einen Herstellertreiber hinzugefügt, Streams werden über RTSP abgerufen. Ein Klick auf eine Zeile öffnet eine Live-Vorschau im Client, während Hersteller, Modell, Firmware, Seriennummer, Auflösung, Bildrate und Bandbreite von der Kamera und dem laufenden Stream stammen. Die Ereignisliste darunter speist sich aus den ONVIF-Ereignissen der Kamera selbst. Kopieren, Verschieben, Export und Import laufen als Sammelvorgänge auf dem Server.

Gerätegruppen für die Zugriffssteuerung
Desktop-Client

Gerätegruppen für die Zugriffssteuerung

Kameras werden in benannten Gerätegruppen zusammengefasst, die jeweils ihre Kameraanzahl und die Benutzergruppen zeigen, die sie sehen dürfen. Statistiken und verknüpfte Benutzergruppen stehen neben der Mitgliederliste. Der Zugriff folgt der Gruppe – neue Kameras erhalten so automatisch die richtige Sichtbarkeit.

So funktioniert es

Eine Gerätegruppe ist eine benannte Menge von Kameras auf einem Server. Benutzergruppen werden mit Gerätegruppen verknüpft, und fragt ein Benutzer Kameras ab, liefert der Server nur diejenigen, die zu einer mit einer seiner Gruppen verknüpften Gerätegruppe gehören. Die Statistik zeigt die Zahl der Kameras sowie wie viele Benutzergruppen und Benutzer Zugriff haben. Da die Regel vom Server und nicht vom Client ausgewertet wird, ist eine neu zur Gruppe hinzugefügte Kamera sofort für die richtigen Personen sichtbar; der integrierte Administrator sieht stets alles.

Benutzergruppen mit Kameras verknüpfen
Desktop-Client

Benutzergruppen mit Kameras verknüpfen

Eine Gerätegruppe wird aus einer durchsuchbaren Liste, die zeigt, was jede Gruppe darf, mit einer oder mehreren Benutzergruppen verknüpft. Mitglieder dieser Gruppen sehen die Kameras der Gerätegruppe und nichts anderes. So bleiben die Zugriffsregeln nachvollziehbar.

So funktioniert es

Die Auswahl listet alle Benutzergruppen mit einer kurzen Beschreibung ihrer Rechte, und ein Suchfeld grenzt die Liste ein. Das Hinzufügen einer Gruppe speichert auf dem Server eine Verknüpfung zwischen dieser Benutzergruppe und der Gerätegruppe. Ab dann erhält jedes Mitglied dieser Gruppe die Kameras der Gruppe in Liveansicht, Wiedergabe und Layouts – und über diese Verknüpfung keine anderen. Verknüpfen und Lösen ist ein einziger Schritt und wirkt für angemeldete Benutzer ohne Neustart.

08

Berichte & Ereignisse 5 Bildschirme

Alles, was geschieht, wird protokolliert, lässt sich als PDF in Ihrem Firmendesign ausgeben und kann ein Makro starten oder einen Alarm senden.

Jede Aktion wird aufgezeichnet
Highlight Desktop-Client

Jede Aktion wird aufgezeichnet

Das Prüfprotokoll hält fest, wer was wann mit welchem Ergebnis getan hat – mit Kategorien, Schweregrad und allen Details jedes Eintrags. Suche, Filter und Export erleichtern Compliance-Prüfungen und die Nachbereitung von Vorfällen.

So funktioniert es

Jede Client-Aktion und jede serverseitige Änderung wird als eine Zeile in ein nur erweiterbares Prüfprotokoll geschrieben, das in einer eigenen Berichtsdatenbank getrennt von der Hauptkonfiguration geführt wird – so kann umfangreiches Protokollieren das Videosystem nicht ausbremsen. Eine Zeile enthält Zeit, Benutzer, Kategorie, Schweregrad, Aktion, Ziel, Ergebnis, IP-Adresse und den Client, der den Aufruf ausgeführt hat. Der Reiter „Berichte“ fragt sie mit Seitenaufteilung, Suche, Filtern, gespeicherten Berichten und Export ab, und das Detailfenster zeigt den vollständigen Eintrag. Nichts in der Oberfläche kann einen einzelnen Eintrag bearbeiten oder löschen.

Einstellungen des Prüfprotokolls
Desktop-Client

Einstellungen des Prüfprotokolls

Legen Sie fest, was aufgezeichnet wird, bestimmen Sie die Aufbewahrung in Tagen und archivieren Sie eine Kopie als CSV oder PDF. Ein geplanter Bericht kann automatisch an ausgewählte Empfänger gemailt werden.

So funktioniert es

Administratoren legen fest, ob Client-Aktionen und serverseitige Änderungen aufgezeichnet werden, ab welchem Schweregrad, welche Kategorien behalten werden und wie viele Tage die Aufbewahrung dauert. Eine Hintergrundbereinigung entfernt ältere Zeilen nach Zeitplan, und „Aufbewahrung jetzt anwenden“ startet sie auf Abruf. Authentifizierungs- und Sicherheitsereignisse werden stets mit ihrem eigenen Schweregrad behalten. Das Protokoll lässt sich als CSV oder PDF herunterladen, und ein geplanter Job kann den Bericht wöchentlich oder nach Wahl per E-Mail versenden – über den in den Ereigniseinstellungen konfigurierten Mailserver.

PDF-Berichte im Firmendesign
PDF-Bericht

PDF-Berichte im Firmendesign

Berichte werden als druckfertige PDFs mit Produktbranding, Filtern und Angaben zur Erstellung exportiert. Geben Sie sie ohne weitere Formatierung an Prüfer oder die Geschäftsleitung weiter.

So funktioniert es

Das PDF wird auf dem Server aus denselben Protokollzeilen erzeugt, die der Reiter „Berichte“ zeigt – mit einer Standard-PDF-Bibliothek für Python statt per Bildschirmfoto. Es enthält Produktkopf und Logo, wer den Bericht wann erstellt hat, die aktiven Filter, eine mehrseitige Tabelle mit wiederholter Kopfzeile und eine Fußzeile. Sehr große Ergebnismengen werden begrenzt, und der Bericht weist ausdrücklich darauf hin, etwa mit „5000 von insgesamt …“. Der geplante E-Mail-Bericht hängt genau diese Datei an.

Ereignisse, die Makros starten
Desktop-Client

Ereignisse, die Makros starten

Systemereignisse wie ablaufende Zertifikate, Festplattenbelegung oder schwacher Geräteakku können einen Makroablauf starten. Hier speisen vier Ereignisse einen Telegram-Nachrichtenknoten – alles visuell aufgebaut, ganz ohne Code.

So funktioniert es

Der Makro-Editor ist ein visueller Knotengraph, der auf dem Server läuft. Ein Knoten „Systemereignis“ löst aus, wenn die Zustandsüberwachung ein passendes Ereignis meldet – etwa ein bald ablaufendes Zertifikat, hohe Festplatten- oder GPU-Auslastung oder einen schwachen Geräteakku – und gibt Ereignistext und Wert an seinen Ausgängen weiter. Mit einem Telegram-Send-Knoten verbunden, sendet er eine Nachricht über die Telegram-Bot-API. Der Graph wird mit „Validieren“ geprüft, lässt sich simulieren, und im Live-Betrieb zeigt der Editor die Werte, die durch jeden Knoten fließen.

Telegram-Alarme aus einem Makro
Desktop-Client

Telegram-Alarme aus einem Makro

Ein Telegram-Send-Knoten sendet eine Nachricht an einen Chat oder Kanal, sobald ein Ereignis bei ihm ankommt. Bot-Token, Chat-ID und Nachrichtenvorlage mit Platzhaltern werden im Knoten eingestellt, eine Test-Schaltfläche prüft die Zustellung, und ein Mindestabstand zwischen den Sendungen verhindert wiederholte Alarme.

So funktioniert es

Der Bildschirm zeigt den Telegram-Send-Knoten des Makro-Editors: Bot-Token, Chat-ID, eine Nachrichtenvorlage mit Platzhaltern für Zeit und Wert, eine Test-Schaltfläche und einen Mindestabstand zwischen den Sendungen, damit wiederholte Ereignisse den Chat nicht überfluten. Der Server sendet an die Telegram-Bot-API, sobald der Knoten eine steigende Flanke empfängt. E-Mail-Alarme nutzen den SMTP-Server, der in den Ereigniseinstellungen konfiguriert ist. Die Ereignisse selbst stammen aus der Zustandsüberwachung des Servers und den Ereignisströmen der Kameras.

09

Benutzer & Berechtigungen 8 Bildschirme

Gruppen, Rollen und eine Berechtigungsmatrix legen fest, wer welche Kamera sieht und wer was ändern darf.

Benutzer, Gruppen und Berechtigungen
Highlight Desktop-Client

Benutzer, Gruppen und Berechtigungen

Die Benutzerverwaltung listet die Konten, ihren Online-Status und die Gruppen, denen sie angehören. Für die gewählte Gruppe zeigt sie Layouts, Server, Mitglieder, zugewiesene Gerätegruppen und die gewährten Berechtigungen. Ein Bildschirm, der vollständig zeigt, wer was darf.

So funktioniert es

Die Benutzerverwaltung arbeitet mit Konten, Gruppen und Verknüpfungen. Wird eine Gruppe gewählt, erscheinen ihre Layouts, Server, Mitglieder, Gerätegruppen und die Berechtigungen, die sie freischaltet – alles direkt vom Server gelesen. Benutzer erhalten ihre Rechte über die Gruppen, denen sie angehören, und die Berechtigungsprüfung erfolgt bei jeder Anfrage auf dem Server, nicht nur durch ausgeblendete Schaltflächen im Client. Die Online-Punkte stammen aus den aktiven Sitzungen. Rund 30 Gruppen werden fertig mitgeliefert und decken typische Bediener- und Redakteursrollen ab.

Fein abgestufte Berechtigungsmatrix
Desktop-Client

Fein abgestufte Berechtigungsmatrix

Berechtigungen sind nach Modul und Aktion aufgeteilt, etwa Benutzen, Bearbeiten oder Löschen, und lassen sich nach Namen filtern oder über eine Voreinstellung zuweisen. Liveansicht, PTZ, Aufzeichnung, VoIP, Visualisierung und KI-Analysen werden getrennt vergeben. Bediener erhalten genau die Rechte, die ihre Aufgabe erfordert.

So funktioniert es

Der Server definiert rund 144 Berechtigungen, jede mit einem Modul und einer Aktionsstufe wie Benutzen oder Bearbeiten. Der Gruppendialog listet sie in Abschnitten, mit Filterfeld, Kürzeln für alle/Benutzen/Bearbeiten und Voreinstellungen, die eine typische Auswahl ankreuzen. Der Server prüft die jeweilige Berechtigung bei jedem API-Aufruf und jedem Live-Kanal – ein Benutzer ohne PTZ- oder Aufzeichnungsrechte wird also auch beim direkten Aufruf der API abgewiesen. Abgelehnte Versuche werden mit dem Namen der Berechtigung ins Prüfprotokoll geschrieben.

Rollenbasierte Gruppen
Desktop-Client

Rollenbasierte Gruppen

Benutzer werden fertigen Gruppen zugewiesen, etwa Bedienern, Betrachtern und spezialisierten Redakteuren für Layouts, Makros, Karten oder PTZ. Die Gruppenmitgliedschaft bestimmt Grundberechtigungen, Layouts und Gerätezugriff. So bleiben Rollen auch bei vielen Benutzern einheitlich.

So funktioniert es

Statt Rechte Benutzer für Benutzer zu vergeben, verschiebt ein Administrator Benutzer zwischen fertigen Gruppen wie Bedienern, Betrachtern sowie Redakteur- und Benutzerpaaren für Layouts, Makros, Karten, PTZ, Geräte und mehr. Die wirksamen Rechte eines Benutzers sind die Vereinigung der Rechte aller seiner Gruppen, dazu ihre Layouts und die Kameras der mit diesen Gruppen verknüpften Gerätegruppen. Eine Änderung an einer Gruppe wirkt sofort auf alle Mitglieder – so bleiben Rollen über viele Konten hinweg einheitlich.

Grenzwerte pro Gruppe
Desktop-Client

Grenzwerte pro Gruppe

Für jede Gruppe lassen sich gleichzeitige Streams, Exportdauer und -speicher, die Zahl der Layouts, Makros und Lesezeichen sowie die API-Rate begrenzen. Grenzwerte schützen die Serverkapazität und halten gemeinsam genutzte Installationen berechenbar.

So funktioniert es

Der Reiter „Ressourcen“ einer Gruppe legt numerische Obergrenzen fest, wobei null unbegrenzt bedeutet: Kameras und gleichzeitige Streams, die ein Mitglied öffnen darf, Exportlänge, -größe und -anzahl pro Tag, wie viele Layouts, Makros und Lesezeichen angelegt werden dürfen sowie API-Anfragen pro Stunde und Token. Der Server setzt sie bei jeder Anfrage durch und verweigert beispielsweise einen Stream über der Grenze. Einzelne Benutzereinstellungen können den Gruppenwert übersteuern, sodass eine gemeinsam genutzte Installation auch unter Last berechenbar bleibt.

Passwort- und Anmelderichtlinie
Desktop-Client

Passwort- und Anmelderichtlinie

Die Sicherheitseinstellungen legen gleichzeitige Sitzungen, Sitzungs-Timeout, Zwei-Faktor-Pflicht, Passwortlänge und -ablauf, Sperre nach Fehlversuchen und die Aufbewahrung des Prüfprotokolls fest. Die Richtlinie wird einmal pro Gruppe festgelegt und gilt für jedes Mitglied.

So funktioniert es

Der Reiter „Sicherheit“ einer Gruppe legt gleichzeitige Sitzungen, Sitzungs-Timeout, verpflichtende Zwei-Faktor-Authentifizierung, minimale Passwortlänge, Komplexität, Ablauf, Wiederverwendungssperre, Sperre nach Fehlversuchen samt Dauer sowie Protokollierungsstufe und Aufbewahrung fest. Der Server setzt die Richtlinie bei der Anmeldung und bei Passwortänderungen durch; Passwörter werden als gesalzene bcrypt-Hashes gespeichert, nicht in lesbarer Form. Die Antwortzeit bei der Anmeldung ist angeglichen, damit sich ein unbekannter Benutzername nicht von einem falschen Passwort unterscheiden lässt.

Direkte Berechtigungen für einen Benutzer
Desktop-Client

Direkte Berechtigungen für einen Benutzer

Über die Gruppenrechte hinaus kann ein einzelner Benutzer zusätzliche direkte Berechtigungen erhalten. Von Gruppen geerbte und direkte Berechtigungen sind farblich unterschieden, sodass ein Administrator auf einen Blick sieht, woher jedes Recht stammt.

So funktioniert es

Der Reiter „Berechtigungen“ des Benutzers zeigt dieselbe Matrix wie bei einer Gruppe, in zwei Farben: Blaue Kästchen sind direkte Berechtigungen, die hier geändert werden können, violette stammen aus den Gruppen des Benutzers und sind in dieser Ansicht schreibgeschützt. Der Server kombiniert beide Mengen bei der Prüfung einer Anfrage. Direkte Berechtigungen eignen sich für einmalige Ausnahmen, und der Zähler zeigt, wie viele von allen aktiv sind und wie viele aus Gruppen stammen. „Alle direkten entfernen“ beseitigt Ausnahmen, ohne die Gruppenrechte anzutasten.

Zwei-Faktor, Sitzungen und API-Token
Desktop-Client

Zwei-Faktor, Sitzungen und API-Token

Pro Benutzer verwalten Administratoren Zwei-Faktor-Authentifizierung und Backup-Codes, entsperren Konten und prüfen und beenden aktive Sitzungen. Hier lassen sich auch API-Token erstellen und widerrufen – so funktionieren Integrationen, ohne Passwörter weiterzugeben.

So funktioniert es

Der Reiter „Sicherheit“ verwaltet den zweiten Faktor eines Benutzers – ein zeitbasiertes Einmalpasswort (TOTP), kompatibel mit gängigen Authenticator-Apps – zusammen mit einmaligen Backup-Codes. Er zeigt außerdem den Kontostatus wie Sperre, Fehlversuche und letzte Anmeldung und erlaubt einem Administrator, zu entsperren oder zurückzusetzen. Aktive Sitzungen werden mit IP und Browser aufgelistet und lassen sich einzeln oder alle zusammen beenden. API-Token sind eigene Zugangsdaten mit Namen und Ablaufdatum, sodass Skripte und Integrationen nicht das Passwort des Benutzers benötigen; sie können jederzeit widerrufen werden.

Prüfprotokoll pro Benutzer
Desktop-Client

Prüfprotokoll pro Benutzer

Der Reiter „Aktivität“ listet aktive Sitzungen mit Client und IP-Adresse, gefolgt von aktuellen Sicherheitsereignissen wie verweigerten Berechtigungen. Jede Aktion ist zuordenbar – das unterstützt Audits und die Aufarbeitung von Vorfällen.

So funktioniert es

Der Reiter „Aktivität“ liest für einen Benutzer zwei Dinge vom Server: die aktiven Sitzungen mit IP-Adresse, Client-Kennung und letzter Aktivität sowie die neuesten Sicherheitsereignisse aus dem Prüfprotokoll. Abgelehnte Aktionen – etwa eine verweigerte Berechtigung oder eine Kamera, die der Benutzer nicht sehen darf – werden in dem Moment protokolliert, in dem der Server die Anfrage zurückweist, zusammen mit dem Namen der Berechtigung oder Ressource. Die Sitzungen zeigen die Art des Clients, zum Beispiel einen Browser oder ein Skript über die API, was hilft, normale Nutzung von unerwartetem Zugriff zu unterscheiden.

10

Zertifikate & Sicherheit 7 Bildschirme

PotoP betreibt eine eigene Zertifizierungsstelle – Kameras, Server, Browser und Telefone kommunizieren über verifiziertes HTTPS.

TLS-Status auf einen Blick
Highlight Web-Client

TLS-Status auf einen Blick

Das Web-Adminpanel zeigt Transportprotokoll, Gültigkeit des Serverzertifikats, Serverschlüssel und das geladene Web-Client-Zertifikat samt Fingerabdruck. Bediener können so in Sekunden bestätigen, dass das System verschlüsselt ist und wann ein Zertifikat abläuft.

So funktioniert es

Das Web-Adminpanel fragt beim Server den aktuellen TLS-Zustand ab und zeigt vier Karten: das verwendete Transportprotokoll (HTTPS mit TLS 1.2 oder 1.3), das Serverzertifikat und sein Ablaufdatum, Typ und Länge des Serverschlüssels sowie das für Browser geladene Zertifikat mit seinem SHA-256-Fingerabdruck. Dieselben Ablaufdaten speisen einen Hintergrundwächter, der Ereignisse für Server, Zertifizierungsstelle, Partnerserver und Kameras auslöst, bevor etwas abläuft – Alarme können so an Makros, E-Mail oder Telegram gehen.

Ihre eigene Zertifizierungsstelle
Web-Client

Ihre eigene Zertifizierungsstelle

Das System kann eine Zertifizierungsstelle erstellen oder importieren, ihr Zertifikat herunterladen, sie sichern und Zertifikate über eine Sperrliste (CRL) widerrufen. Der private Schlüssel der CA bleibt auf dem Server. Geräte und Clients vertrauen dann einer einzigen Root, die Sie kontrollieren.

So funktioniert es

Der Server kann eine Zertifizierungsstelle erzeugen oder eine bestehende importieren. CA-Zertifikat und privater Schlüssel werden auf dem Server gespeichert; die Schlüsseldatei ist nur für das Dienstkonto lesbar und optional passwortgeschützt, und nur signierte Zertifikate verlassen den Rechner. Der Reiter lädt außerdem das CA-Zertifikat herunter, sichert und stellt es wieder her, installiert es im Vertrauensspeicher des Systems, widerruft Zertifikate anhand der Seriennummer und erstellt eine Sperrliste (CRL). Auch ein RADIUS-Serverzertifikat für 802.1X lässt sich von derselben CA ausstellen.

Gerätezertifikate ausstellen
Web-Client

Gerätezertifikate ausstellen

Ein Gerätezertifikat wird für einen Namen und eine IP-Adresse erzeugt und von der gespeicherten CA signiert – mit Gültigkeitsdauer und wählbarem Ausgabeformat. Es lässt sich auch als Serverzertifikat installieren, wodurch Browserwarnungen verschwinden.

So funktioniert es

Ein neues Schlüsselpaar wird erzeugt und von der gespeicherten CA ein Zertifikat für die angegebenen Namen-, DNS- und IP-Einträge signiert, mit gewählter Gültigkeit und gewähltem Schlüsseltyp. Das Ergebnis wird als PEM (Zertifikat, Schlüssel und CA) oder als PKCS#12-Paket angeboten. Mit der Server-Option wird das Zertifikat als eigenes Zertifikat des Servers installiert, die CA für den Desktop-Client als vertrauenswürdig hinterlegt, das alte selbstsignierte Zertifikat ausgemustert und der Dienst neu gestartet – Browser zeigen dann keine Warnungen mehr, sobald sie der CA vertrauen.

HTTPS für viele Kameras auf einmal
Web-Client

HTTPS für viele Kameras auf einmal

Kameras werden aufgelistet oder aus einer CSV-Datei importiert; anschließend werden in einem Durchgang Zertifikate verteilt und HTTPS auf allen aktiviert. Dabei kommen die Hersteller-APIs zum Einsatz, sodass sich niemand an jeder Kamera einzeln anmelden muss.

So funktioniert es

Sie listen Kameras von Hand auf oder importieren eine CSV-Datei mit Adresse, Hersteller, Zugangsdaten und Ports. Für jede Zeile stellt der Server ein Gerätezertifikat aus der Zertifizierungsstelle aus, überträgt Zertifikat und CA über die Web-API des jeweiligen Herstellers auf die Kamera und schaltet dann HTTPS ein. Es gibt auch Aktionen zum Deaktivieren und zum Testen von HTTPS. Der Server muss die Kameras im Netzwerk erreichen, und die Zugangsdaten werden nur für diesen Durchgang verwendet. Das Ergebnis: ein einziger Durchgang statt einer Anmeldung an jeder Kamera.

Zertifikate auf Kameras übertragen
Web-Client

Zertifikate auf Kameras übertragen

Ein signiertes Zertifikat lässt sich auf eine einzelne Kamera übertragen – mit Optionen, die CA mitzuschicken, HTTPS zu aktivieren, unverschlüsseltes HTTP abzuschalten und die Verbindung zu testen. Darunter verteilt ein zweiter Abschnitt Zertifikate per SSH an einen weiteren PotoP-Host.

So funktioniert es

Für eine Kamera signiert der Server ein Gerätezertifikat, lädt es über die Hersteller-API hoch und kann die CA mitschicken, HTTPS aktivieren, unverschlüsseltes HTTP abschalten und die gesicherte Verbindung testen. Der zweite Abschnitt verbindet sich per SSH mit einem anderen PotoP-Host, kopiert Zertifikat, Schlüssel und CA-Datei in das Zielverzeichnis und kann einen Dienst neu starten. Beide Vorgänge laufen auf dem Server, der das Ziel daher erreichen können muss, und erfordern Administratorrechte.

Vertrauen in Browsern und auf Telefonen
Web-Client

Vertrauen in Browsern und auf Telefonen

Das aktive Web-Client-Zertifikat wird mit Inhaber, Gültigkeit, Schlüssellänge und Fingerabdruck angezeigt. Per Download und QR-Code vertrauen Telefone und Tablets dem Server; ein Installationsskript erledigt dasselbe für Linux, macOS und Windows.

So funktioniert es

Das Panel zeigt das aktuell für den Web-Client geladene Zertifikat mit Inhaber, Aussteller, Gültigkeit, Schlüsseltyp und -länge, Signaturalgorithmus und SHA-256-Fingerabdruck und kann es als PEM exportieren. Der Mobilbereich stellt das CA-Zertifikat zum Download oder als QR-Code bereit, den ein Telefon oder Tablet scannen kann – so vertraut das Gerät dem Server einmalig und warnt nicht mehr. Installationsanleitungen und Skripte gibt es für Linux, macOS und Windows.

Verifizierte Verbindung bei der Anmeldung
Web-Client

Verifizierte Verbindung bei der Anmeldung

Der Anmeldebildschirm bestätigt mit einer grünen Meldung, dass die Verbindung sicher und das Zertifikat verifiziert ist, bevor Zugangsdaten gesendet werden. Benutzer können dem Server, mit dem sie sich verbinden, vertrauen.

So funktioniert es

Bevor das Passwort gesendet wird, kontaktiert die Anmeldeseite den gewählten Server über HTTPS und prüft das Zertifikat gegen den Vertrauensspeicher des Browsers. Ist die Kette gültig und passend, erscheint die grüne Meldung „Sichere Verbindung“, andernfalls sieht der Benutzer eine Warnung. Diese Prüfung übernimmt der TLS-Stack des Browsers selbst, sie kann also von der Seite nicht vorgetäuscht werden. Die Zugangsdaten werden anschließend über die verschlüsselte Verbindung an den verifizierten Server gesendet.

11

Speicher & RAID 5 Bildschirme

RAID-Arrays direkt im Client aufbauen und pflegen – und immer wissen, wie gesund Ihr Speicher ist.

Speicherzustand im Systemstatus
Highlight Desktop-Client

Speicherzustand im Systemstatus

Die RAID-Überwachung steht direkt neben Live-Bandbreite, aktiven Kameras und Aufzeichnungsdurchsatz. Ein integrierter Rechner für die Aufzeichnungsdauer übersetzt Festplattenkapazität in Stunden und Tage Video – so planen Bediener die Vorhaltezeit mit echten Zahlen.

So funktioniert es

Der Systemstatus fragt beim gewählten Server laufend Live-Werte ab: ein- und ausgehende Bandbreite, aktive Kameras, Aufzeichnungsvolumen, Lese- und Schreiblast der Festplatten sowie CPU, Arbeitsspeicher und Speicherplatz pro Kamera. Der RAID-Zustand stammt von den Array-Controllern dieses Servers; diese Aufnahme zeigt ein simuliertes Array. Der Rechner für die Aufzeichnungsdauer teilt den freien Aufzeichnungsspeicher – oder eine per Schieberegler eingestellte Annahme – durch die gemessene Bitrate der Kameras. So ergibt sich die Vorhaltezeit in Stunden und Tagen aus echten Streamdaten statt aus einer von Hand eingetippten Schätzung.

RAID-Layouts, die Sie sehen können
Server-Weboberfläche

RAID-Layouts, die Sie sehen können

Das RAID-Panel in den Admin-Einstellungen zeichnet jede Platte und jeden Stripe, mit farblich markierten Datenblöcken und beiden Paritätspositionen. Dieses simulierte RAID-6-Beispiel zeigt Ausfalltoleranz für zwei Platten und nutzbare Kapazität auf einen Blick – so planen Errichter den Speicher, bevor sie ein echtes Array anfassen.

So funktioniert es

Das RAID-Panel in den Server-Admin-Einstellungen ist eine Zeichen-Engine, die Platten, Stripes und Parität für das gewählte Level darstellt. Im Simulationsmodus wählen Sie Level und Plattenanzahl, und es wird ein synthetisches Array gerendert – nichts Reales wird angetastet. Auf einem Live-Server füllt sich dieselbe Ansicht aus dem tatsächlichen Controller: Software-RAID über mdadm oder Hardware-Controller über die Kommandozeilenwerkzeuge des Herstellers. Ausfalltoleranz und nutzbare Kapazität werden aus Level und Plattenanzahl berechnet, und das Diagramm zeigt, wie die Parität über die Mitglieder rotiert – so können Errichter planen, bevor sie ein Array aufbauen.

Verschachteltes RAID 60 über mehrere Gruppen
Desktop-Client

Verschachteltes RAID 60 über mehrere Gruppen

RAID 60 verteilt Daten per Striping über mehrere RAID-6-Gruppen, und das Diagramm zeigt, wie jede Gruppe ihre eigenen Plattenausfälle verkraftet. Der Rechner darunter übersetzt die resultierende Kapazität in Aufzeichnungsdauer.

So funktioniert es

Derselbe RAID-Monitor kann auch verschachtelte Level darstellen. Hier wird ein simuliertes RAID 60 aus sechzehn Platten als vier RAID-6-Gruppen gezeigt, darüber das Striping über die Gruppen. Das Panel ermittelt die Ausfalltoleranz pro Gruppe – jede Gruppe übersteht zwei ausgefallene Platten – und die nutzbare Kapazität von acht der sechzehn Platten. Der Was-wäre-wenn-Regler darunter gibt diese Kapazität an den Rechner für die Aufzeichnungsdauer weiter, der sie durch die gemessene Kamerabitrate teilt. Geplant wird auf Basis der Serverdaten, ohne eine einzige Platte zu verändern.

Arrays direkt im Client anlegen
Desktop-Client

Arrays direkt im Client anlegen

Bauen Sie ein Software-RAID-Array auf, indem Sie Gerät, Level, Chunk-Größe und Mitglieder aus den erkannten Platten wählen. Jeder Schritt wird zuerst geplant und als Befehlsvorschau angezeigt – nichts ändert sich, bevor Sie bestätigen.

So funktioniert es

Der Dialog „RAID-Verwaltung“ läuft im Desktop-Client, wirkt aber auf den Server, an dem Sie angemeldet sind. Ein Administrator gibt sein Passwort erneut ein, um ein kurzlebiges Admin-Token zu erhalten. Das Anlegen eines Arrays erstellt einen Plan: Der Server listet die erkannten Platten auf, bereitet den exakten Befehl als Argumentliste vor – niemals als Shell-String – und zeigt ihn als Vorschau. Beim Planen wird nichts ausgeführt. „Anwenden“ führt ausschließlich diesen gespeicherten Plan über eine feste Positivliste von RAID-Werkzeugen aus, und bei gefährlichen Aktionen müssen Sie zuerst die Kennung des Ziels eintippen. Software-RAID nutzt mdadm.

Erweitern, umbauen und warten
Desktop-Client

Erweitern, umbauen und warten

Platten hinzufügen, ein Array vergrößern, die Chunk-Größe ändern oder das Level umwandeln sowie Scrub-Prüfungen und Reparaturen ausführen. Grenzwerte für die Resync-Geschwindigkeit bringen Wartung und Aufzeichnungslast ins Gleichgewicht.

So funktioniert es

Erweiterungs- und Wartungsaktionen folgen demselben Ablauf „erst planen, dann anwenden“ wie das Anlegen eines Arrays. Der Client sendet die Anfrage, der Server validiert jeden Gerätenamen, baut den exakten mdadm-Befehl zum Hinzufügen von Platten, Vergrößern, Ändern der Chunk-Größe oder Umwandeln des Levels und gibt ihn zur Prüfung zurück. Scrub-Prüfung und -Reparatur starten den Konsistenzscan des Kernels auf dem Array. Minimale und maximale Resync-Geschwindigkeit sind die Standardgrenzen des Linux-Software-RAID, sodass sich ein Rebuild verlangsamen lässt, während Kameras aufzeichnen. Zum Anwenden sind das Admin-Token und bei riskanten Schritten eine Identitätsbestätigung nötig.

12

Failover & Redundanz 5 Bildschirme

Ein Standby-Server spiegelt den primären Server und übernimmt selbstständig, wenn dieser ausfällt.

Live- und Standby-Server nebeneinander
Highlight Desktop-Client

Live- und Standby-Server nebeneinander

Der Reiter „Redundanz“ zeigt den Live-Server und seinen Failover-Knoten mit Zustand, Latenz, CPU und Arbeitsspeicher. Der Synchronisationsstatus von Datenbank und Konfiguration wird pro Server angezeigt, und Benutzersitzungen werden gespiegelt, damit Clients angemeldet bleiben. Eine erzwungene Übernahme ist direkt im selben Reiter möglich.

So funktioniert es

Der Reiter „Redundanz“ zeigt einen Management-Server und einen Failover-Knoten, die per Heartbeat überwacht werden. Zustand, Latenz, CPU und Arbeitsspeicher stammen aus Abfragen der API jedes Servers; auch der Status der Video-Pipeline wird geprüft. Ein Replikationsagent auf dem Failover-Knoten holt regelmäßig einen vollständigen Export von Datenbank und Konfiguration vom Live-Server. Über das Netzwerk gehen nur Dateien, deren Prüfsumme sich geändert hat. Benutzer und Sitzungen werden in die eigene Datenbank des Standby-Servers gespiegelt, sodass bestehende Anmelde-Token dort gültig bleiben und Clients nach einer Übernahme angemeldet bleiben.

Erkennung und Sicherungen feinjustieren
Desktop-Client

Erkennung und Sicherungen feinjustieren

Legen Sie Prüfintervall, Timeout und Ausfallschwelle fest und wählen Sie, welche Dienste überwacht werden. Automatische Sicherungen, die Aufbewahrung von Snapshots und eine Bandbreitenbegrenzung steuern, wie der Standby-Knoten auf Stand bleibt – mit optionalen Alarmen per E-Mail, Telegram und auf dem Desktop.

So funktioniert es

Der Reiter „Konfiguration“ legt fest, wie ein Ausfall erkannt wird und wie der Standby-Server aktuell bleibt. Der Monitor prüft jeden Server im eingestellten Intervall, und ein Server gilt erst nach der konfigurierten Zahl aufeinanderfolgender fehlgeschlagener Prüfungen als ausgefallen. Pflichtdienste werden immer überwacht, optionale wie VoIP oder Analysen zählen nur, wenn sie angehakt sind. Sicherungsintervall, Zahl der aufbewahrten Snapshots und eine Bandbreitenbegrenzung steuern den Replikationsagenten auf dem Failover-Knoten. Alarme können per E-Mail (SMTP), Telegram oder Desktop-Benachrichtigung ausgegeben werden.

Replikation läuft
Desktop-Client

Replikation läuft

Ein Sicherungszyklus meldet übertragene Dateien und Megabytes, während der Standby-Server seine Datenbank als „wird synchronisiert“ anzeigt. Sie sehen jederzeit, wie nah der Failover-Knoten am Live-Server ist.

So funktioniert es

Während eines Sicherungszyklus fordert der Failover-Knoten ein Manifest der Dateien und Datenbanken des Live-Servers an und holt dann nur das, was sich seit dem vorherigen Snapshot geändert hat. Unveränderte Dateien werden aus der vorherigen Kopie verlinkt – deshalb kann das Panel Tausende Dateien zeigen, von denen nur eine Handvoll übertragen wurde. Der Fortschritt in Dateien und Megabytes wird in einen Statusdatensatz geschrieben, den der Client live anzeigt. Der fertige Export wird in einen Snapshot-Ordner rotiert, und die Datenbankzeile des Standby-Servers zeigt „Wird synchronisiert“, solange Daten eingespielt werden.

Failover aktiv – ein Klick zurück
Desktop-Client

Failover aktiv – ein Klick zurück

Wird ein Server übernommen, färbt sich das Banner rot, der Live-Server wird als offline markiert und seine Kameras werden vom Failover-Knoten bedient. Eine einzige Schaltfläche „Failback“ gibt die Arbeit zurück, sobald der ursprüngliche Server wieder gesund ist.

So funktioniert es

Eine Übernahme erfolgt automatisch, wenn die Ausfallschwelle erreicht ist, oder manuell per „Übernahme erzwingen“. Der Standby-Server bedient dann die Kameras des ausgefallenen Servers, dieser wird als offline markiert, und Banner und obere Statuszeile färben sich rot. Antwortet der ursprüngliche Server wieder auf die Prüfungen, holt „Failback“ die Kameras zurück. Der Reiter „Konfiguration“ kann dies auch automatisch erledigen, nachdem der Server eine festgelegte Anzahl Minuten lang gesund war. Clients arbeiten weiter, weil Benutzer und Sitzungen bereits auf den Standby-Server gespiegelt waren.

Ein übersichtliches Failover-Ereignisprotokoll
Desktop-Client

Ein übersichtliches Failover-Ereignisprotokoll

Jeder Schritt einer Übernahme wird mit Zeitstempel protokolliert: Replikation, Kameramigration, gestoppte Streams und das Endergebnis. Das Protokoll hilft Bedienern, das Geschehen zu überprüfen und anschließend zu dokumentieren.

So funktioniert es

Der Reiter „Ereignisprotokoll“ zeichnet jeden Schritt des Redundanzprozesses in Echtzeit mit lokalem Zeitstempel auf: einen erzwungenen Replikationszyklus, die Übernahmeanfrage, den Start des Übernahme-Workers, die Kameramigration, die Zahl der auf dem ausgefallenen Server gestoppten Streams und das Endergebnis. Die Einträge stammen aus der Übernahmesequenz des Servers und bleiben für die Sitzung erhalten, mit einer Schaltfläche zum Leeren. Da jeder Übergang der Reihe nach festgehalten wird, kann ein Bediener im Nachhinein prüfen, was das System getan hat, und es in einen Vorfallbericht übernehmen.

13

KI-Trainingsstudio 5 Bildschirme

Bringen Sie dem System Ihre eigenen Objekte bei: annotieren, trainieren, konvertieren und Modelle bereitstellen, ohne PotoP zu verlassen.

Eigene Erkennungsmodelle trainieren
Highlight Trainingsstudio

Eigene Erkennungsmodelle trainieren

Wählen Sie Modellfamilie, Aufgabe und Größe, und legen Sie dann Epochen, Bildgröße und Hyperparameter fest. Das Studio erkennt die verfügbare Trainingshardware und zeigt während des Trainings Fortschritt, Beispiele und ein Live-Protokoll.

So funktioniert es

Das Training Studio ist ein eigenes Fenster des Desktop-Clients. Es durchsucht den Rechner nach Trainingshardware wie NVIDIA-CUDA- oder AMD-ROCm-GPUs und der CPU und kennzeichnet reine Inferenzchips wie Hailo-8 als Konvertierungsziele. Sie wählen Modellfamilie, Aufgabe und Größe und anschließend die Hyperparameter. Das Training läuft als Hintergrundjob mit PyTorch-basierten Trainern auf dem gewählten Gerät und überträgt Epoche, Loss, mAP und ein Live-Protokoll ins Fenster. Modellfamilien mit freizügiger Lizenz sind gekennzeichnet – wichtig für die kommerzielle Nutzung.

Datensätze und Augmentierung für das Training
Trainingsstudio

Datensätze und Augmentierung für das Training

Unterhalb der Hyperparameter sammelt der Reiter „Training“ Bilder aus Uploads, einer Webcam, Videos oder RTSP und wendet Augmentierungen wie Mosaic, Spiegelungen, Skalierung und Farbverschiebungen an. Vor dem Trainingsstart muss ein Datensatz ausgewählt sein.

So funktioniert es

Der Reiter „Training“ enthält die Einstellungen für Datensatz, Augmentierung und Bildquellen, die einen Trainingslauf speisen. Ein Datensatz ist ein Ordner mit Bildern und Labels, gefüllt aus hochgeladenen Dateien, einer Webcam, einer Videodatei oder einem RTSP-Stream. Augmentierungen wie Mosaic, Spiegelungen, Skalierung, Rotation und Farbverschiebungen werden während des Trainings laufend angewendet. Validierungsanteil und Zufalls-Seed machen Läufe reproduzierbar. Der gezeigte Dialog erscheint, wenn „Training starten“ ohne ausgewählten Datensatz gedrückt wird. Die Konvertierung nach ONNX und in Beschleunigerformate ist ein eigener Reiter.

Aktionserkennung aus Posen
Trainingsstudio

Aktionserkennung aus Posen

Posen aus Videos extrahieren, sie mit Aktionsklassen wie Stehen, Gehen, Stürzen und Kämpfen beschriften und einen Klassifikator trainieren. Nach dem Training werden Precision, Recall und F1 pro Klasse ausgewiesen.

So funktioniert es

Die Aktionserkennung arbeitet in zwei Stufen. Zuerst läuft ein Posenmodell über Ihr Video oder Ihre Bilder und extrahiert für jede Person Körper-Schlüsselpunkte, gespeichert mit dem gewählten Label, etwa Gehen oder Stürzen. Dann wird ein kleiner Sequenzklassifikator – standardmäßig ein LSTM – mit PyTorch auf dem gewählten Gerät auf Fenstern aufeinanderfolgender Bilder dieser Schlüsselpunkte trainiert. Nach dem Training werden Precision, Recall und F1 pro Klasse auf zurückgehaltenen Validierungsdaten berechnet. Das Ergebnis lässt sich zusammen mit einem Inferenz-Snippet für den Einsatz in den Analysen exportieren.

Training der Kennzeichenerkennung
Trainingsstudio

Training der Kennzeichenerkennung

Trainieren Sie einen Kennzeichenleser für den Zeichensatz eines gewählten Landes – aus Live-Aufzeichnungen, Bildordnern oder öffentlichen Datensätzen. Ein Kennzeichen-Label-Editor, ein Test am Einzelbild und der Export in Beschleunigerpakete runden den Ablauf ab.

So funktioniert es

Der Kennzeichen-Reiter trainiert ein Netz zur Erkennung von Zeichenfolgen vom Typ LPRNet, das ein ausgeschnittenes Kennzeichenbild liest und die Zeichen per CTC dekodiert. Sie wählen einen Länder-Zeichensatz und eine Eingabegröße und sammeln dann Kennzeichenausschnitte aus Aufzeichnungen, Bildordnern, URL-Listen oder öffentlichen Datensätzen. Im Label-Editor korrigieren Sie unbeschriftete Kennzeichen, optional mit OCR-Vorschlägen. „Am Bild testen“ wendet das aktuelle Modell auf ein einzelnes Bild an. Fertige Modelle werden exportiert, können zu einem Paket für Axelera-Metis-Beschleuniger kompiliert und in die Live-Erkennungskaskade eingebunden werden.

Datensätze direkt im Client annotieren
Trainingsstudio

Datensätze direkt im Client annotieren

Zeichnen Sie Rahmen oder Polygone über Ihre eigenen Bilder, verwalten Sie Objektklassen und lassen Sie die Auto-Annotation Labels vorschlagen. Annotationsstatistiken zeigen, wie gut jede Klasse abgedeckt ist.

So funktioniert es

Der Annotations-Reiter ist ein Beschriftungswerkzeug innerhalb des Training Studio. Sie legen Objektklassen fest, blättern durch die Bilder des Datensatzes und zeichnen mit der Maus Begrenzungsrahmen oder Polygone. Jede Annotation wird mit Klasse und Koordinaten im Datensatzordner gespeichert, in dem Format, das die Trainer lesen. „Auto-Annotation“ wendet ein vorhandenes Erkennungsmodell auf das Bild an und schlägt Labels vor, die Sie übernehmen oder korrigieren. Das Statistikpanel zählt Annotationen insgesamt und Rahmen pro Klasse, sodass Sie sehen, welchen Klassen Beispiele fehlen.

14

KI-Assistent 5 Bildschirme

Stellen Sie Fragen zu Ihrer Installation in natürlicher Sprache und lassen Sie den Assistenten die Änderung für Sie vorbereiten.

Fragen Sie Ihr System in natürlicher Sprache
Highlight Web-Client

Fragen Sie Ihr System in natürlicher Sprache

Der KI-Chat bietet geführte Aktionen für Layouts, Kameras, Server, Zertifikate, Firewall, Benutzer und Makros. Klicken Sie auf ein Beispiel oder tippen Sie Ihre eigene Anfrage – die Ergebnisse erscheinen auf einem separaten Ergebnis-Board.

So funktioniert es

Der KI-Chat ist in den Web-Client und den Desktop-Client integriert. Die meisten Anfragen versteht eine regelbasierte Befehls-Engine auf dem Server – im Chat als „direkt“ gekennzeichnet –, die Formulierungen wie „Layouts auflisten“ denselben Funktionen zuordnet, die auch die Benutzeroberfläche aufruft. Das Hilfe-Panel listet Beispielformulierungen nach Thema auf. Aktionen, die etwas verändern, etwa das Anlegen einer Zertifizierungsstelle oder das Verteilen von Zertifikaten, stellen ihre Fragen Schritt für Schritt und ändern nichts, bevor Sie bestätigen. Umfangreiche Antworten landen auf dem Ergebnis-Board, damit das Gespräch übersichtlich bleibt.

Bestandsauskünfte auf der Stelle
Web-Client

Bestandsauskünfte auf der Stelle

Tippen Sie „Kameras auflisten“, und der Assistent liefert eine Tabelle mit Namen, Adressen, Herstellern und Aufzeichnungsstatus. Dasselbe funktioniert für Pläne, Server, Layouts und Makros – ganz ohne Navigieren durch Menüs.

So funktioniert es

Bestandsfragen werden direkt aus der Datenbank des Servers beantwortet, ohne Sprachmodell. Die Eingabe „Kameras auflisten“ startet eine Abfrage auf dem Server und liefert Namen, IP-Adressen, Hersteller und ob die Kamera eingeschaltet ist und aufzeichnet – dargestellt als Texttabelle im Ergebnis-Board. Dieselbe Engine deckt Pläne, Server, Layouts und Makros ab. Der Chat präsentiert nur das Ergebnis, die Antwort spiegelt also die Live-Konfiguration wider und berücksichtigt die Berechtigungen des angemeldeten Benutzers.

Geführte Rückfragen
Desktop-Client

Geführte Rückfragen

Braucht eine Anfrage mehr Details, listet der Assistent die Möglichkeiten als Auswahl mit Buchstaben auf, etwa welche Kamera untersucht werden soll. Sie antworten mit dem Buchstaben, dem Namen oder der IP-Adresse, und „Zurück“ und „Abbrechen“ halten das Gespräch unter Kontrolle.

So funktioniert es

Anfragen, denen ein Detail fehlt – etwa eine erweiterte Kameraabfrage –, starten einen kurzen Dialog auf dem Server. Der Assistent listet die gültigen Möglichkeiten aus der aktuellen Konfiguration auf, hier jede Kamera mit ihrer Adresse, und wartet auf die Antwort. Sie antworten mit dem Buchstaben, dem Namen oder der IP-Adresse. „Zurück“ kehrt zur vorherigen Frage zurück, „Abbrechen“ beendet den Dialog. Die Auswahl wird aus Live-Daten erzeugt und bietet daher nur Kameras an, die tatsächlich existieren.

Diagnose und Sicherungen im Chat
Desktop-Client

Diagnose und Sicherungen im Chat

Fragen Sie nach Datenbankstatus oder Sicherungen und erhalten Sie Serverzustand, Version und Konfigurationssicherungen mit Datum und Größe. Die Unterstützung für ein lokales Sprachmodell wird mit einem einzigen Schalter aktiviert.

So funktioniert es

Fragen zu Datenbank und Sicherungen werden von direkten Serverfunktionen beantwortet. Der Befehl „db status“ liest die Live-Verbindung zu PostgreSQL und meldet Typ, Version, Größe, Tabellenanzahl, Verbindungspool und Host, mit maskiertem Passwort. Der Befehl „backups“ listet die auf dem Server gespeicherten Konfigurationssicherungen mit Datum und Größe. Der LLM-Schalter aktiviert ein optionales Sprachmodell, das lokal über Ollama läuft – so lassen sich freie Fragen beantworten, ohne Daten an einen Cloud-Dienst zu senden.

Bestimmen Sie den Detailgrad
Desktop-Client

Bestimmen Sie den Detailgrad

Die Ausführlichkeit der Antworten reicht von knappen Zählwerten bis zur vollständigen Debug-Ausgabe. Zeitstempel, Symbole, ASCII-Tabellen und Listenbegrenzungen lassen sich an eine Leitstelle oder an einen Errichter am Laptop anpassen.

So funktioniert es

Der Dialog für die Ausführlichkeit ändert, wie der Chat Serverantworten formatiert. Die vier Stufen reichen von einzeiligen Zählwerten bis zur vollständigen Ausgabe einschließlich Rohwerten. Zeitstempel, Statussymbole und ASCII-Tabellen lassen sich ein- und ausschalten, ebenso ein kompakter Abstandsmodus und eine Begrenzung der in Listen angezeigten Einträge. Die Einstellungen gelten auf dem Client beim Darstellen der Antworten, sodass verschiedene Bediener am selben Server unterschiedliche Stufen nutzen können. Das Panel hinter dem Dialog ist die nach Kategorien geordnete Hilfeliste mit Beispielbefehlen.

Unter der Haube

Wie PotoP VMS Studio aufgebaut ist, wo es läuft und wie es Ihre Daten schützt.

01

Python-Server, offener Stack

Der Server ist eine Python-FastAPI-Anwendung, die unter PotoP OS (Linux) läuft. Er verwaltet Kameras, Benutzer, Aufzeichnungen und Einstellungen über eine REST- und WebSocket-API. Die Einstellungen liegen in PostgreSQL oder bei kleinen Installationen in SQLite.

02

Pipeline von der Kamera zum Bildschirm

Kameras werden über ONVIF und RTSP angebunden, mit Treibern für viele Marken. Janus und GStreamer wandeln Streams für Browser in WebRTC um, während FFmpeg Transcodierung und Export übernimmt. Der Desktop-Client dekodiert mit GStreamer und nutzt, wo vorhanden, die GPU.

03

KI-Inferenz herstellerübergreifend

Die KI läuft serverseitig in Worker-Prozessen als Kaskade aus Detektoren, Trackern und Klassifikatoren. Zu den Backends gehören ONNX Runtime, OpenVINO, TensorRT und ROCm sowie Edge-Beschleuniger wie Hailo und Coral. Stufen lassen sich auf verschiedene Server verteilen.

04

Desktop, Web und Telefon

Der Desktop-Client basiert auf Qt mit PySide6. Der Web-Client läuft in jedem modernen Browser und erfordert keine Installation. Die Android-App bettet den Web-Client ein und ergänzt die Anmeldung per Fingerabdruck. Alle nutzen dieselbe Server-API und dieselben Berechtigungen.

05

Aufzeichnung und Speicher

Video wird als Segmente mit Zeitstempel geschrieben – nach Regeln für Dauer-, zeitgesteuerte oder ereignisgesteuerte Aufzeichnung mit Vorlaufpuffer. Segmente können mit AES-256 verschlüsselt werden und werden nach Alter oder Größe bereinigt. Erkennungen und Vorschaubilder landen in einer separaten Analysedatenbank.

06

Standardmäßig sicher

Der Zugriff erfolgt über signierte Token mit Rechten pro Benutzer und Gruppe sowie optionaler Zwei-Faktor-Anmeldung. Der Server besitzt eine eigene Zertifizierungsstelle für HTTPS, eine integrierte Firewall-Seite und ein Prüfprotokoll. Kamerapasswörter werden verschlüsselt gespeichert, und Exporte sind passwortgeschützt.

07

Redundanz und Failover

Ein Failover-Server holt regelmäßig Sicherungen des Hauptservers und spiegelt dessen Benutzer, sodass bestehende Sitzungen nach einer Übernahme weiterlaufen. Hintergrundjobs nutzen eine Leader-Wahl über die Datenbank, damit nur eine Instanz sie ausführt. PostgreSQL unterstützt mehrere Instanzen.

Möchten Sie PotoP VMS Studio bei sich vor Ort sehen?

Erzählen Sie uns von Ihrer Installation — wir zeigen Ihnen gern alles oder richten eine Testversion ein.