PotoP VMS Studio

Professioneel videomanagementsysteem

Eén systeem voor livevideo, opname, AI-detectie, plattegronden en videowalls in de meldkamer — met een eigen certificaatautoriteit, failover naar een standby-server en een desktop-, web- en Android-client.

Gemaakt in de EU Draait op uw eigen servers

Detecties zichtbaar in opnames

Videowalls

Indelingen voor meerdere monitoren, herkende schermen en projectie met één klik vanaf elke client.

Afspelen dat dingen vindt

Gebeurtenissentijdlijn, detecties in opnames, TimeFold-samenvatting en versleutelde export met watermerk.

AI op uw eigen hardware

Analyse van objecten, houding, segmentatie, kentekens en gezichten, met zoeken over camera's heen — zonder cloud.

Live plattegronden

Camera's, deuren, verlichting en intercoms op uw plattegronden, met livestatus en kijkkegels.

Failover & RAID

Een standby-server neemt automatisch over; RAID-status en capaciteit zijn altijd in beeld.

Standaard veilig

Eigen certificaatautoriteit, HTTPS naar camera's, fijnmazige rechten, 2FA en een volledige audittrail.

Gebouwd voor serieuze videotoepassingen

PotoP VMS Studio beheert uw camera's vanaf één server en toont ze waar u ze nodig hebt: in een meldkamer met meerdere monitoren, in een browser of op een telefoon. Opname, afspelen, AI-analyse en alarmafhandeling zitten in hetzelfde systeem, zodat een gebeurtenis op een camera een gemarkeerd moment op de tijdlijn wordt, een melding en — als u dat wilt — een macro die erop reageert.

Het is gemaakt voor installateurs en operators die er om 3 uur 's nachts op moeten kunnen vertrouwen: een standby-server neemt over als de primaire uitvalt, de gezondheid van de opslag is altijd in beeld, elke actie wordt vastgelegd, en elke verbinding is versleuteld met certificaten die het systeem zelf uitgeeft.

Nog beter met PotoP Enterprise Suite

PotoP VMS Studio is op zichzelf compleet. Installateurs en servicebedrijven die ook PotoP Enterprise Suite gebruiken, hebben hun engineering- en servicewerk sneller af.

PotoP Enterprise Suite

Storingen gaan direct naar de service

Een operator meldt een storing in het VMS; die wordt een serviceaanvraag in PES met een SLA-klok, en de operator ziet wanneer er een monteur onderweg is.

Geprogrammeerd vanuit het ontwerp

Camera's, opname, AI-analyse, schema's en werkplekindelingen die in PES zijn getekend, worden in één stap naar de server gestuurd.

Documentatie die blijft kloppen

Het geïnstalleerde systeem kan in PES worden teruggelezen, zodat tekeningen, pakketten en certificaten overeenkomen met de werkelijkheid.

Rondleiding

Elk scherm hieronder is een echte screenshot. Zoek een functie of kies een hoofdstuk; klik op een afbeelding om die op ware grootte te zien en blader met de pijltjestoetsen.

01

Monitoren & videowalls 5 schermen

Zet elke combinatie van camera's op elk aantal schermen, en stuur een indeling met één klik naar een wall.

Videowalls met meerdere indelingen
Hoogtepunt Desktopclient

Videowalls met meerdere indelingen

Een multi-indeling zet in één recept een camera-indeling op elke monitor van een meldkamer. Monitoren die op de client ontbreken, worden gewoon overgeslagen, zodat dezelfde wall werkt op een bureau met twee schermen of in een grote zaal.

Hoe het werkt

Een multi-indeling is een opgeslagen recept op de server: per monitorcode legt het vast welke camera-indeling er getoond wordt. Bij het starten zoekt de client op welke van die codes op deze computer aanwezig zijn, opent op elk ervan een venster op volledig scherm en laadt de bijbehorende indeling met haar livestreams. Codes die ontbreken, worden overgeslagen, zodat hetzelfde recept draait op een bureau met twee schermen of in een grotere zaal. Indelingen behouden hun cameratoewijzingen, en het recept kan aan gebruikers of groepen worden toegewezen, zodat het bij het aanmelden automatisch opent.

Elk scherm herkend
Desktopclient

Elk scherm herkend

Het tabblad Monitoren toont elk beeldscherm dat op de client is aangesloten met poort, resolutie, verversingssnelheid en videokaart. Elke monitor houdt een vaste code zoals M1, zodat een wall altijd op hetzelfde fysieke scherm terechtkomt.

Hoe het werkt

De client vraagt het besturingssysteem naar zijn beeldschermen en de grafische driver naar de details, zodat elke monitor fabrikant, model, serienummer, resolutie, verversingssnelheid, aansluiting en de aansturende GPU toont, plus temperatuur en VRAM waar de driver die doorgeeft. Elk fysiek scherm wordt herkend aan zijn hardware-identiteit, niet aan zijn positie, en krijgt een vaste code zoals M1. Nieuwe namen en codes worden op die client opgeslagen en blijven behouden na herstarten en opnieuw aansluiten. Een losgekoppelde monitor blijft in de lijst staan totdat u hem verwijdert, zodat een opgeslagen wall nog steeds naar hetzelfde scherm verwijst.

Bouw een wall in de browser
Webclient

Bouw een wall in de browser

De webclient biedt dezelfde wall-editor onder Beheerinstellingen. Kies een indeling voor elke monitorcode, sla de multi-indeling op en projecteer haar op de schermen van de browser waarachter u zit.

Hoe het werkt

De editor draait in de browser en slaat de multi-indeling op de server op, zodat hetzelfde recept ook door desktopclients wordt gebruikt. De browser somt zijn eigen schermen op via de Window Management API, waarvoor een beveiligde HTTPS-verbinding en toestemming van de gebruiker nodig zijn. Elk item toont een monitorcode, en codes die niet bij deze browser horen, worden als niet aanwezig weergegeven. Kiest u een indeling voor een code, dan wordt die aan het recept toegevoegd. Bij projecteren opent per passend scherm een browservenster dat daar wordt geplaatst en de live-indeling toont.

Met één klik een wall projecteren
Webclient

Met één klik een wall projecteren

Een opgeslagen multi-indeling toont haar monitoren en indelingen in één oogopslag, met knoppen om de projectie te starten, te bewerken of te verwijderen. Walls kunnen ook aan gebruikers en groepen worden toegewezen, zodat ze automatisch openen.

Hoe het werkt

Multi-indelingen worden op de server opgeslagen als een lijst monitorcodes met voor elke code de indeling. Dit overzicht tekent elk recept als een kleine afbeelding van zijn schermen en toont hoeveel daarvan in de gebruikte browser aanwezig zijn. Projectie starten opent een venster op elk passend scherm en start daar de live-indelingen. Bewerken en Verwijderen wijzigen het opgeslagen recept voor alle clients. De toegang volgt dezelfde gebruikers- en groepsrechten als de rest van het systeem, en een wall kan aan gebruikers of groepen worden gekoppeld, zodat hij voor hen automatisch opent.

Elk beeldscherm identificeren
Webclient

Elk beeldscherm identificeren

In de webclient laat Identificeren de monitorcode en -naam schermvullend oplichten op elk beeldscherm dat de browser ziet. In een zaal vol identieke schermen weet u altijd welke fysieke monitor M2 is. De desktopclient heeft dezelfde functie op het tabblad Monitoren.

Hoe het werkt

Via de Window Management API, waarvoor HTTPS en eenmalige toestemming nodig zijn, weet de browser op welk fysiek scherm elk venster staat. Identificeren opent op elk gevonden beeldscherm een randloos venster, toont de monitorcode en -naam in grote letters en sluit het na een paar seconden weer. De code komt uit een register dat in deze browser wordt bijgehouden, zodat nieuwe namen behouden blijven en een losgekoppelde monitor in de lijst blijft totdat u hem verwijdert. Het detailpaneel toont resolutie, positie, schaal en kleurdiepte zoals de browser die ziet.

02

Afspelen & opnemen 7 schermen

Vind het moment dat telt: gebeurtenissen op de tijdlijn, AI-kaders op de video en exports die aantonen dat er niet aan is gekomen.

Afspelen met gebeurtenissentijdlijn
Hoogtepunt Webclient

Afspelen met gebeurtenissentijdlijn

Kies een camera en een datum, en de tijdlijn toont de opgenomen periodes met markeringen voor beweging en detecties. Het gebeurtenissenpaneel somt gedetecteerde auto's, personen en meer op met miniaturen, zodat u direct naar het belangrijke moment springt.

Hoe het werkt

Opnames worden op de server opgeslagen als segmenten met tijdstempel. Kiest u een camera, dan stuurt één WebSocket-kanaal de lijst met opgenomen periodes en de stroom detectiegebeurtenissen door, zodat de tijdlijn zich vult zonder te pollen. De gebeurtenissen komen uit de analysedatabase, waarin de AI-pipeline elke detectie van beweging, personen, voertuigen en kentekens met een miniatuur heeft vastgelegd. Met de filterchips beperkt u de lijst per type. De server ontsleutelt segmenten waar nodig in het geheugen en levert de video aan de browser. Klikt u op een gebeurtenis, dan springt de afspeelkop naar dat moment.

Detecties zichtbaar in opnames
Webclient

Detecties zichtbaar in opnames

De opname speelt af met het gedetecteerde object omlijnd, en de zijlijst toont per detectie de klasse en de betrouwbaarheid. Rechercheurs vinden het voertuig of de persoon die ze zoeken zonder urenlang beeldmateriaal door te spoelen.

Hoe het werkt

Terwijl de AI-pipeline de livestream volgde, sloeg hij elke detectie op met klasse, betrouwbaarheid, kader en miniatuur in de analysedatabase. Bij het afspelen worden die regels voor het getoonde moment opgehaald en tekent de browser het kader over de video, zodat er niets in de opname wordt ingebrand. De zijlijst wordt uit dezelfde regels gevuld en toont klasse, tijd en betrouwbaarheid. Klikt u op een item, dan springt de opname naar dat moment. De tracker telt ook hoeveel waarnemingen bij één object horen, zodat één geparkeerde auto te onderscheiden is van vele passerende.

Een object op de afspeelkop identificeren
Webclient

Een object op de afspeelkop identificeren

Pauzeer op een willekeurig beeld en bekijk het object onder de afspeelkop. De assistent beschrijft wat hij ziet, en met één knop doorzoekt u de opnames op hetzelfde type en dezelfde kleur.

Hoe het werkt

Inspecteren neemt het beeld onder de afspeelkop en stuurt het naar de server, die er de detector op loslaat en het object met zijn masker uitsnijdt. De knop Identificeren geeft die uitsnede door aan een vision-taalmodel dat in de AI-instellingen is ingesteld, lokaal of via een aanbieder van uw keuze, en toont de beschrijving. De kleur komt uit de uitsnede zelf. Zoek dit type en deze kleur doorzoekt daarna de analysedatabase op detecties van dezelfde klasse en kleur in alle opnames. De beschrijving is de beste inschatting van een model, en dat zegt het ook als het beeld slecht is.

TimeFold-videosamenvatting
Webclient

TimeFold-videosamenvatting

TimeFold vat uren opname samen in een korte clip door bewegende objecten over één gedeelde achtergrond te leggen. Kies het tijdvak, de objecttypen en de dichtheid, en genereer de samenvatting.

Hoe het werkt

De server loopt de opgenomen segmenten van het gekozen tijdvak door, ontsleutelt ze in het geheugen en neemt steekproeven van beelden. Een filter op basis van achtergrondaftrek slaat lege beelden over, zodat de objectdetector en tracker alleen draaien waar iets beweegt. Elk gevolgd object wordt een reeks uitgesneden beelden met de oorspronkelijke tijdstempels. Die reeksen worden opnieuw ingepland, zodat ze tegelijk over één gedeelde achtergrond spelen, en ffmpeg rendert het resultaat als MP4 met de echte tijd van elk object ingebrand. De taak draait op de achtergrond, met voortgangsweergave, en kan worden geannuleerd. Een klik op een object laat de tijdlijn naar het oorspronkelijke moment springen.

Versleutelde export met watermerk
Webclient

Versleutelde export met watermerk

Exporteer een tijdvak naar de server of naar uw eigen computer als MP4, met optionele AES-versleuteling en een ingebrande tijdstempel, cameranaam en watermerk. De ontvanger heeft het wachtwoord nodig, zodat bewijsmateriaal beschermd blijft.

Hoe het werkt

De server knipt het gevraagde tijdvak met ffmpeg uit de opgenomen segmenten en ontsleutelt versleutelde opnames desgewenst in het geheugen. Tijdstempel, cameranaam en watermerk worden in het beeld ingebrand. Schakelt u versleuteling in, dan wordt de MP4 versleuteld met AES-256 met een sleutel die via PBKDF2 uit uw wachtwoord wordt afgeleid, en ernaast wordt een handtekeningbestand geschreven. Het wachtwoord wordt nooit opgeslagen, zodat niets het kan achterhalen. Het resultaat blijft op de server, wordt naar uw computer gedownload of allebei, afhankelijk van de bestemming die u kiest.

Losse speler voor exports
Zelfstandige speler

Losse speler voor exports

De PotoP Player opent versleutelde exports, controleert de handtekening en ontsleutelt ze met het wachtwoord. Daarna kunt u een fragment bijsnijden, een foto maken of een MP4-kopie exporteren.

Hoe het werkt

De speler draait op elke computer, zonder PotoP-server. U kiest de versleutelde video en het bijbehorende handtekeningbestand en voert het wachtwoord in. Eerst controleert hij de handtekening met een HMAC om aan te tonen dat het bestand ongewijzigd is, daarna leidt hij met PBKDF2 de sleutel uit het wachtwoord af en ontsleutelt hij met AES-256. De onversleutelde video bestaat alleen in het geheugen zolang hij speelt. Vervolgens kunt u met de groene grepen een fragment bijsnijden, een still opslaan of een gewone MP4-kopie exporteren. Een browserversie wordt meegeleverd in exportmappen, met startbestanden voor Linux, Windows en macOS.

Opnameregels per camera
Webclient

Opnameregels per camera

Stel per camera continue, geplande of door gebeurtenissen gestarte opname in, met opties voor versleuteling, opslag en bewaartermijn. Macro's en meldingen kunnen op de opnamegebeurtenissen reageren.

Hoe het werkt

Elke camera heeft eigen opname-instellingen die op de server zijn opgeslagen, en de recorder past ze toe zodra u opslaat. Triggers kunnen continu zijn, een weekschema, of gebeurtenissen zoals beweging, een persoon, een kenteken, een alarmingang of een macro, met buffers voor en na de gebeurtenis zodat ook het moment vóór de trigger bewaard blijft. Segmenten worden op een vaste lengte geknipt en kunnen na het afsluiten met AES-256 worden versleuteld. De bewaartermijn verwijdert oude segmenten op leeftijd of op maximale grootte. Start-, stop- en detectiegebeurtenissen kunnen meldingen versturen via systeemgebeurtenissen, e-mail, Telegram of een webhook.

03

AI-detectie 7 schermen

Detectie draait op uw eigen server en GPU of AI-versneller. Bouw de pipeline per camera: waar moet hij op letten, waar, en wanneer moet hij alarm slaan.

Configureerbare AI-pipeline
Hoogtepunt Webclient

Configureerbare AI-pipeline

Elke camera krijgt een eigen AI-pipeline. Een primaire detector kan gekoppelde vervolgstappen voeden voor gezichten, kentekens en houding, waarbij u per stap het model, de backend en het rekenapparaat kiest.

Hoe het werkt

De AI draait op de server, niet in de browser. Voor elke camera start de server een pipeline die de stream decodeert en een primaire detector op het volledige beeld laat lopen. De cascade stuurt daarna alleen het gedetecteerde gebied door naar secundaire modellen: gezicht en houding bij een persoon, het kenteken bij een voertuig. Elke stap heeft een eigen model, backend en rekenapparaat. Backends zijn onder meer ONNX Runtime, OpenVINO, TensorRT en ROCm, zodat NVIDIA, AMD, Intel en de CPU allemaal werken. Stappen kunnen ook op een andere server in het cluster draaien. De resultaten worden in de analysedatabase geschreven.

Cascadestappen en tracking
Webclient

Cascadestappen en tracking

Detectiedrempels, klassefilters en objecttracking stelt u per camera in. Stappen voor kentekenherkenning, houdingsschatting en segmentatie draaien alleen als de vorige stap het object vindt dat ze nodig hebben.

Hoe het werkt

De primaire detector draait op een ingestelde framerate met een eigen betrouwbaarheidsdrempel, overlapdrempel, maximaal aantal detecties en klassefilter. Een tracker, in deze weergave ByteTrack, koppelt detecties over opeenvolgende beelden aan stabiele object-ID's; daarop zijn tellen en verblijftijd gebaseerd. Secundaire stappen worden per klasse geschakeld: kentekenherkenning start pas als er een auto, vrachtwagen, bus of motor wordt gevonden, en houding of segmentatie pas als hun triggerklasse verschijnt. Zo blijft de belasting laag, omdat de zwaardere modellen alleen een kleine uitsnede zien en niet het hele beeld.

Houdings- en valdetectie
Webclient

Houdings- en valdetectie

Skeletpunten worden op het livebeeld getekend, met een tabel van gewrichtsposities en betrouwbaarheid. Een livetabel registreert personen en valgebeurtenissen voor de camera.

Hoe het werkt

Een houdingsmodel draait op de uitsnede van de persoon die de primaire detector heeft gevonden en geeft lichaamspunten terug, elk met een eigen betrouwbaarheid. De server slaat het skelet op en de browser tekent het over het beeld, met de gewrichtentabel ernaast. Valdetectie kijkt hoe die punten bewegen en over de tijd gerangschikt zijn, en een gevoeligheidsinstelling past de drempels aan. Als ze afgaat, wordt de gebeurtenis opgeslagen en kan ze een melding versturen of een macro starten. De livetabel eronder vraagt de database periodiek op, zodat u dezelfde regels ziet die het alarmsysteem bereiken.

Instantiesegmentatie
Webclient

Instantiesegmentatie

Objecten worden omlijnd met pixelnauwkeurige maskers, en de livetabel volgt elk object met zijn verblijftijd. Stilstaande of achtergelaten objecten worden rood gemarkeerd.

Hoe het werkt

Een segmentatiemodel draait op de objecten die de primaire detector heeft gevonden en geeft voor elk een pixelmasker terug. De server stuurt die als maskerafbeeldingen naar de browser, en het voorbeeld tekent ze over het beeld. De tracker houdt een object-ID bij, zodat de tabel kan tonen hoe lang elk object al in beeld is. Blijft een object langer stil dan de drempel voor stilstand, dan markeert de levenscycluslogica het als achtergelaten en kleurt de regel rood. Levenscyclusgebeurtenissen, zoals verschenen of vertrokken, worden vastgelegd om later te kunnen zoeken.

Zones en lijnoverschrijding
Webclient

Zones en lijnoverschrijding

Teken gebieden en lijnen direct op het camerabeeld om interessezones vast te leggen. Gebeurtenissen voor lijnoverschrijding en zones kunnen vervolgens personen en voertuigen tellen of alarmen geven.

Hoe het werkt

U tekent polygonen en lijnen direct op een livebeeld, en de server slaat ze op in de genormaliseerde coördinaten van de camera, zodat ze bij elke resolutie kloppen. De tracker volgt object-ID's, en een overschrijding wordt gedetecteerd wanneer de positie van een gevolgd object van de ene kant van de lijn naar de andere gaat, met de richting A naar B of B naar A. Zones genereren gebeurtenissen voor binnenkomen en verblijven. Elke gebeurtenis gaat met tijdstempel en track-ID naar de analysedatabase, waar tellers, rapporten, alarmen en macro's haar kunnen gebruiken.

Bewegingsmaskers
Webclient

Bewegingsmaskers

Kleur de gebieden in die genegeerd moeten worden, zoals bomen of een drukke weg, zodat bewegingsdetectie alleen reageert op wat ertoe doet. Als bron kunt u de analyse op de server of de eigen bewegingsdetectie van de camera gebruiken.

Hoe het werkt

Bewegingsdetectie heeft twee bronnen. De eigen detectie van de camera komt binnen als ONVIF-bewegingsgebeurtenissen, en de serveranalyse vergelijkt videobeelden met een achtergrondmodel op de server, via CPU of GPU. Het masker is een raster van blokken dat u op het beeld kleurt; blokken die als genegeerd zijn gemarkeerd, vallen buiten de vergelijking, zodat bladeren of wegverkeer niets triggeren. Gevoeligheid, minimale oppervlakte, bemonsteringsfrequentie en verkleining zijn instelbaar. Het masker wordt bij de camera opgeslagen en door de server toegepast zodra u opslaat.

Privacymaskering
Webclient

Privacymaskering

Teken maskers op het camerabeeld om gebieden zoals ramen van de buren te verbergen. Het masker kan worden toegepast op het livebeeld, momentopnames en opnames.

Hoe het werkt

U tekent blokken op een livebeeld, en de server slaat ze bij de camera op. Afhankelijk van de schakelaars vervaagt of bedekt de server die gebieden in de livestream, in momentopnames en in opnames. Voor live en opnames gebeurt dat op de server, voordat de video wordt opgeslagen of verstuurd; bij opnames gaat het gemaskeerde gebied in de opgeslagen video definitief verloren, waarvoor de pagina waarschuwt. Kleur en vervagingssterkte zijn instelbaar. De maskers worden bij het opslaan naar de draaiende pipeline gestuurd, zodat de wijziging geldt zonder de camera te herstarten.

04

Analyse 4 schermen

Doorzoek alles wat de AI heeft gezien, volg een persoon over meerdere camera's en tel wat er voorbijkomt.

Doorzoek elke detectie
Hoogtepunt Desktopclient

Doorzoek elke detectie

Doorzoek de objecten die elke camera heeft gedetecteerd, gefilterd op camera, klasse, betrouwbaarheid en tijd. Resultaten hebben kenmerken zoals kleur en kleding, en een dubbelklik opent Afspelen op precies dat moment. Exporteer de lijst naar CSV om er verder mee te werken.

Hoe het werkt

Elke detectie van de AI-pipeline wordt in de analysedatabase geschreven met camera, klasse, betrouwbaarheid, tijd, een track-ID en kenmerken. Het zoekscherm voert een gefilterde query op die database uit, zodat het in één stap over alle camera's antwoord geeft. Kenmerken zoals kleur, kleding en haar worden bepaald door de uitsnede van het object bij de detectie te classificeren. Een dubbelklik op een regel opent Afspelen bij die camera en dat tijdstip. De knop CSV exporteren schrijft de huidige resultatenlijst naar een bestand, en het statistiekenvak telt personen, voertuigen en unieke tracks.

Volg een persoon over meerdere camera's
Desktopclient

Volg een persoon over meerdere camera's

Zoeken op uiterlijk vindt dezelfde persoon of hetzelfde voertuig op andere camera's met behulp van visuele embeddings, zonder dat er een gezicht nodig is. Selecteer een resultaat om de route en de waarnemingsgeschiedenis te laden, en volg het daarna in Afspelen.

Hoe het werkt

Elke uitsnede van een persoon of voertuig wordt door een klein her-identificatiemodel op OpenVINO omgezet in een uiterlijkvector van 256 waarden en in de analysedatabase opgeslagen. Bij zoeken wordt de zoekafbeelding op dezelfde manier omgezet en via cosinusgelijkenis vergeleken met de opgeslagen vectoren, met een index in het geheugen, zodat het resultaat exact en snel is. Omdat het om het totale uiterlijk gaat en niet om een gezicht, werkt het ook bij mensen die van achteren of in lage resolutie in beeld zijn. Selecteert u een resultaat, dan worden de waarnemingsgeschiedenis en route van die track geladen, en Volgen in Afspelen opent de opnames.

Tellers voor personen en voertuigen
Desktopclient

Tellers voor personen en voertuigen

Tellers voor lijnoverschrijding registreren hoeveel objecten in elke richting passeren. Het historierapport groepeert overschrijdingen per uur met totalen en exporteert naar CSV voor bezettings- en personeelsplanningsstudies.

Hoe het werkt

Wanneer een gevolgd object een ingestelde lijn overschrijdt, legt de server de gebeurtenis vast met richting, camera, lijn en tijd. Dit scherm leest die gebeurtenissen live in de lijst Recent. Het historierapport groepeert ze per uur of per dag, met kolommen voor in, uit en totaal, en kan verblijftijd en bezetting toevoegen waar die zijn ingesteld. Bij het overschrijden van een bezettingslimiet volgt een melding. De CSV-knop exporteert het rapport voor spreadsheets, de gebruikelijke manier voor bezettings- en personeelsplanningsstudies.

Dagelijkse samenvatting voor operators
Webclient

Dagelijkse samenvatting voor operators

Een briefing in gewone taal vat de dag samen: gedetecteerde personen, voertuigen en kentekens, treffers op de watchlist en actieve camera's. Een lokaal taalmodel schrijft de tekst, en een anomaliedetector signaleert ongebruikelijke activiteit.

Hoe het werkt

De server telt detecties per camera en per uur uit de analysegegevens, inclusief kentekens en treffers op de watchlist. Die cijfers gaan naar een taalmodel, hier een klein Llama-model dat lokaal door Ollama wordt geleverd, dat de briefing in gewone taal schrijft. Is er geen model beschikbaar, dan wordt in plaats daarvan een eenvoudige statistische samenvatting getoond. De anomaliedetector gebruikt geen AI-model: hij leert een gebruikelijk aantal voor elk uur van de dag, apart voor werkdagen en weekenden, en markeert een uur dat ver boven die basislijn ligt. Hij blijft stil totdat er voldoende geschiedenis is.

05

Visualisatie 9 schermen

Teken uw locatie één keer en volg haar live: camera's met hun kijkkegels, en deuren, verlichting en intercoms met hun werkelijke status.

Camera's met gezichtsveld
Hoogtepunt Desktopclient

Camera's met gezichtsveld

Camerapictogrammen tekenen hun kijkkegel direct op de plattegrond, zodat operators zien wat elke camera bestrijkt. Deze plattegrond van een kinderdagverblijf combineert ruimtes, buitenterrein, verlichting, deuren en intercomposten in één beeld van de hele locatie.

Hoe het werkt

Een camerapictogram heeft een richting, een openingshoek, een bereik en een kleur, en de plattegrond tekent dat als een doorschijnende kegel over de vloer. De kegel hoort bij het opgeslagen pictogram, zodat operators op elke client dezelfde dekking zien. De plattegrond combineert ruimtes, buitenterrein getekend met bouwelementen, verlichting, deuren en intercompictogrammen, elk gekoppeld aan een eigen apparaat. Een klik op een camerapictogram kan het livebeeld openen, zodat de kaart ook dient om door de video te navigeren.

Live plattegronden
Desktopclient

Live plattegronden

Teken uw locatie als plattegrond en plaats er camera's, deuren, verlichting en intercoms op. Camera's tonen hun gezichtsveld, en elk pictogram geeft de werkelijke status weer van het apparaat waaraan het is gekoppeld. Eén plattegrond ziet er op desktop, browser en telefoon precies hetzelfde uit.

Hoe het werkt

Een plattegrond is een canvas met een optionele achtergrondafbeelding, getekende bouwelementen en pictogrammen, op de server opgeslagen samen met de rest van de systeemconfiguratie. Elk pictogram is gekoppeld aan een echt object, zoals een camera, een lamp, een deuruitgang of een intercom, en de server stuurt de status van dat object naar elke geopende client, zodat de kleur van het pictogram verandert wanneer het apparaat verandert. Desktop-, browser- en telefoonclients lezen allemaal dezelfde definitie van de plattegrond en tekenen haar zelf; daarom ziet één plattegrond er overal hetzelfde uit. Voor bewerken zijn de visualisatierechten nodig.

Begin met een sjabloon
Desktopclient

Begin met een sjabloon

Ingebouwde sjablonen genereren in enkele seconden een complete plattegrond met muren, ruimtes, deuren en de juiste pictogrammen. Het sjabloon voor een bankfiliaal legt bijvoorbeeld een geldautomatenhal, een loket, een kluis en een kluisruimte aan. Pas het aantal ruimtes en het uitrustingsniveau aan voordat u hem aanmaakt.

Hoe het werkt

De pagina Nieuwe plattegrond bevat een reeks ingebouwde generatoren. U kiest een gebouwtype, beantwoordt een paar parameters, zoals het aantal spreekkamers en hoeveel apparatuur er geplaatst moet worden, en ter plekke wordt een voorbeeld berekend. Bij Aanmaken schrijft de generator muren, ruimtes, deuren en pictogrammen in een gewone plattegrond op de server. Daarna ligt niets vast: het resultaat is een gewone plattegrond die u net zo bewerkt als een met de hand getekende, en u kunt ook een bestaande plattegrond klonen, met of zonder bouwelementen.

Sjablonen voor elk soort locatie
Desktopclient

Sjablonen voor elk soort locatie

Sjablonen dekken veel soorten gebouwen, van datacenters tot scholen, ziekenhuizen en magazijnen. De plattegrond van het datacenter voegt serverrijen, een NOC, een UPS-ruimte en een aggregaatterrein toe, elk met pictogrammen die klaarstaan om aan apparaten te worden gekoppeld.

Hoe het werkt

Sjablonen zijn generatoren in code die ruimtes, muren en pictogrammen uitzetten op basis van een paar parameters, hier het aantal serverrijen en het uitrustingsniveau. De pictogrammen worden ongekoppeld aangemaakt, met het juiste type en label voor elke ruimte, zodat de installateur ze daarna alleen nog aan een echte camera, sensor of uitgang hoeft te koppelen. Omdat het resultaat als gewone plattegrond wordt opgeslagen, kan het net als elke andere worden hernoemd, verplaatst, uitgebreid of gekloond. Verschillende gebouwtypen gebruiken simpelweg verschillende generatoren achter hetzelfde formulier.

Richt de kijkkegel
Desktopclient

Richt de kijkkegel

Stel richting, hoek, bereik en kleur van de kijkkegel van een camera in door te slepen in een livevoorbeeld. Voorinstellingen voor smalle, normale, groothoek- en fisheye-lenzen versnellen het plaatsen van veel camera's. Kies welke stream opent en wat een klik doet.

Hoe het werkt

De pictogrameditor heeft een cameratabblad met een kompasvoorbeeld. U sleept aan een greep om te richten, aan zijgrepen voor de breedte en aan een vierkante greep voor het bereik, of u typt waarden en gebruikt lensvoorinstellingen. Het voorbeeld toont precies wat de plattegrond na OK tekent; de ring en hulplijnen bestaan alleen in de editor. Op hetzelfde tabblad kiest u welke camera en welke stream (hoofd- of substream) het pictogram gebruikt en wat een klik doet, bijvoorbeeld een voorbeeld openen. Alle waarden worden bij het pictogram opgeslagen.

Lamppictogrammen en statuskleuren
Desktopclient

Lamppictogrammen en statuskleuren

Koppel een lamppictogram aan een Philips Hue- of ander ondersteund apparaat en kies hoe elke status er op de plattegrond uitziet: uit, aan, gedimd, storing en offline, plus statusstipjes voor in- en uitgangen. Sensor- of intercomingangen kunnen de lamp via macro's automatisch schakelen.

Hoe het werkt

Het getoonde venster is de editor voor lamppictogrammen, waarin elke status (uit, aan, gedimd, storing, offline) een eigen kleur krijgt, met optionele statusstipjes voor in- en uitgangen. Een lamppictogram wordt gekoppeld via een apparaatplug-in, zoals de Philips Hue-integratie of generieke I/O, en de server houdt de status gelijk met de echte armatuur. Automatisch schakelen vanuit intercom- of sensoringangen gebeurt door de macro-engine op de server, niet door de plattegrond zelf. Problemen die de plug-in meldt, zoals geen verbinding, krijgen een eigen kleur op het pictogram.

Intercompictogrammen met livestatus
Desktopclient

Intercompictogrammen met livestatus

Intercomposten tonen rust, overgaan, in gesprek, in de wacht, noodoproep en lijnstoring direct op de plattegrond. Operators starten met één klik een gesprek of openen een deur, precies waar de post zich bevindt.

Hoe het werkt

Een intercompictogram is gekoppeld aan een intercomplug-in, in het venster de Commend ICX-integratie, en de server luistert naar de oproepgebeurtenissen van die post. Elke gebeurtenis komt overeen met een pictogramstatus zoals rust, bellen, overgaan, in gesprek, in de wacht, noodoproep of lijnstoring, en elke status heeft een eigen kleur die de editor als voorbeeld toont. De status wordt naar alle verbonden clients gestuurd, zodat de plattegrond binnen enkele ogenblikken de echte post weerspiegelt. Acties op het pictogram, zoals bellen of een deur openen, gaan via dezelfde plug-in terug naar het apparaat.

Pictogrammen met pincode
Desktopclient

Pictogrammen met pincode

Gevoelige pictogrammen kunnen een pincode vragen voordat ze iets doen, zodat een deur of uitgang niet per ongeluk wordt bediend. Permanente en tijdelijke pincodevergrendelingen stelt u per pictogram in de editor in.

Hoe het werkt

Elke actie van een pictogram kan met een pincode worden vergrendeld. Klikt een operator op zo'n pictogram, dan vraagt de client om de pincode voordat hij de opdracht naar de server stuurt, zodat een verdwaalde klik geen uitgang kan schakelen of deur kan openen. Pincodes kunnen permanent of tijdelijk zijn en worden per pictogram in de editor ingesteld. De vergrendeling is een extra beveiliging bovenop de normale rechtencontrole, die de server nog steeds afdwingt voor wie er ook is aangemeld.

Gereedschapskist met bouwelementen
Desktopclient

Gereedschapskist met bouwelementen

Teken uw eigen plattegronden met vijftien soorten bouwelementen, zoals muren, deuren, ramen, trappen, wegen en planten. Elementen staan naast de apparaatpictogrammen, zodat u een plattegrond kunt maken zonder tekensoftware.

Hoe het werkt

Het paneel Bouwelementen toont tekenbare objecten zoals muren, deuren, ramen, trappen, liften, wegen, planten, hekken, zwembaden en borden, en u kunt er zelf ook toevoegen. Elementen zijn vectorvormen die in dezelfde plattegrond als de apparaatpictogrammen worden opgeslagen, met positie, grootte en laagvolgorde, zodat ze bij elke zoomfactor scherp schalen. Een plattegrond kan dus volledig in het product worden getekend, of over een geüploade achtergrond in PNG, JPG, BMP of GIF, zoals een tekening van de architect.

06

Joysticks & bedieningspanelen 2 schermen

USB-joysticks en bedieningspanelen sturen PTZ-camera's en indelingen aan, knop voor knop toegewezen.

Knoppen van de joystick toewijzen
Hoogtepunt Desktopclient

Knoppen van de joystick toewijzen

Aan elke knop van een netwerkjoystick kan een actie worden toegewezen vanuit een visueel diagram van de controller. Operators sturen PTZ-camera's en starten macro's zonder de muis aan te raken, en elke toewijzing wordt op de server opgeslagen.

Hoe het werkt

Een joystick, of het nu een USB-exemplaar aan de pc van de operator is of een netwerkunit elders, meldt zijn assen en knoppen als kleine frames. Netwerkapparaten sturen ze via UDP of HTTP naar de server, en de server stuurt ze via een WebSocket door naar elke client die die joystick heeft geselecteerd. De client leest de assen als pan, tilt en zoom, en zoekt elke knop op in een toewijzingstabel. Het diagramvenster bewerkt die tabel: kies een knop, kies een actie zoals een sneltoets, macro of preset, en klik op Toewijzen. De tabel wordt op de server opgeslagen onder de identiteit van de joystick, zodat elke client die hem gebruikt dezelfde toewijzingen krijgt.

Verbonden clients en joysticks
Webclient

Verbonden clients en joysticks

De pagina Clients toont elke desktop- en browserclient met zijn status, en laat een beheerder aan elke client een joystick toewijzen. Netwerkjoysticks en IP-joystickcontrollers worden op dezelfde plek beheerd.

Hoe het werkt

Elke desktop- en browserclient registreert zich bij de server onder een unieke ID en blijft zich melden, zodat de pagina kan tonen wat er online is, met gebruiker, GPU, aantal monitoren en het laatste contactmoment. Een beheerder kan een client vooraf registreren op zijn ID of er een verwijderen. Een joystick toewijzen koppelt een apparaatrecord aan die client. Netwerkjoysticks sturen kleine UDP- of HTTP-frames en blijven uitgeschakeld wanneer ze voor het eerst worden gezien, zodat niemand op het LAN camera's kan besturen totdat een beheerder ze inschakelt. IP-joystickcontrollers verbinden via VISCA-over-IP: de server luistert op een poort, gedraagt zich als een camera en stuurt de opdrachten door naar de PTZ-interface van de echte camera.

07

Apparaten 3 schermen

Elke camera, encoder en elk apparaat in één lijst, gegroepeerd voor toegangsbeheer.

Alle camera's in één lijst
Hoogtepunt Desktopclient

Alle camera's in één lijst

Alle camera's van een server staan in één tabel met IP-adres, driver en livestatus. Selecteert u een regel, dan ziet u een livevoorbeeld, fabrikant, model, firmware, resolutie, framerate en bandbreedte, naast de recentste apparaatgebeurtenissen. Kopiëren, verplaatsen, exporteren en importeren houden ook grote installaties overzichtelijk.

Hoe het werkt

Het tabblad Apparaten leest de cameratabel van de geselecteerde server en toont per regel driver, adres en livestatus. Een camera toevoegen gaat via ONVIF-detectie of een driver van de fabrikant, en streams worden via RTSP opgehaald. Selecteert u een regel, dan opent er een livevoorbeeld op de client, terwijl fabrikant, model, firmware, serienummer, resolutie, framerate en bandbreedte rechtstreeks van de camera en de lopende stream komen. De gebeurtenissenlijst eronder wordt gevoed door de eigen ONVIF-gebeurtenissen van de camera. Kopiëren, verplaatsen, exporteren en importeren worden als bulkbewerkingen op de server uitgevoerd.

Apparaatgroepen voor toegangsbeheer
Desktopclient

Apparaatgroepen voor toegangsbeheer

Camera's worden verzameld in apparaatgroepen met een naam, die elk hun aantal camera's tonen en de gebruikersgroepen die ze mogen zien. Statistieken en gekoppelde gebruikersgroepen staan naast de ledenlijst. De toegang volgt de groep, zodat nieuwe camera's automatisch de juiste zichtbaarheid krijgen.

Hoe het werkt

Een apparaatgroep is een benoemde verzameling camera's op een server. Gebruikersgroepen worden aan apparaatgroepen gekoppeld, en wanneer een gebruiker camera's opvraagt, geeft de server alleen de camera's terug die horen bij een apparaatgroep die aan een van de groepen van die gebruiker is gekoppeld. Statistieken tonen het aantal camera's en hoeveel gebruikersgroepen en gebruikers toegang hebben. Omdat de regel door de server wordt toegepast en niet door de client, is een camera die aan een groep wordt toegevoegd direct zichtbaar voor de juiste mensen, en de ingebouwde beheerder ziet altijd alles.

Gebruikersgroepen aan camera's koppelen
Desktopclient

Gebruikersgroepen aan camera's koppelen

Een apparaatgroep wordt gekoppeld aan een of meer gebruikersgroepen uit een doorzoekbare lijst die laat zien wat elke groep mag. Leden van die groepen zien de camera's in de apparaatgroep en verder niets. Zo blijven toegangsregels overzichtelijk.

Hoe het werkt

De keuzelijst toont alle gebruikersgroepen met een korte beschrijving van wat elke groep mag, en een zoekveld maakt de lijst korter. Een groep toevoegen slaat op de server een koppeling op tussen die gebruikersgroep en de apparaatgroep. Vanaf dat moment krijgt elk lid van die groep de camera's van de groep in livebeeld, afspelen en indelingen, en via deze koppeling geen andere. Koppelen en ontkoppelen is één stap en geldt direct voor aangemelde gebruikers, zonder herstart.

08

Rapporten & gebeurtenissen 5 schermen

Alles wat er gebeurt, wordt vastgelegd, is als PDF in uw huisstijl te rapporteren en kan een macro starten of een melding versturen.

Elke actie wordt vastgelegd
Hoogtepunt Desktopclient

Elke actie wordt vastgelegd

De audittrail legt vast wie wat wanneer deed en met welk resultaat, met categorieën, ernst en alle details van elke regel. Zoeken, filteren en exporteren helpen bij compliance-controles en de opvolging van incidenten.

Hoe het werkt

Elke clientactie en elke wijziging op de server wordt als één regel geschreven in een auditlog waaraan alleen kan worden toegevoegd, bijgehouden in een aparte rapportagedatabase los van de hoofdconfiguratie, zodat intensief loggen het videosysteem niet vertraagt. Een regel bevat tijd, gebruiker, categorie, ernst, actie, doel, resultaat, IP-adres en de client die de aanroep deed. Het tabblad Rapporten bevraagt het log met paginering, zoeken, filters, opgeslagen rapporten en export, en het detailpaneel toont de volledige regel. Niets in de interface kan een afzonderlijke regel bewerken of verwijderen.

Instellingen van de audittrail
Desktopclient

Instellingen van de audittrail

Kies wat er wordt vastgelegd, stel de bewaartermijn in dagen in en archiveer een kopie als CSV of PDF. Een gepland rapport kan automatisch naar gekozen ontvangers worden gemaild.

Hoe het werkt

Beheerders kiezen of clientacties en wijzigingen op de server worden vastgelegd, wat de minimale ernst is, welke categorieën bewaard blijven en hoeveel dagen. Een opschoonronde op de achtergrond verwijdert oudere regels volgens schema, en Bewaartermijn nu toepassen voert die op verzoek uit. Aanmeldings- en beveiligingsgebeurtenissen worden altijd op hun eigen ernstniveau bewaard. De trail kan als CSV of PDF worden gedownload, en een geplande taak kan het rapport wekelijks of naar keuze mailen via de mailserver die in de gebeurtenisinstellingen is ingesteld.

PDF-rapporten in uw huisstijl
Pdf-rapport

PDF-rapporten in uw huisstijl

Rapporten worden geëxporteerd als afdrukbare PDF's met de productbranding, filters en gegevens over het aanmaken. Deel ze met auditors of het management zonder verdere opmaak.

Hoe het werkt

De PDF wordt op de server gegenereerd uit dezelfde auditregels die het tabblad Rapporten toont, met een standaard Python-PDF-bibliotheek in plaats van een schermafbeelding. Hij bevat de productkop en het logo, wie het rapport wanneer heeft aangemaakt, de actieve filters, een tabel over meerdere pagina's met herhaalde kopregel, en een paginavoet. Zeer grote resultaatsets worden afgekapt, en het rapport vermeldt dat expliciet, bijvoorbeeld 5000 van het totaal. Het geplande e-mailrapport voegt precies dit bestand toe.

Gebeurtenissen die macro's starten
Desktopclient

Gebeurtenissen die macro's starten

Systeemgebeurtenissen zoals een verlopend certificaat, schijfgebruik of een lege apparaatbatterij kunnen een macro starten. Hier voeden vier gebeurtenissen een Telegram-berichtnode, allemaal visueel opgebouwd zonder code.

Hoe het werkt

De macro-editor is een visuele nodegraaf die op de server draait. Een System Event-node gaat af wanneer de statusbewaking een overeenkomende gebeurtenis genereert, zoals een bijna verlopen certificaat, hoog schijf- of GPU-gebruik of een bijna lege apparaatbatterij, en geeft de tekst en waarde van de gebeurtenis door via zijn uitgangen. Gekoppeld aan een Telegram Send-node plaatst hij een bericht via de Telegram Bot API. De graaf wordt gecontroleerd met Valideren, kan worden gesimuleerd, en terwijl hij live draait toont de editor de waarden die door elke node gaan.

Telegram-meldingen vanuit een macro
Desktopclient

Telegram-meldingen vanuit een macro

Een Telegram Send-node plaatst een bericht in een chat of kanaal zodra er een gebeurtenis binnenkomt. Bottoken, chat-ID en berichtsjabloon met placeholders stelt u in de node in, een Test-knop controleert de bezorging, en een minimale tussenpoos tussen berichten voorkomt herhaalde meldingen.

Hoe het werkt

Het scherm toont de Telegram Send-node van de macro-editor: bottoken, chat-ID, een berichtsjabloon met placeholders voor tijd en waarde, een Test-knop en een minimale tussenpoos tussen berichten, zodat herhaalde gebeurtenissen de chat niet overspoelen. De server plaatst het bericht via de Telegram Bot API zodra de node een stijgende flank ontvangt. E-mailmeldingen gebruiken de SMTP-server die onder de gebeurtenisinstellingen is ingesteld. De gebeurtenissen zelf komen van de statusbewaking van de server en van de gebeurtenisfeeds van de camera's.

09

Gebruikers & rechten 8 schermen

Groepen, rollen en een rechtenmatrix bepalen wie welke camera ziet en wie wat mag wijzigen.

Gebruikers, groepen en rechten
Hoogtepunt Desktopclient

Gebruikers, groepen en rechten

Gebruikersbeheer toont de accounts, of ze online zijn en tot welke groepen ze behoren. Voor de geselecteerde groep ziet u de indelingen, servers, leden, toegewezen apparaatgroepen en de rechten die de groep verleent. Eén scherm geeft het volledige beeld van wie wat mag.

Hoe het werkt

Gebruikersbeheer werkt met accounts, groepen en koppelingen. Selecteert u een groep, dan ziet u haar indelingen, servers, leden, apparaatgroepen en de rechten die ze inschakelt, allemaal rechtstreeks van de server gelezen. Gebruikers krijgen hun rechten via de groepen waartoe ze behoren, en de server controleert de rechten bij elk verzoek — niet alleen door knoppen in de client te verbergen. De online-stipjes komen van actieve sessies. Er worden zo'n 30 kant-en-klare groepen meegeleverd voor de gangbare rollen van operators en redacteuren.

Fijnmazige rechtenmatrix
Desktopclient

Fijnmazige rechtenmatrix

Rechten zijn verdeeld per module en per actie, zoals gebruiken, bewerken of verwijderen, en kunnen op naam worden gefilterd of via een voorinstelling worden toegepast. Livebeeld, PTZ, opname, VoIP, visualisatie en AI-analyse worden apart toegekend. Operators krijgen precies de rechten die hun werk vraagt.

Hoe het werkt

De server definieert zo'n 144 rechten, elk met een module en een actieniveau zoals gebruiken of bewerken. Het groepsvenster toont ze in secties, met een filterveld, snelkoppelingen voor alles/gebruiken/bewerken en voorinstellingen die een gangbare set aanvinken. De server controleert het betreffende recht bij elke API-aanroep en elk livekanaal, zodat een gebruiker zonder PTZ- of opnamerechten ook wordt geweigerd als hij de API rechtstreeks aanroept. Geweigerde pogingen worden met de naam van het recht in de audittrail vastgelegd.

Groepen op basis van rollen
Desktopclient

Groepen op basis van rollen

Gebruikers worden ingedeeld in kant-en-klare groepen zoals Operators, Kijkers en gespecialiseerde redacteuren voor indelingen, macro's, kaarten of PTZ. Het groepslidmaatschap bepaalt de basisrechten, indelingen en toegang tot apparaten. Zo blijven rollen consistent over veel gebruikers.

Hoe het werkt

In plaats van rechten per gebruiker toe te kennen, verplaatst een beheerder gebruikers tussen kant-en-klare groepen zoals Operators, Kijkers en paren van redacteuren en gebruikers voor indelingen, macro's, kaarten, PTZ, apparaten en meer. De effectieve rechten van een gebruiker zijn de optelsom van de rechten van al zijn groepen, plus hun indelingen en de camera's van de apparaatgroepen die aan die groepen zijn gekoppeld. Een groep wijzigen wijzigt alle leden tegelijk, waardoor rollen consistent blijven over veel accounts.

Limieten per groep
Desktopclient

Limieten per groep

Voor elke groep kunt u een plafond instellen voor gelijktijdige streams, exportduur en opslag, aantal indelingen, macro's en bladwijzers, en de API-snelheid. Limieten beschermen de servercapaciteit en houden gedeelde installaties voorspelbaar.

Hoe het werkt

Het tabblad Middelen van een groep stelt numerieke plafonds in, waarbij nul onbeperkt betekent: camera's en gelijktijdige streams die een lid mag openen, exportlengte, -grootte en -aantal per dag, hoeveel indelingen, macro's en bladwijzers hij mag maken, en API-verzoeken per uur en tokens. De server dwingt ze af zodra er een verzoek komt, bijvoorbeeld door een stream boven het plafond te weigeren. Instellingen per gebruiker kunnen de groepswaarde overschrijven, zodat een gedeelde installatie ook onder belasting voorspelbaar blijft.

Wachtwoord- en aanmeldbeleid
Desktopclient

Wachtwoord- en aanmeldbeleid

Beveiligingsinstellingen bepalen het aantal gelijktijdige sessies, de sessietime-out, verplichte tweestapsverificatie, wachtwoordlengte en -geldigheid, blokkering na mislukte pogingen en de bewaartermijn van het auditlog. Het beleid stelt u één keer per groep in en het geldt voor elk lid.

Hoe het werkt

Het tabblad Beveiliging van een groep bepaalt het aantal gelijktijdige sessies, de sessietime-out, verplichte tweestapsverificatie, minimale wachtwoordlengte, complexiteit, geldigheidsduur, het blokkeren van hergebruik, blokkering na mislukte pogingen en de duur daarvan, plus auditniveau en bewaartermijn van het log. De server dwingt het beleid af bij het aanmelden en bij wachtwoordwijzigingen, waarbij wachtwoorden als gezouten bcrypt-hashes worden opgeslagen, niet leesbaar. De timing van het aanmelden is gelijkgetrokken, zodat een onbekende gebruikersnaam niet te onderscheiden is van een verkeerd wachtwoord.

Directe rechten voor een gebruiker
Desktopclient

Directe rechten voor een gebruiker

Naast groepsrechten kan een individuele gebruiker extra directe rechten krijgen. Van groepen overgenomen en directe rechten hebben elk een eigen kleur, zodat een beheerder in één oogopslag ziet waar elk recht vandaan komt.

Hoe het werkt

Het tabblad Rechten van de gebruiker toont dezelfde matrix als bij een groep, in twee kleuren: blauwe vakjes zijn directe rechten die hier kunnen worden gewijzigd, paarse komen van de groepen van de gebruiker en zijn in deze weergave alleen-lezen. De server combineert beide sets wanneer hij een verzoek controleert. Directe rechten zijn handig voor eenmalige uitzonderingen, en de teller laat zien hoeveel van het totaal actief zijn en hoeveel van groepen komen. Alle directe wissen verwijdert de uitzonderingen zonder de groepsrechten aan te raken.

Tweestapsverificatie, sessies en API-tokens
Desktopclient

Tweestapsverificatie, sessies en API-tokens

Per gebruiker beheren beheerders tweestapsverificatie en back-upcodes, ontgrendelen ze accounts en bekijken en beëindigen ze actieve sessies. Hier maakt u ook API-tokens aan en trekt u ze in, zodat integraties werken zonder dat wachtwoorden worden gedeeld.

Hoe het werkt

Het tabblad Beveiliging beheert de tweede factor van een gebruiker: een tijdgebonden eenmalig wachtwoord (TOTP) dat werkt met gangbare authenticator-apps, samen met eenmalige back-upcodes. Het toont ook de accountstatus, zoals vergrendeling, mislukte pogingen en laatste aanmelding, en laat een beheerder ontgrendelen of resetten. Actieve sessies staan in een lijst met IP-adres en browser en kunnen één voor één of allemaal tegelijk worden beëindigd. API-tokens zijn aparte inloggegevens met een naam en vervaldatum, zodat scripts en integraties het wachtwoord van de gebruiker niet nodig hebben; ze kunnen op elk moment worden ingetrokken.

Audittrail per gebruiker
Desktopclient

Audittrail per gebruiker

Het tabblad Activiteit toont actieve sessies met client en IP-adres, gevolgd door recente beveiligingsgebeurtenissen zoals geweigerde rechten. Elke actie is herleidbaar, wat audits en incidentonderzoek ondersteunt.

Hoe het werkt

Het tabblad Activiteit leest voor één gebruiker twee dingen van de server: de actieve sessies, met IP-adres, clientaanduiding en laatste activiteit, en de recentste beveiligingsgebeurtenissen uit de audittrail. Geweigerde acties, zoals een geweigerd recht of een camera die de gebruiker niet mag zien, worden vastgelegd op het moment dat de server het verzoek afwijst, samen met de naam van het recht of de bron. Sessies tonen het soort client, bijvoorbeeld een browser of een script dat de API gebruikt, wat helpt om normaal gebruik te onderscheiden van onverwachte toegang.

10

Certificaten & beveiliging 7 schermen

PotoP heeft een eigen certificaatautoriteit, zodat camera's, servers, browsers en telefoons via geverifieerde HTTPS communiceren.

TLS-status in één oogopslag
Hoogtepunt Webclient

TLS-status in één oogopslag

Het webbeheerpaneel toont het transport, de geldigheid van het servercertificaat, de serversleutel en het geladen webclientcertificaat met zijn vingerafdruk. Operators zien binnen enkele seconden dat het systeem versleuteld is en wanneer een certificaat verloopt.

Hoe het werkt

Het webbeheerpaneel vraagt de server naar de huidige TLS-status en toont vier kaarten: het gebruikte transport (HTTPS met TLS 1.2 of 1.3), het servercertificaat en de vervaldatum ervan, het type en de lengte van de serversleutel, en het certificaat voor browsers met zijn SHA-256-vingerafdruk. Dezelfde vervaldata voeden een bewaker op de achtergrond die gebeurtenissen genereert voor de server, de certificaatautoriteit, gekoppelde servers en camera's voordat er iets verloopt, zodat meldingen naar macro's, e-mail of Telegram kunnen gaan.

Uw eigen certificaatautoriteit
Webclient

Uw eigen certificaatautoriteit

Het systeem kan een certificaatautoriteit aanmaken of importeren, het CA-certificaat downloaden, er een back-up van maken en certificaten intrekken via een CRL. De privésleutel van de CA blijft op de server. Apparaten en clients vertrouwen daarna één root die u zelf in handen hebt.

Hoe het werkt

De server kan een certificaatautoriteit genereren of een bestaande importeren. Het CA-certificaat en de privésleutel worden op de server opgeslagen, waarbij het sleutelbestand alleen leesbaar is voor het serviceaccount en optioneel met een wachtwoord is beveiligd; alleen ondertekende certificaten verlaten de machine. Op het tabblad kunt u ook het CA-certificaat downloaden, er een back-up van maken en het terugzetten, het in de systeemvertrouwensopslag installeren, certificaten op serienummer intrekken en een intrekkingslijst (CRL) samenstellen. Vanuit dezelfde CA kan ook een RADIUS-servercertificaat voor 802.1X worden uitgegeven.

Apparaatcertificaten uitgeven
Webclient

Apparaatcertificaten uitgeven

Een apparaatcertificaat wordt voor een naam en IP-adres gegenereerd en door de opgeslagen CA ondertekend, met een geldigheidsduur en een keuze van uitvoerformaat. Het kan ook als servercertificaat worden geïnstalleerd, waarmee browserwaarschuwingen verdwijnen.

Hoe het werkt

Er wordt een nieuw sleutelpaar gegenereerd en de opgeslagen CA ondertekent een certificaat voor de opgegeven naam, DNS- en IP-vermeldingen, met een gekozen geldigheid en sleuteltype. Het resultaat wordt aangeboden als PEM (certificaat, sleutel en CA) of als PKCS#12-bundel. Vinkt u de serveroptie aan, dan wordt het certificaat als eigen certificaat van de server geïnstalleerd, vertrouwt de desktopclient de CA, wordt het oude zelfondertekende certificaat uitgefaseerd en wordt de dienst herstart, zodat browsers geen waarschuwingen meer tonen zodra ze de CA vertrouwen.

HTTPS voor camera's in bulk
Webclient

HTTPS voor camera's in bulk

Camera's worden opgesomd of uit een CSV geïmporteerd, waarna in één run certificaten worden uitgerold en HTTPS op allemaal wordt geactiveerd. Daarbij worden de API's van de fabrikanten gebruikt, zodat niemand op elke camera afzonderlijk hoeft in te loggen.

Hoe het werkt

U voert camera's handmatig in of importeert een CSV met adres, fabrikant, inloggegevens en poorten. Voor elke regel geeft de server een apparaatcertificaat uit vanuit de CA, zet het certificaat en de CA via de eigen web-API van die fabrikant op de camera en schakelt daarna HTTPS in. Er zijn ook acties om HTTPS uit te schakelen en te testen. De server moet de camera's op het netwerk kunnen bereiken, en inloggegevens worden alleen voor de run gebruikt. Het resultaat is één doorgang in plaats van op elke camera inloggen.

Certificaten naar camera's uitrollen
Webclient

Certificaten naar camera's uitrollen

Een ondertekend certificaat kan naar één camera worden uitgerold, met opties om de CA mee te sturen, HTTPS te activeren, gewone HTTP uit te schakelen en de verbinding te testen. Daaronder rolt een tweede sectie certificaten via SSH uit naar een andere PotoP-host.

Hoe het werkt

Voor één camera ondertekent de server een apparaatcertificaat en uploadt het via de API van de fabrikant; daarnaast kan hij de CA meesturen, HTTPS activeren, gewone HTTP uitschakelen en de beveiligde verbinding testen. De tweede sectie maakt via SSH verbinding met een andere PotoP-host, kopieert het certificaat, de sleutel en het CA-bestand naar de doelmap en kan een dienst herstarten. Beide bewerkingen draaien op de server, die het doel dus moet kunnen bereiken, en vereisen beheerdersrechten.

Vertrouwen op browsers en telefoons
Webclient

Vertrouwen op browsers en telefoons

Het actieve webclientcertificaat wordt getoond met onderwerp, geldigheid, sleutellengte en vingerafdruk. Via een download en een QR-code kunnen telefoons en tablets de server vertrouwen, terwijl een installatiescript hetzelfde doet voor Linux, macOS en Windows.

Hoe het werkt

Het paneel toont het certificaat dat momenteel voor de webclient is geladen, met onderwerp, uitgever, geldigheid, sleuteltype en -lengte, handtekeningalgoritme en SHA-256-vingerafdruk, en kan het als PEM exporteren. Het mobiele gedeelte biedt het CA-certificaat aan als download of als QR-code die een telefoon of tablet kan scannen, zodat het apparaat de server één keer vertrouwt en daarna niet meer waarschuwt. Voor Linux, macOS en Windows zijn installatie-instructies en scripts beschikbaar.

Geverifieerde verbinding bij het aanmelden
Webclient

Geverifieerde verbinding bij het aanmelden

Het aanmeldscherm bevestigt met een groene melding dat de verbinding veilig is en het certificaat is geverifieerd, voordat er inloggegevens worden verstuurd. Gebruikers kunnen de server waarmee ze verbinden vertrouwen.

Hoe het werkt

Voordat het wachtwoord wordt verstuurd, maakt de aanmeldpagina via HTTPS contact met de gekozen server en controleert het certificaat aan de hand van de vertrouwensopslag van de browser. Is de keten geldig en klopt hij, dan verschijnt de groene melding Veilige verbinding; anders ziet de gebruiker een waarschuwing. Die controle wordt door de eigen TLS-stack van de browser uitgevoerd en kan dus niet door de pagina worden vervalst. Daarna worden de inloggegevens via de versleutelde verbinding naar de geverifieerde server gestuurd.

11

Opslag & RAID 5 schermen

Bouw en onderhoud RAID-arrays vanuit de client en weet altijd hoe gezond uw opslag is.

Opslagstatus in Systeemstatus
Hoogtepunt Desktopclient

Opslagstatus in Systeemstatus

RAID-bewaking staat naast de actuele bandbreedte, actieve camera's en de opnamedoorvoer. Een ingebouwde rekenhulp voor opnameduur zet schijfcapaciteit om in uren en dagen video, zodat operators de bewaartermijn met echte cijfers kunnen bepalen.

Hoe het werkt

Systeemstatus vraagt de geselecteerde server om actuele cijfers: inkomende en uitgaande bandbreedte, actieve camera's, opnamevolume, lezen en schrijven op schijf, en per camera CPU, geheugen en opslag. De RAID-status komt van de arraycontrollers op die server; deze opname toont een gesimuleerde array. De rekenhulp deelt de vrije opnameruimte, of een met de schuifregelaar ingestelde wat-als-grootte, door de gemeten bitrate van de camera's. Zo krijgt u uren en dagen bewaartermijn op basis van echte streamgegevens in plaats van een handmatig ingevoerde schatting.

RAID-indelingen die u kunt zien
Webbeheer van de server

RAID-indelingen die u kunt zien

Het RAID-paneel in de beheerinstellingen tekent elke schijf en stripe, met datablokken en beide pariteitsposities in eigen kleuren. Dit gesimuleerde RAID 6-voorbeeld toont de tolerantie voor twee uitgevallen schijven en de bruikbare capaciteit in één oogopslag, zodat installateurs hun opslag kunnen plannen voordat ze een echte array aanraken.

Hoe het werkt

Het RAID-paneel in de serverbeheerinstellingen is een tekenengine die schijven, stripes en pariteit voor het gekozen niveau uitzet. In de simulatiemodus kiest u een niveau en een aantal schijven en tekent het een synthetische array, zodat er niets echts wordt aangeraakt. Op een live server wordt dezelfde weergave gevuld vanuit de echte controller: software-RAID via mdadm, of hardwarecontrollers via de opdrachtregeltools van de fabrikant. Fouttolerantie en bruikbare capaciteit worden berekend uit het niveau en het aantal schijven, en het diagram laat zien hoe de pariteit over de leden roteert, zodat installateurs kunnen plannen voordat ze een array bouwen.

Geneste RAID 60 over meerdere groepen
Desktopclient

Geneste RAID 60 over meerdere groepen

RAID 60 verdeelt de data over meerdere RAID 6-groepen, en het diagram laat zien hoe elke groep haar eigen schijfuitval opvangt. De rekenhulp eronder zet de resulterende capaciteit om in opnameduur.

Hoe het werkt

Dezelfde RAID-monitor kan geneste niveaus tekenen. Hier wordt een gesimuleerde RAID 60 van zestien schijven getoond als vier RAID 6-groepen, met striping over de groepen erboven. Het paneel berekent de fouttolerantie per groep, zodat elke groep twee uitgevallen schijven overleeft, en de bruikbare capaciteit als acht van de zestien schijven. De wat-als-schuifregelaar eronder voert die capaciteit in de rekenhulp voor opnameduur in, die haar deelt door de gemeten bitrate van de camera's. De planning gebeurt op de servergegevens, zonder dat er iets aan de schijven verandert.

Arrays aanmaken vanuit de client
Desktopclient

Arrays aanmaken vanuit de client

Bouw een software-RAID-array door apparaat, niveau, chunkgrootte en leden te kiezen uit de gevonden schijven. Elke stap wordt eerst gepland en als voorbeeldopdracht getoond, zodat er niets verandert totdat u bevestigt.

Hoe het werkt

Het venster RAID-beheer draait in de desktopclient maar werkt op de server waarop u bent aangemeld. Een beheerder voert zijn wachtwoord opnieuw in om een kortlevend beheerderstoken te krijgen. Een array aanmaken levert een plan op: de server somt de gevonden schijven op en bereidt de exacte opdracht voor als lijst met argumenten, nooit als shell-tekenreeks, en toont die als voorbeeld. Tijdens het plannen wordt er niets uitgevoerd. Toepassen voert alleen dat opgeslagen plan uit via een vaste lijst toegestane RAID-tools, en bij gevaarlijke acties moet u eerst de identiteit van het doel intypen. Software-RAID gebruikt mdadm.

Uitbreiden, omvormen en onderhouden
Desktopclient

Uitbreiden, omvormen en onderhouden

Voeg schijven toe, vergroot een array, wijzig de chunkgrootte of converteer het niveau, en voer scrub-controles en reparaties uit. Met limieten voor de resync-snelheid brengt u onderhoud in balans met de opnamebelasting.

Hoe het werkt

Uitbreidings- en onderhoudsacties volgen dezelfde stroom van eerst plannen en dan toepassen als het aanmaken van een array. De client stuurt het verzoek, de server valideert elke apparaatnaam en stelt de exacte mdadm-opdracht samen voor het toevoegen van schijven, vergroten, wijzigen van de chunkgrootte of converteren van het niveau, en stuurt die terug ter controle. Scrub-controle en -reparatie starten de consistentiescan van de kernel op de array. Minimale en maximale resync-snelheid zijn de standaardlimieten van Linux-software-RAID, zodat een rebuild kan worden afgeremd terwijl camera's opnemen. Voor toepassen is het beheerderstoken nodig, en bij riskante stappen een bevestiging van de identiteit.

12

Failover & redundantie 5 schermen

Een standby-server spiegelt de primaire server en neemt vanzelf over wanneer de primaire uitvalt.

Live en standby, naast elkaar
Hoogtepunt Desktopclient

Live en standby, naast elkaar

Het tabblad Redundantie toont de live server en zijn failover-node met status, latentie, CPU en geheugen. De synchronisatiestatus van database en configuratie wordt per server getoond, en gebruikerssessies worden gespiegeld zodat clients aangemeld blijven. Een geforceerde overname start u vanuit hetzelfde tabblad.

Hoe het werkt

Het tabblad Redundantie toont een beheerserver en een failover-node die via een heartbeat worden bewaakt. Status, latentie, CPU en geheugen komen van controles op de API van elke server, en ook de status van de videopipeline wordt gecontroleerd. Een replicatieagent op de failover-node haalt periodiek een volledige export van database en configuratie op van de live server. Alleen bestanden waarvan de checksum is veranderd, gaan over het netwerk. Gebruikers en sessies worden gespiegeld naar de eigen database van de standby-server, zodat bestaande aanmeldtokens daar geldig blijven en clients na een overname aangemeld blijven.

Detectie en back-ups afstemmen
Desktopclient

Detectie en back-ups afstemmen

Stel het controle-interval, de time-out en de foutdrempel in, en kies welke diensten worden bewaakt. Automatische back-ups, het aantal bewaarde snapshots en een bandbreedtelimiet bepalen hoe de standby-node bijblijft, met optionele meldingen per e-mail, Telegram en op de desktop.

Hoe het werkt

Het tabblad Configuratie bepaalt hoe uitval wordt gedetecteerd en hoe de standby-server actueel blijft. De bewaking controleert elke server op het ingestelde interval, en een server wordt pas als uitgevallen beschouwd na het ingestelde aantal opeenvolgende mislukte controles. Verplichte diensten worden altijd bewaakt, terwijl optionele zoals VoIP of analyse alleen meetellen als ze zijn aangevinkt. Back-upinterval, aantal bewaarde snapshots en een bandbreedtelimiet sturen de replicatieagent op de failover-node aan. Meldingen kunnen per e-mail (SMTP), via Telegram of als desktopmelding worden verstuurd.

Replicatie actief
Desktopclient

Replicatie actief

Een back-upcyclus meldt het aantal overgedragen bestanden en megabytes, terwijl de standby-server zijn database als synchroniserend toont. U ziet op elk moment hoe dicht de failover-node bij de live server zit.

Hoe het werkt

Tijdens een back-upcyclus vraagt de failover-node een overzicht op van de bestanden en databases van de live server en haalt daarna alleen op wat sinds de vorige snapshot is veranderd. Ongewijzigde bestanden worden vanuit de vorige kopie gekoppeld; daarom kan het paneel duizenden bestanden tonen terwijl er maar een handvol is opgehaald. De voortgang in bestanden en megabytes wordt in een statusrecord geschreven dat de client live toont. De voltooide export wordt in een snapshotmap geroteerd, en de databaseregel van de standby-server toont Synchroniseren zolang de gegevens worden toegepast.

Failover actief, met één klik terug
Desktopclient

Failover actief, met één klik terug

Wordt een server overgenomen, dan kleurt de banner rood, wordt de live server als offline gemarkeerd en worden zijn camera's door de failover-node bediend. Eén knop Failback geeft het werk terug zodra de oorspronkelijke server weer gezond is.

Hoe het werkt

Een overname gebeurt automatisch zodra de foutdrempel is bereikt, of handmatig met Geforceerde overname. De standby-server bedient dan de camera's van de uitgevallen server, de uitgevallen server wordt als offline gemarkeerd, en de banner en de statusregel bovenaan kleuren rood. Reageert de oorspronkelijke server weer op de controles, dan verplaatst Failback de camera's terug. Het tabblad Configuratie kan dit ook automatisch doen, nadat de server een ingesteld aantal minuten gezond is geweest. Clients blijven werken omdat gebruikers en sessies al naar de standby-server waren gespiegeld.

Een overzichtelijk gebeurtenissenlog van de failover
Desktopclient

Een overzichtelijk gebeurtenissenlog van de failover

Elke stap van een overname wordt met een tijdstempel vastgelegd: replicatie, migratie van camera's, gestopte streams en het eindresultaat. Het verslag helpt operators na te gaan wat er gebeurde en het achteraf te documenteren.

Hoe het werkt

Het tabblad Gebeurtenissenlog legt elke stap van het redundantieproces vast op het moment dat hij plaatsvindt, met een lokale tijdstempel: een geforceerde replicatiecyclus, het overnameverzoek, de start van de overnameworker, de migratie van camera's, het aantal gestopte streams op de uitgevallen server en het eindresultaat. De regels komen uit de overnamevolgorde van de server en blijven gedurende de sessie bewaard, met een knop Wissen. Omdat elke overgang op volgorde wordt vastgelegd, kan een operator achteraf nagaan wat het systeem deed en het overnemen in een incidentrapport.

13

AI-trainingsstudio 5 schermen

Leer het systeem uw eigen objecten herkennen: annoteren, trainen, converteren en modellen uitrollen zonder PotoP te verlaten.

Train uw eigen detectiemodellen
Hoogtepunt Trainingsstudio

Train uw eigen detectiemodellen

Kies een modelfamilie, taak en grootte, en stel daarna epochs, beeldgrootte en hyperparameters in. De studio herkent de beschikbare trainingshardware en toont tijdens het trainen de voortgang, voorbeelden en een live logboek.

Hoe het werkt

De Training Studio is een apart venster van de desktopclient. Hij doorzoekt de computer op trainingshardware zoals NVIDIA CUDA- of AMD ROCm-GPU's en de CPU, en markeert chips die alleen voor inferentie zijn, zoals de Hailo-8, als conversiedoel. U kiest een modelfamilie, taak en grootte, en daarna de hyperparameters. De training draait als achtergrondtaak met op PyTorch gebaseerde trainers op het gekozen apparaat en stuurt epoch, loss, mAP en een live logboek naar het venster. Modelfamilies met een permissieve licentie zijn gemarkeerd, wat belangrijk is voor commercieel gebruik.

Datasets en augmentatie voor training
Trainingsstudio

Datasets en augmentatie voor training

Onder de hyperparameters verzamelt het tabblad Training afbeeldingen uit uploads, een webcam, video of RTSP en past het augmentatie toe, zoals mozaïek, spiegelen, schalen en kleurverschuivingen. Er moet een dataset zijn geselecteerd voordat de training kan starten.

Hoe het werkt

Het tabblad Training bevat de instellingen voor dataset, augmentatie en beeldbron die een trainingsrun voeden. Een dataset is een map met afbeeldingen en labels, gevuld vanuit geüploade bestanden, een webcam, een videobestand of een RTSP-stream. Augmentatie-instellingen zoals mozaïek, spiegelen, schalen, roteren en kleurverschuivingen worden tijdens het trainen direct toegepast. Een validatiesplitsing en een random seed houden runs reproduceerbaar. Het getoonde venster verschijnt wanneer op Training starten wordt gedrukt zonder dat er een dataset is geselecteerd. Conversie naar ONNX en formaten voor versnellers staat op een apart tabblad.

Actieherkenning op basis van houdingen
Trainingsstudio

Actieherkenning op basis van houdingen

Haal houdingen uit video, label ze met actieklassen zoals staan, lopen, vallen en vechten, en train een classificator. Na de training worden per klasse precision, recall en F1 gerapporteerd.

Hoe het werkt

Actieherkenning werkt in twee fasen. Eerst draait een houdingsmodel over uw video of afbeeldingen en haalt per persoon de lichaamspunten eruit, opgeslagen met het label dat u kiest, zoals lopen of vallen. Daarna wordt een kleine sequentieclassificator, standaard een LSTM, getraind op vensters van opeenvolgende beelden met die punten, met PyTorch op het gekozen apparaat. Na de training worden precision, recall en F1 per klasse berekend op apart gehouden validatiegegevens. Het resultaat kan met een inferentiefragment worden geëxporteerd voor gebruik in de analyse.

Training van kentekenherkenning
Trainingsstudio

Training van kentekenherkenning

Train een kentekenlezer voor de tekenset van een gekozen land op basis van live-opnames, afbeeldingsmappen of openbare datasets. Een labeleditor voor kentekens, een tool om op een beeld te testen en export naar bundels voor versnellers maken de werkwijze compleet.

Hoe het werkt

Het kentekentabblad traint een netwerk voor tekenreeksherkenning van het type LPRNet, dat een uitgesneden kentekenafbeelding leest en de tekens met CTC decodeert. U kiest de tekenset van een land en de invoergrootte, en verzamelt daarna kentekenuitsneden uit opnames, afbeeldingsmappen, URL-lijsten of openbare datasets. Met de labeleditor corrigeert u ongelabelde kentekens, met optionele OCR-suggesties. Testen op beeld laat het huidige model op één afbeelding draaien. Voltooide modellen worden geëxporteerd en kunnen worden gecompileerd tot een bundel voor Axelera Metis-versnellers en in de live herkenningscascade worden geïnstalleerd.

Datasets annoteren in de client
Trainingsstudio

Datasets annoteren in de client

Teken kaders of polygonen over uw eigen afbeeldingen, beheer objectklassen en laat automatisch annoteren labels voorstellen. Annotatiestatistieken laten zien hoe goed elke klasse is afgedekt.

Hoe het werkt

Het annotatietabblad is een labeltool binnen de Training Studio. U definieert objectklassen, bladert door de afbeeldingen van de dataset en tekent met de muis kaders of polygonen. Elke annotatie wordt met haar klasse en coördinaten in de datasetmap opgeslagen, in het formaat dat de trainers lezen. Automatisch annoteren laat een bestaand detectiemodel over de afbeelding lopen en stelt labels voor die u accepteert of corrigeert. Het statistiekenpaneel telt het totale aantal annotaties en kaders per klasse, zodat u ziet welke klassen te weinig voorbeelden hebben.

14

AI-assistent 5 schermen

Stel vragen over uw installatie in gewone taal en laat de assistent de wijziging voor u voorbereiden.

Vraag het uw systeem in gewone taal
Hoogtepunt Webclient

Vraag het uw systeem in gewone taal

De AI-chat biedt begeleide acties voor indelingen, camera's, servers, certificaten, firewall, gebruikers en macro's. Klik op een voorbeeld of typ uw eigen verzoek, en de resultaten verschijnen op een apart Resultatenbord.

Hoe het werkt

De AI-chat is ingebouwd in de webclient en de desktopclient. De meeste verzoeken worden begrepen door een regelgebaseerde opdrachtengine op de server, in de chat gemarkeerd als direct, die zinnen als 'toon indelingen' koppelt aan dezelfde functies die de gebruikersinterface aanroept. Het Help-paneel geeft per onderwerp voorbeeldzinnen. Acties die iets wijzigen, zoals een CA aanmaken of certificaten uitrollen, stellen hun vragen stap voor stap en veranderen niets totdat u bevestigt. Grote antwoorden gaan naar het Resultatenbord, zodat het gesprek leesbaar blijft.

Direct antwoord over uw inventaris
Webclient

Direct antwoord over uw inventaris

Typ 'list cameras' en de assistent geeft een tabel met namen, adressen, merken en opnamestatus. Hetzelfde werkt voor plattegronden, servers, indelingen en macro's, zonder door menu's te navigeren.

Hoe het werkt

Inventarisvragen worden rechtstreeks uit de database van de server beantwoord, zonder taalmodel. Typt u list cameras, dan zoekt de server dit op en geeft namen, IP-adressen, fabrikanten en of de camera aan staat en opneemt, als teksttabel op het Resultatenbord. Dezelfde engine dekt plattegronden, servers, indelingen en macro's. De chat presenteert alleen het resultaat, zodat het antwoord de actuele configuratie weerspiegelt, en hij respecteert de rechten van de aangemelde gebruiker.

Begeleide vervolgvragen
Desktopclient

Begeleide vervolgvragen

Heeft een verzoek meer details nodig, dan zet de assistent de keuzes in een lijst met letters, bijvoorbeeld welke camera u wilt bekijken. U kunt antwoorden met de letter, de naam of het IP-adres, en met Terug en Annuleren houdt u het gesprek in de hand.

Hoe het werkt

Verzoeken waarin een detail ontbreekt, zoals een geavanceerde camerazoekvraag, starten een korte dialoog op de server. De assistent toont de geldige keuzes uit de huidige configuratie, hier elke camera met haar adres, en wacht op het antwoord. U kunt antwoorden met de letter, de naam of het IP-adres. Terug keert terug naar de vorige vraag en Annuleren beëindigt de dialoog. De keuzelijst wordt uit live gegevens opgebouwd en biedt dus alleen camera's aan die bestaan.

Diagnose en back-ups in de chat
Desktopclient

Diagnose en back-ups in de chat

Vraag naar de databasestatus of back-ups en krijg de serverstatus, de versie en configuratieback-ups met datum en grootte. Ondersteuning voor een lokaal taalmodel zet u aan met één schakelaar.

Hoe het werkt

Vragen over de database en back-ups worden beantwoord door directe serverfuncties. De opdracht db status leest de actieve PostgreSQL-verbinding en meldt type, versie, grootte, aantal tabellen, verbindingspool en host, met het wachtwoord gemaskeerd. De opdracht backups toont de configuratieback-ups die op de server staan, met datum en grootte. De LLM-schakelaar zet een optioneel taalmodel aan dat lokaal via Ollama draait, zodat vrije vragen kunnen worden afgehandeld zonder gegevens naar een clouddienst te sturen.

Kies hoeveel detail u ziet
Desktopclient

Kies hoeveel detail u ziet

Het detailniveau van antwoorden loopt van minimale aantallen tot volledige debuguitvoer. Tijdstempels, pictogrammen, ASCII-tabellen en lijstlimieten zijn aan te passen aan een meldkamer of aan een installateur achter een laptop.

Hoe het werkt

Het venster Detailniveau bepaalt hoe de chat antwoorden van de server opmaakt. De vier niveaus lopen van aantallen op één regel tot volledige uitvoer inclusief ruwe waarden. Tijdstempels, statuspictogrammen en ASCII-tabellen kunnen aan- of uitgezet worden, net als een compacte weergave en een limiet op het aantal items in lijsten. De instellingen gelden op de client bij het weergeven van antwoorden, zodat verschillende operators met verschillende niveaus tegen dezelfde server kunnen werken. Het paneel achter het venster is de ingedeelde helplijst met voorbeeldopdrachten.

Onder de motorkap

Hoe PotoP VMS Studio is gebouwd, waar het draait en hoe het uw gegevens veilig houdt.

01

Python-server, open stack

De server is een Python FastAPI-applicatie die op PotoP OS (Linux) draait. Hij beheert camera's, gebruikers, opnames en instellingen via een REST- en WebSocket-API. Instellingen staan in PostgreSQL, of in SQLite voor kleine locaties.

02

Van camera naar scherm

Camera's worden via ONVIF en RTSP aangesloten, met drivers voor veel merken. Janus en GStreamer zetten streams om naar WebRTC voor browsers, terwijl FFmpeg transcodering en export verzorgt. De desktopclient decodeert met GStreamer en gebruikt daarbij de GPU waar die beschikbaar is.

03

AI-inferentie op hardware van elke fabrikant

AI draait op de server in workerprocessen als een cascade van detectoren, trackers en classificatoren. Backends zijn onder meer ONNX Runtime, OpenVINO, TensorRT en ROCm, plus edge-versnellers zoals Hailo en Coral. Stappen kunnen op verschillende servers worden geplaatst.

04

Desktop, web en telefoon

De desktopclient is gebouwd met Qt en PySide6. De webclient draait in elke moderne browser en hoeft niet te worden geïnstalleerd. De Android-app verpakt de webclient met aanmelden via vingerafdruk. Allemaal gebruiken ze dezelfde server-API en dezelfde rechten.

05

Opname en opslag

Video wordt geschreven als segmenten met tijdstempel, met regels voor continue, geplande of door gebeurtenissen gestarte opname en buffers vóór de gebeurtenis. Segmenten kunnen met AES-256 worden versleuteld en worden op leeftijd of grootte opgeschoond. Detecties en miniaturen gaan naar een aparte analysedatabase.

06

Standaard veilig

Toegang verloopt via ondertekende tokens met rechten per gebruiker en per groep en optionele tweestapsverificatie. De server heeft een eigen certificaatautoriteit voor HTTPS, een ingebouwde firewallpagina en een audittrail. Camerawachtwoorden worden versleuteld opgeslagen, en exports zijn met een wachtwoord beveiligd.

07

Redundantie en failover

Een failover-server haalt regelmatig back-ups van de hoofdserver op en spiegelt zijn gebruikers, zodat bestaande sessies na een overname blijven werken. Achtergrondtaken gebruiken leiderverkiezing via de database, zodat er maar één instantie ze uitvoert. PostgreSQL ondersteunt meerdere instanties.

Wilt u PotoP VMS Studio op uw eigen locatie zien?

Vertel ons over uw installatie — we laten u graag alles zien of richten een proefversie in.