NiPoGi m'a proposé récemment de tester leur mini pc NiPoGi GK3 Plus. Ce type de matériel, type Nuc, est de plus en plus répandu, car ils offrent de bonnes performances pour un tarif très serré. Ici ce modèle est proposé à 209€ en ce moment, ce qui est un tarif très agressif pour un mini pc très complet, doté d'un processeur Intel N97 pouvant aller jusqu'à 3,6Ghz, de 16Go de Ram, et d'un disque NVMe de 512Go. S'il s'agit d'une configuration largement suffisante pour en faire un ordinateur de travail, c'est également une configuration très intéressante pour en faire une box domotique ou un serveur type Proxmox ou Docker, permettant ainsi d'héberger de nombreux services. Cette fois j'ai décidé de me pencher sur Frigate, une solution de vidéosurveillance très complète, capable de reconnaitre de très nombreux objets. Ce NiPoGi GK3 Plus est ainsi devenu mon système de vidéosurveillance, capable même d'interagir avec mon système domotique Home Assistant. Découvrons cela plus en détails.
Présentation du NiPoGi GK3 Plus
Petite présentation tout d'abord de ce NiPoGi GK3 Plus Mini, livré dans un emballage tout ce qu'il y a de plus minimaliste.
L'ensemble à l'intérieur est toutefois très complet, puisqu'on y trouve le mini pc, bien sûr, accompagné de son alimentation, d'un câble HDMI, d'un support Vesa, de vis, et d'un manuel d'utilisation.
Ce NiPoGi GK3 Plus est très compact, puisqu'il ne mesure que 12,8 x 12,8 x 5,2 cm. Il trouvera donc sa place très facilement sur le bureau, dans un placard, une armoire de brassage, etc. selon l'usage qu'on souhaite en faire.
Son boitier est entièrement en plastique gris, passe partout. Une grille couleur cuivre apparait à certains endroits, pour donner une petite note de fantaisie assez jolie.
Ce modèle dispose d'un port vidéo VGA. Une connectique qui se fait de plus en plus rare, mais pourquoi pas ? Elle pourra être utile pour recycler un vieil écran, surtout pour faire du monitoring sur un serveur par exemple.
Mais rassurez vous, il dispose également de deux sorties HDMI 2.0 capables de supporter la 4K. Il sera possible donc de faire du triple écran si on le souhaite. On y retrouve également un port ethernet Gigabit, une sortie casque, deux ports Usb 2 et deux ports Usb 3. Une connectique donc très complète !
A l'arrière, outre une grille de ventilation, nous avons aussi deux orifices pour fixer le mini pc à un mur par exemple.
On pourra aussi venir y fixer l'adaptateur VESA fourni avec, pour une fixation derrière un écran, ce qui permettra de gagner de la place sur le bureau:
Si son design suggère plutôt un positionnement à plat, rien n'empêche aussi de le poser sur le côté pour gagner un peu de place:
Dernier détail important: son couvercle se retire très facilement (sans outils) pour donner accès à un emplacement pour un disque dur format 2,5″ doté d'une connectique SATA.
Si on retire les 3 vis de ce compartiment, on peut accéder à la barrette mémoire DDR4 3200Mh de 16Go et au disque de stockage NVMe de 512Go:
Si les 16Go de mémoire sont le maximum admissible par le processeur, le disque NVMe pourra en revanche être upgradé si on le souhaite, pour monter le stockage jusqu'à 4To (entre le NVMe et le SSD). Une capacité plus que suffisante !
Le coeur du NiPoGi GK3 Plus Mini repose sur un processeur Intel Alder Lake-N97 de 12e génération, doté de 4 coeurs, capable de monter jusqu'à 3,6 GHz, qui est environ 20% plus performant que le précédent N95.
Côté connexion, nous avons aussi du Wifi 6 double bande (2,4Ghz et 5Ghz) et du Bluetooth 5.2. Bref, ce mini pc a tout ce qu'on peut attendre aujourd'hui d'un ordinateur.
Il est livré nativement avec une version Windows 11 Familial installée.
Je l'ai utilisé plusieurs jours comme pc de travail, connecté à mon écran 4K 40″, sans aucun soucis:
Côté stockage, il reste 475Go de disponible sur le disque NVMe:
Et comme vu plus haut, il est très simple d'y ajouter un second disque. J'y ai mis ici un SSD Netac à moins de 65€, qui propose un très bon rapport qualité prix pour ce type d'utilisation (même marque d'ailleurs que le NVMe pré installé):
En bureautique, pour du traitement de texte, Excel (gros tableaux), de la navigation internet, de la gestion de blog, etc. aucun soucis, le NiPoGi GK3 Plus Mini tient parfaitement la route. J'y ai même fait pas mal de traitement d'images, ou encore du traitement d'objets 3D pour de l'impression, notamment sous le logiciel Bambu avec des fichiers très complexes. Le découpage demande beaucoup de ressources, mais le mini pc a exécuté son travail sans problème.
Il pourra également accueillir quelques jeux, bien que ce ne soit pas un pc gamer. Il ne fera pas tourner le dernier Assassin Creed avec les paramètres à fond, mais ca passe en mode “allégé”.
Globalement, ce mini pc se montre véloce et saura répondre à de nombreux usages. A un tarif proche des 200€ (194€ seulement grâce à notre code MHED53H8, valable jusqu'au 6 juin 2024), c'est un excellent rapport qualité prix. A l'usage il se montre fluide, silencieux, et ne consomme que 10w environ.
Mini PC NiPoGi GK3 Plus Mini
Outre l'utilisation en tant que pc de bureau, il pourra également trouver d'autres usages. Pour en faire une box domotique, ou un serveur Proxmox, comme nous avions vu par exemple avec le dernier AceMagic S1. Il faut dire qu'avec ses 16Go de mémoire et ses 512Go de stockage (extensible) il surpasse toutes les box domotiques du marché, avec un tarif souvent plus abordable. Il surpasse même un Raspberry Pi 5 si on tient compte du fait qu'il faut y ajouter un boitier, une alimentation, une carte SD, etc. (comme ce pack par exemple qui frôle aussi les 200€).
Bref, c'est donc un choix très intéressant. Pour ma part, j'ai profité d'avoir ce modèle pour y installer Frigate, une solution de vidéosurveillance très à la mode, totalement gratuite, compatible avec nos solutions domotiques, et vraiment puissante.
Installation de Frigate sur le NiPoGi GK3 Plus Mini
Pré requis
Qui dit vidéosurveillance, dit enregistrements vidéo, et donc espace disque. Frigate donne la possibilité d'enregistrer les fichiers sur un serveur externe, comme un NAS par exemple. Ici j'ai opté pour un enregistrement local, sur le SSD secondaire Netac évoqué plus haut. Avec 1To de stockage, cela donne déjà une certaine ampleur, et permet au mini pc d'être totalement autonome.
La vidéo surveillance demande également beaucoup de puissance de calcul, notamment pour la reconnaissance d'objets. Passé 2 ou 3 caméras, la puissance du mini pc ne suffira clairement pas. D'ailleurs Frigate conseille généralement l'utilisation d'une clé Google Coral, quelque soit l'ordinateur utilisé.
Il s'agit d'une plateforme développée par Google qui permet de créer des dispositifs intelligents à faible consommation d'énergie en utilisant le machine learning. Elle intègre des accélérateurs matériels, comme la TPU (Tensor Processing Unit) Edge, pour exécuter des modèles d'apprentissage automatique de manière rapide et efficace. La gamme Coral comprend divers produits, y compris des modules, des cartes de développement et des accessoires, facilitant le développement d'applications d'IA à la périphérie du réseau (edge computing).
Un modèle très utilisé est la version Usb, qui peut être utilisée sur n'importe quelle machine dotée d'un port Usb, et qui a l'avantage de couter moins de 60$ (oubliez Amazon où les tarifs sont souvent prohibitifs, j'ai payé le mien 60€ chez Mouser, avec livraison gratuite par transporteur).
Cette petite clé vient vraiment booster les performances de n'importe quel ordinateur, si bien que même un Raspberry Pi peut être utilisé pour Frigate par exemple. Pour ce tarif, c'est assez bluffant, et je vous conseille vivement son acquisition si vous souhaitez utiliser Frigate dans de bonnes conditions avec plusieurs caméras.
Pour démarrer l'installation, il faudra ensuite un écran, un clavier, une connexion réseau, et une clé Usb.
Ici j'ai fait le choix d'installer Frigate sur un système natif Linux. Il faut savoir que Frigate fonctionne en tant que conteneur Docker uniquement. L'installer sur Proxmox reviendrait donc en fait à installer en quelque sorte une machine virtuelle dans une machine virtuelle. Donc un risque de perte de performances, et un fonctionnement plus compliqué pour faire communiquer la machine avec le Google Coral. Ca reste possible, certains l'ont fait notamment en utilisant un conteneur LXC Proxmox. Ca a ses avantages et ses inconvénients. Pour ma part j'ai préféré simplement suivre la méthode privilégiée par les développeurs de Frigate.
Il faut donc commencer par créer une clé Usb pour installer le système d'exploitation Linux, ici une Debian 12. On se rend sur le site Debian et on télécharge l'image pour “petits cd ou clé Usb”, version amd64, puisque nous avons besoin d'un système très léger.
A l'aide du logiciel Balena Etcher par exemple, on crée la clé d'installation. Il suffit d'indiquer en image le fichier Debian téléchargé précédemment, puis indiquer la clé Usb à utiliser. On clique sur le bouton “Flash” et c'est parti.
En deux petites minutes à peine on obtient notre clé d'installation.
Il faut maintenant indiquer au mini pc NiPoGi GK3 qu'il doit démarrer sur cette clé. Pour cela, on connecte la clé Usb au mini pc, on l'allume, puis au démarrage, on se rend dans les paramètres du bios en appuyant sur la touch “Suppr” dès le démarrage de l'ordinateur. Dans l'onglet “Boot” on sélectionne la clé Usb en option de boot numéro 1:
Sur l'onglet suivant “Save & Exit”, on enregistre et on redémarre.
Installation de Debian
Normalement, le mini pc devrait maintenant démarrer sur la clé Usb, et lancer l'installation de Debian:
Ici on peut opter pour le second choix “Install”. Le premier choix en mode graphique est bon aussi, il vous faudra toutefois brancher aussi une souris.
On choisit sa langue et on valide ensuite le pays.
On donne un nom au mini pc, ce qui permettra de le retrouver plus facilement sur le réseau:
On définit un mot de passe “root” (administrateur):
Puis on crée un utilisateur et son mot de passe:
Il faut maintenant partitionner le disque dur pour y installer le système. Ici j'ai opté pour le choix numéro 2, “utiliser un disque entier”.
Et j'ai opté pour le SSD de 1To Netac que j'ai installé. C'est un choix personnel, on peut tout à fait l'installer sur le disque NVME installé nativement dans le mini PC. Mais en faisant ainsi, je conserve le disque avec l'installation Windows, que je pourrai réutiliser si besoin.
Je place tout dans un seule partition, pour plus de facilité:
Il ne reste plus qu'à confirmer les choix:
Vient ensuite la sélection des logiciels à installer. Comme on a besoin d'un système très léger, on décoche “environnement de bureau Debian” et “Gnome”. Nous avons juste besoin du serveur SSH et des utilitaires usuels du système:
On valide, et l'installation se termine.
On peut retirer la clé Usb, et au redémarrage du pc, on retourne dans le Bios pour cette fois indiquer qu'il faut démarrer sur le disque où se trouve notre système Debian. Sinon, si vous avez fait comme moi, en installant Debian sur le SSD, le système redémarrera sur Windows en ignorant totalement l'autre disque.
Au redémarrage nous avons maintenant un écran nous proposant de lancer Windows ou Debian (qui se lancera par défaut si aucun choix n'est fait).
On s'identifie avec notre mot de passe, et nous sommes maintenant connectés à notre système Debian.
Il ne reste que quelques petits réglages pour être tranquille avec notre système d'exploitation. On va commencer par y installer Sudo:
apt update && apt install -y sudo
Et ajouter notre utilisateur au groupe Sudo, ce qui permettra de réaliser des actions “administrateur” sans avoir besoin de s'identifier en “root”:
usermod -aG sudo cedric
On désactive aussi la demande de mot de passe à chaque commande sudo pour plus de facilité:
echo 'cedric ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/user
Enfin on met à jour tout le système si besoin:
sudo apt update && sudo apt upgrade -y
Et la mise en place des mises à jour automatiques. C'est optionnel, mais ca limitera la maintenance du système:
sudo apt install -y unattended-upgrades
echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | sudo debconf-set-selections
sudo dpkg-reconfigure -f noninteractive unattended-upgrades
C'est fini pour cette partie. Le mini pc peut maintenant être placé où vous souhaitez, sans nécessiter d'écran ni de clavier. Juste une connexion réseau, qui va permettre de s'y connecter à distance.
Installation de Docker
On peut se connecter au mini pc en ssh via un terminal comme Putty par exemple, ou simplement le terminal sous Mac, en utilisant l'adresse ip du mini pc, et le nom d'utilisateur et mot de passe définis lors de l'installation:
Frigate tourne sous forme de conteneur Docker. Il faut donc commencer par installer celui ci. Rassurez vous, c'est très simple. Pour cela, on ajoute la source pour l'installation, en tapant ces quelques lignes:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Puis on lance l'installation:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
On crée ensuite le groupe d'utilisateurs Docker:
sudo groupadd docker
Et on ajoute notre utilisateur à ce groupe:
sudo usermod -aG docker $USER
Il ne reste plus qu'à se déconnecter (commande exit) et se reconnecter pour que les réglages soient appliqués à notre utilisateur.
Installation de Frigate
Il nous faut maintenant créer la structure de fichiers nécessaires au fonctionnement de Frigate, via cette commande:
mkdir storage config && touch docker-compose.yml config/config.yml
Cela va nous créer cette structure:
.
├── docker-compose.yml
├── config/
│ └── config.yml
└── storage/
Nous avons alors deux fichiers de configuration à créer. Ils peuvent s'éditer facilement via la commande
nano docker-compose.yml
Là on peut coller ces commandes, qui permettront de créer le conteneur Frigate:
version: "3.9"
services:
frigate:
container_name: frigate
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
privileged: true
shm_size: 1gb
volumes:
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
devices:
- /dev/dri/renderD128
- /dev/bus/usb:/dev/bus/usb
ports:
- "5000:5000"
- "8554:8554" # RTSP feeds
Vous pouvez personnaliser “shm_size” en fonction du nombre de caméras que vous prévoyez de gérer. Le NiPoGi GK3 Plus a suffisamment de mémoire pour y allouer 1Go sans problème.
La commande “- /dev/bus/usb:/dev/bus/usb” permettra d'activer le port Usb pour le Google Coral.
Enregistrez le fichier avec Ctrl+O, puis fermez avec Ctrl+X.
Il nous faut maintenant créer le fichier config.yml. On se rend d'abord dans le répertoire config avec la commande “cd config”. Puis on édite le fichier avec “nano config.yml”. Là on commence avec un fichier minimum juste pour valider le lancement:
mqtt:
enabled: False
cameras:
dummy_camera:
enabled: False
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:554/rtsp
roles:
- detect
On enregistre avec “Ctrl+O” et on quitte avec “Ctrl+X”.
On peut maintenant lancer la création de notre conteneur Frigate via cette commande:
docker compose up -d
Notre conteneur Docker est créé et lancé:
Après quelques secondes, on peut se connecter à Frigate via un navigateur web, en tapant l'adresse IP du mini pc suivi de :5000 (http://monip:5000). On arrive sur la page d'accueil du système:
Bravo, le système fonctionne ! Il ne reste plus qu'à ajouter nos premières caméras.
Configuration de Frigate
La configuration de Frigate va pouvoir se faire maintenant via l'interface web de Frigate, dans l'onglet “Config”, où on retrouve le fichier config.yml créé plus haut:
Ici la suite va beaucoup dépendre de vos caméras, puisqu'il va falloir récupérer leur flux Rtsp. On le trouve généralement dans la configuration de la caméra (vous pouvez trouver des indications ici selon les modèles).
Dans mon cas j'utilise mes caméras Unifi. En allant sur la configuration de la caméra, il est possible d'activer le flux Rtsp, qui est désactivé par défaut:
Il faut récupérer l'adresse Rtsp. Attention, dans le cas des caméras Unifi, il y a une partie à la fin, “?enableSrtp” à retirer.
On donne un nom à notre caméra (ici entree), on renseigne l'url de son flux rtsp. Pour le moment on laisse désactivée la détection de mouvement, on cherche d'abord à s'assurer que l'intégration de la caméra fonctionne. On enregistre le fichier et on redémarre Frigate, via le bouton “Save & Restart”. Si on revient sur la page d'accueil, on doit apercevoir notre caméra:
Si c'est ok, c'est tout bon, on va pouvoir passer aux choses sérieuses !
Tout d'abord en configurant l'accélération matérielle, pour améliorer les performances de décodage vidéo. Pour cela il faudra ajouter les lignes suivantes dans le fichier de config:
ffmpeg:
hwaccel_args: preset-vaapi
Nous allons également activer l'utilisation du Google Coral, qui va clairement booster les capacités de ce mini pc, notamment pour la reconnaissance d'objets. Il suffit d'ajouter ces lignes dans le fichier de configuration:
detectors:
coral:
type: edgetpu
device: usb
On enregistre et on redémarre Frigate. En allant sur la page System, vous devriez voir ces deux encarts Detectors et GPUS maintenant avec des données:
Notre Google Coral est maintenant au travail, et l'accélération matérielle (GPU) également activée.
Nous pouvons maintenant activer la reconnaissance d'objets et l'enregistrement vidéo. Sur les caméras que vous souhaitez utiliser, il suffit d'ajouter ces lignes pour indiquer qu'elles servent de détecteur et d'enregistreur:
roles: #définit le role de la caméra
- detect
- record
detect: # autorise la détection
enabled: true
record: # autorise l'enregistrement vidéo
enabled: True
snapshots: # autorise l'enregistrement de photos
enabled: True
On enregistre et on redémarre Frigate. A partir de là le système va prendre une photo et enregistrer une vidéo automatiquement à la moindre détection d'une personne. C'est l”‘objet” définit par défaut. Il est possible ensuite de déterminer quels types d'objets provoquent un enregistrement. Il en existe de nombreux, de la voiture au chien ou au chat, en passant par la bouteille d'eau ou le sac d'école. La reconnaissance est assez impressionnante !
Sur cette caméra je veux par exemple détecter les personnes, mais également chien, chat, et sac à dos. J'ai ajouté ces objets dans la configuration de la caméra:
objects:
track:
- person
- cat
- dog
- backpack
Vous pouvez retrouver la liste des objets disponibles ici. A noter qu'en souscrivant l'abonnement Frigate+ (50$/an) vous pouvez profiter d'encore plus de détections, pour lire des plaques d'immatriculation, reconnaitre un livreur amazon ou UPS, etc. Mais sincèrement la version gratuite est très largement suffisante. Il reste tout de même intéressant de se créer un compte Frigate+ gratuitement pour participer à l'amélioration de la détection: vous pourrez en effet envoyer des captures prises par votre système pour confirmer (ou non) la détection de tel objet et ainsi aider à améliorer la reconnaissance globale du système. Ce n'est pas du tout obligatoire, mais ça aide le système à s'améliorer constamment dans la reconnaissance d'objets.
Enfin, dernière possibilité très importante: celle de créer des masques ou des zones. Particulièrement pratique pour empêcher la détection d'objets dans certaines zones, ou au contraire suivre la détection dans certaines zones précises. Pour cela il suffit de se rendre sur l'une des caméras, et en haut à droite cliquer sur “Debug”. Là, sous l'image de la caméra, une option “Show options” permet d'afficher diverses options pour la caméra en cours, dont la possibilité de créer des masques ou des zones:
On choisit le type de masque ou de zone qu'on souhait via le bouton “Add”. Il suffit ensuite de placer des points sur l'image pour délimiter la zone à prendre en compte (clic gauche pour ajouter un point, clic droit pour en supprimer un). On clique sur “Save” pour enregistrer à la fin, et le tour est joué.
Ces fonctions sont très puissantes, car elles permettent d'être alerté uniquement si un certain type d'objet est détecté dans une certaine zone. Un exemple concret: j'ai créé une zone sur mon canapé dans le séjour. Si un chien est détecté sur le canapé, je reçois une notification avec une photo !
filters:
dog:
mask:
- 169,295,111,331
Idem avec la détection d'oiseaux dans le jardin, qui me permet d'être alerté si une de mes poules s'est échappée du poulailler (les autres oiseaux du jardin sont trop petits pour être reconnus) :p Il est également possible de faire une reconnaissance audio, le système étant capable de reconnaitre une alarme, un aboiement, un cri de bébé, etc. Comme on le voit la détection peut aller très très loin, et surpasse tout ce qui existe sur les autres systèmes type Zoneminder par exemple (et même mon système Unifi, qui est pourtant déjà très complet).
Il est également possible de déclencher les enregistrements uniquement si le score dépasse un certain pourcentage. En effet, pour chaque détection, le système affiche le pourcentage de probabilité qu'il s'agisse du bon objet. C'est un autre moyen d'éliminer les faux positifs, réduisant ainsi les alertes inutiles, et économisant aussi l'espace disque (car on déclenche moins d'enregistrements).
Frigate propose bien d'autres fonctions encore, comme la vue Birdseye, qui permet d'avoir un aperçu de toutes ses caméras en un seul écran, ou encore la création d'un flux vidéo utilisable dans d'autres applications, comme son système domotique par exemple, sans avoir à faire de multiples appels à l'appareil d'origine (caméra ou autre NVR).
Frigate est également capable de faire de l'autotracking si la caméra est motorisée ou dispose d'un zoom: la vidéo suit automatiquement l'objet détecté ! Exemple ici avec ce livreur:
Je vous invite vivement à consulter la documentation Frigate, vraiment très complète, pour exploiter toutes les possibilités du système. Elle est également très utile pour configurer le système selon ses caméras. Dans mon cas par exemple, avec des caméras Unifi, il fallait passer par une configuration go2rtc un peu particulière. Voici par exemple mon fichier de configuration pour vous donner une idée (toutes les caméras n'y apparaissent pas pour alléger le fichier). Il est bien sûr à personnaliser pour chaque installation:
mqtt:
enabled: True
host: core.mosquitto
port: 1883
user: mqtt_user
password: mqttpassword
detectors:
coral:
type: edgetpu
device: usb
ffmpeg:
hwaccel_args: preset-vaapi
birdseye:
enabled: true
mode: continuous
width: 1920
height: 1080
quality: 5
record:
enabled: true
retain:
days: 30
mode: active_objects
events:
pre_capture: 5
post_capture: 5
retain:
default: 30
mode: active_objects
snapshots:
enabled: true
clean_copy: true
timestamp: true
bounding_box: true
crop: false
retain:
default: 15
go2rtc:
streams:
rtsp_entree:
- rtspx://192.168.1.1:7441/i24UmOc6NCuI0gws
- ffmpeg:rtsp_entree#audio=opus
rtsp_parking:
- rtspx://192.168.1.1:7441/F3LuQ9miwOVBz92X
- ffmpeg:rtsp_parking#audio=opus
rtsp_sejour:
- rtspx://192.168.1.1:7441/iDnrJ42Sg4Eloq07
- ffmpeg:rtsp_sejour#audio=opus
cameras:
entree:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/rtsp_entree
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: true
live:
stream_name: rtsp_entree
birdseye:
enabled: true
objects:
track:
- person
- car
- cat
- dog
- bicycle
- bird
parking:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/rtsp_parking
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: true
live:
stream_name: rtsp_parking
birdseye:
enabled: true
objects:
track:
- person
- car
- cat
- dog
- bicycle
- bird
sejour:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/rtsp_sejour
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: true
live:
stream_name: rtsp_sejour
birdseye:
enabled: true
objects:
track:
- person
- cat
- dog
- backpack
- shoe
- handbag
filters:
dog:
mask:
- 169,295,111,331
zones:
canape:
coordinates: 288,452,358,399,368,327,167,289,107,332,134,403
Ce n'est que pour vous donner un exemple bien sûr, d'autant que je suis encore en train d'optimiser tout cela après un mois d'utilisation.
Intégration avec Home Assistant
Frigate est compatible nativement avec MQTT, ce qui permet de l'intégrer très facilement à un système tiers comme Jeedom ou Home Assistant par exemple.
Il suffit d'ajouter ces lignes dans le fichier de configuration de Frigate:
mqtt:
enabled: True
host: core-mosquitto
port: 1883
user: mqtt_user
password: mqtt password
En indiquant bien sûr les informations de votre broker MQTT.
Il faut ensuite installer l'intégration officielle Frigate dans Home Assistant, ce qui permet d'exploiter pleinement les possibilités offertes par Frigate. On peut alors afficher les caméras en live, les détections faites, visionner les enregistrements, etc.
Et bien sûr déclencher des scénarios ou envoyer des notifications aux utilisateurs, avec captures écran à l'appui. Pour reprendre l'exemple plus haut, si le système détecte mon chien sur le canapé, je diffuse un message audio lui demandant de descendre et je reçois une notification sur mon mobile avec la photo ! (il sait qu'il n'a pas le droit, mais tente quand même quand on s'absente ;-) On peut ainsi déclencher l'allumage de lumières si une personne est détectée dans une zone du salon, valider la présence d'un véhicule dans la cour, etc. Les caméras deviennent de vrais détecteurs de présence, et plus simplement des caméras qui enregistrent une vidéo au moindre mouvement. Il devient ainsi possible de les exploiter pleinement.
Je reviendrai plus en détails sur les possibilités dans un prochain guide si cela vous intéresse, car les possibilités sont vastes !
Conclusion
Je devais me pencher sur Frigate depuis un bon bout de temps, et le test de ce mini pc NiPoGi GK3 Plus a été l'occasion de m'y mettre. Ce mini pc propose une configuration intéressante pour ce type d'usage: un format compact, une faible consommation d'énergie, suffisamment de mémoire et un stockage extensible. Le processeur est un peu léger si on souhaite utiliser beaucoup de caméras avec reconnaissance d'objets, mais l'ajout d'un dongle Google Coral vient vite régler ce problème. Chez moi Frigate tourne avec une douzaine de caméras sans aucun soucis, toutes avec détection de divers objets selon les besoins, et toutes avec enregistrement vidéo et prise de photo. J'ai ainsi une détection quasi parfaite des éléments qui doivent réellement être pris en compte, ce qui limite les fausses alertes et les enregistrements inutiles. Ainsi malgré cette douzaine de caméras, le système nécessite à peine 10Go de stockage par jour, ce qui devrait faire environ 3 mois d'historiques avec mon SSD de 1To, ce qui est assez confortable !
Je dois encore ajuster quelques réglages sur les détections, et surtout peaufiner mes scénarios dans Home Assistant. Mais Frigate est clairement bluffant, si vous cherchez un système de vidéosurveillance performant (et gratuit !), foncez !
Bravo et merci pour ce travail de qualité !
Autant vos positions écologiques dans certains de vos articles sont discutables selon moi (et très souvent discutées ici d’ailleurs ;-) ), autant vos documentations techniques sont de très bonnes facture !
Merci ;-) On ne peut pas être toujours d’accord sur tout, mais le principal est de partager ;-)
Bonjour, et merci pour le tuto, qui m’a permis de séparer frigate de HA vers un autre nuc, et de faire (beaucoup) baisser la charge CPU de HA.
Par contre, comment ça se passe au niveau configuration du module frigate dans HA , pour récupérer les caméras, par exemple dans des cartes frigate ?
Je suppose, qu’on ne peut pas déclarer 2 fois les caméras, ça n’aurait pas de sens.
Merci.
Bonjour. Ah c’est sûr qu’il vaut mieux séparer Frigate de HA, en effet :)
Pour l’intégration de Frigate dans HA, je ne comprend pas bien la question, par contre. Avec MQTT puis l’intégration officielle Frigate HA, on récupère automatiquement ses caméras et tous les évènements et alertes de Frigate dans HA.
Bonjour et merci pour ce tuto vraiment clair et précis.
J’ai une question, j’ai un deuxième NUC sur lequel j’ai mis Proxmox et Docker et aussi HA (en test).
Dans votre tuto vous ne parlez pas de Proxmox ? Peut-on installer Docker sans Proxmox ?
Merci encore,
Eric
Bonjour et merci pour ce tuto vraiment clair et précis.
J’ai une question, j’ai un deuxième NUC sur lequel j’ai mis Proxmox et Docker et aussi HA (en test).
Dans votre tuto vous ne parlez pas de Proxmox ? Peut-on installer Docker sans Proxmox ?
Merci encore,
Eric
Bonjour
Oui, on peut installer un docker sans proxmox.
Bonjour et merci pour ce tuto de qualité tant que les explications générales que sur l’installation du système.
Il fonctionne depuis 3 mois.
Mais je viens de recevoir ma Google coral et elle n’est pas correctement détectée. Lsub renvoie : Bus 004 Device 002: ID 1a6e:089a Global Unichip Corp.
Je cale. Quelqu’un aurait-il une idée?
Merci et bonne continuation à tous.