Licență IGPR nr. 7092/T office@southwest.ro 0765058764

Frigate cu Coral: detecție de persoane locală, fără cloud, și cum rămâneți în regulă cu GDPR

Mini server cu lacăt și monitor cu imaginea unei curți în care o persoană e încadrată de detecția AI

Frigate e un NVR open source care face ceva ce motionEye și majoritatea DVR-urilor vechi nu fac: recunoaște obiecte. Știe diferența între un om, o mașină, un câine și o pungă purtată de vânt. Rulează local, pe un mini PC din casă sau din firmă, fără abonament și fără ca imaginile să plece într-un cloud străin. Cu un accelerator Google Coral pe USB, detecția consumă foarte puțin procesor.

Articolul are două jumătăți egale ca importanță: cum îl puneți în funcțiune și cum îl folosiți fără să încălcați legea. A doua e cea pe care o sar toate tutorialele.

Partea tehnică

Hardware-ul

Un mini PC cu procesor Intel din ultimii ani (un N100 e foarte potrivit, fiindcă are și decodare video hardware), 8 GB RAM, SSD pentru sistem și un HDD de supraveghere pentru înregistrări. Coral USB se conectează pe un port USB 3. Un Raspberry Pi 5 funcționează și el pentru două-trei camere, dar un mini PC x86 vă dă mai mult spațiu de manevră.

Versiunea curentă e Frigate 0.17, lansată în februarie 2026, cu actualizări de mentenanță ulterioare. Printre noutăți: suport pentru modele YOLOv9 pe Coral. Pentru început, modelul implicit e suficient.

Instalare cu Docker

Pe un Debian sau Ubuntu Server cu Docker instalat, creați /opt/frigate/docker-compose.yml:

services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:stable
    restart: unless-stopped
    shm_size: "256mb"
    devices:
      - /dev/bus/usb:/dev/bus/usb
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - /mnt/frigate:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "8971:8971"

Linia cu /dev/dri dă acces la decodarea hardware Intel. Coral-ul USB îl dăm prin tot /dev/bus/usb, pentru că la prima inițializare își schimbă identificatorul USB și o mapare pe un singur dispozitiv nu mai funcționează după aceea.

Configurația minimă

/opt/frigate/config/config.yml, pentru o cameră Dahua:

mqtt:
  enabled: false

detectors:
  coral:
    type: edgetpu
    device: usb

ffmpeg:
  hwaccel_args: preset-vaapi

record:
  enabled: true
  motion:
    days: 3
  alerts:
    retain:
      days: 7
  detections:
    retain:
      days: 7

cameras:
  poarta:
    ffmpeg:
      inputs:
        - path: rtsp://frigate:PAROLA@192.168.1.64:554/cam/realmonitor?channel=1&subtype=1
          roles: [detect]
        - path: rtsp://frigate:PAROLA@192.168.1.64:554/cam/realmonitor?channel=1&subtype=0
          roles: [record]
    detect:
      width: 704
      height: 576
      fps: 5
    objects:
      track: [person, car]

Detecția rulează pe substream (rezoluție mică, 5 cadre pe secundă e suficient), iar înregistrarea pe mainstream, copiat direct, fără recodare. Utilizatorul frigate din cameră are doar drept de vizualizare.

cd /opt/frigate
docker compose up -d
docker logs frigate 2>&1 | grep -i password

La prima pornire, Frigate generează o parolă pentru utilizatorul admin și o scrie în jurnal. Interfața e pe https://IP:8971. În pagina System verificați că detectorul e „coral” și că timpul de inferență e de câțiva milisecunde. Dacă apare CPU ca detector, Coral-ul nu a fost găsit.

Zone și măști

Zonele și măștile se desenează din interfață, din setările camerei. O zonă „curte” peste aleea de acces vă permite să primiți alerte doar când o persoană intră efectiv pe proprietate, nu când trece pe trotuar.

Partea legală, la fel de importantă

Aici e diferența între un sistem care vă protejează și unul care vă aduce o plângere la ANSPDCP.

Masca de mișcare nu e mască de confidențialitate

În Frigate, o „motion mask” spune doar unde să nu caute mișcare. Pixelii respectivi se înregistrează în continuare. Dacă o cameră prinde fereastra vecinului sau o porțiune de drum public, folosiți masca de confidențialitate din camera însăși (Privacy Mask la Hikvision, Privacy Masking la Dahua). Acea zonă iese neagră din cameră și nu ajunge niciodată pe disc.

Camera de acasă

Supravegherea strict a propriei proprietăți, pentru uz personal, intră în general în excepția pentru activități casnice din GDPR. Curtea de Justiție a UE a stabilit însă (cauza Ryneš, C-212/13) că în momentul în care camera acoperă și spațiu public, excepția nu se mai aplică. Orientați camerele și folosiți măștile așa încât să filmați doar ce e al vostru.

Camera din firmă

Pentru angajatori, Legea 190/2018 (art. 5) cere, printre altele, ca angajații să fie informați în prealabil, ca supravegherea să fie justificată de un interes legitim care nu poate fi atins altfel și ca imaginile să fie păstrate cel mult 30 de zile, cu excepții justificate. Ghidurile EDPB 3/2019 privind prelucrarea datelor prin dispozitive video recomandă perioade de păstrare scurte și menționează că, de regulă, incidentele se descoperă în câteva zile. Nu e nevoie de luni de arhivă.

Practic, pentru o firmă mică:

  • afișați panouri de informare vizibile la intrare, cu cine operează sistemul și cum poate fi contactat;
  • nu montați camere în vestiare, toalete sau spații de pauză;
  • setați retenția în Frigate în acord cu ce ați declarat (configurația de mai sus păstrează cel mult 7 zile);
  • limitați accesul la interfață: conturi separate, cu rolul „viewer” pentru cei care doar vizualizează;
  • nu expuneți portul 8971 pe internet. Acces din afară doar prin VPN.

Un detector AI nu face supravegherea mai „legală” sau mai puțin. Ajută însă la minimizarea datelor: dacă păstrați doar fragmentele cu persoane în zone relevante, păstrați mult mai puține imagini decât cu înregistrare continuă.

Dacă vreți un sistem de supraveghere pentru firmă, gândit de la început și din punct de vedere tehnic, și din punct de vedere GDPR, ne puteți scrie pe pagina de cerere ofertă.