Les différents softwares
Motion(Eye)
Motion est le logiciel de base pour transformer un SBC en caméra IP. Pour rendre tout ça simple et convivial, une interface web permettant de gérer une ou plusieurs caméras a été créée. Et pour encore simplifier, des images disque sous le nom de MotionEye OS, prêtes à l'usage pour un certain nombre de SBC sont disponibles !
Frigate
Les créateurs de frigate ont souhaité pousser l'analyse vidéo pour la détection de mouvement plus loin que les autres systèmes. Ils ont donc utilisé les systèmes "d'IA" actuels pour aller jusqu'à pouvoir reconnaitre les objets, les visages, ou même les plaques d'immatriculation sur les flux vidéo. Mais comme ça tire grave sur le cpu, ils ont déchargé l'analyse des images vers un ou plusieurs "modules IA" google coral. La charge cpu est très faible (surtout si l'ordi est équipé d'un encodeur/décodeur vidéo hardware), le module Coral chauffe peu et consomme bien moins qu'un CPU généraliste pour le même travail, c'est tout bénèf.
Shinobi
D'après mes lectures, shinobi a été très populaire pendant un temps. Une jolie interface graphique et open source, jusqu'ici, c'est vendeur. Mais à priori, depuis quelques temps, toutes les options qui m'intéressent (client pour smartphones, etc), sont toutes derrières des abonnements qui s'élèvent rapidement à quasi 30€ mensuels. Le dev qui s'occupait de maintenir le plugin pour home assistant en a carrément abandonné son plugin.
Mon choix (pas final du tout)
Va se porter sur Frigate, le GUI est relativement simple et assez standard. Mais surtout l'intégration à Home Assistant (le serveur domotique que j'utilise à l'heure actuelle) semble bien faite. Elle permet justement d'armer et désarmer le système, par exemple.
Le matos
Caméras IP :
Je vais bien entendu récupérer celles fournies avec le NVR chinois. Elles sont équipées de filtre IR-cut, de leds IR, d'un capteur PIR et sont étanches. Largement suffisantes pour ce qu'on veut en faire.
Stockage vidéos :
Je peux probablement faire des économies en récupérant le HDD "surveillance vidéo" de 2To du NVR pour le coller dans la machine que j'utiliserai.
Machine :
Il est possible de faire tourner Frigate sur un raspi avec un faible nombre de caméra et en se contenant de performances pas fabuleuses, malgré l'utilisation de Coral. Ca ne semble pas être la solution idéale.
Les autres options étant d'utiliser mon lenovo tiny restant ou la vieille tour de madame. La vieille tour permet d'éventuellement y coller une carte graphique pour l'encodage / décodage vidéo hardware et de mettre le HDD dans la tour en SATA3 sans passer par un boitier USB3.
Réseau :
N'ayant pas un switch réseau équipé de ports PoE, il sera nécessaire de m'en procurer un. Je pense qu'il faut être prévoyant, mini 8 ports PoE pour les caméras +1 pour le NVR +1 pour le réseau local.
Autres :
Le dernier point, le plus sensible, c'est de réussir à trouver un module Google Coral. Avec la pénurie de composants électroniques post covid, les prix ont flambés et la disponibilité est faible.
Je vais donc mettre en pause ce projet jusqu'à ce que j'aie soit un stick USB soit un module M.2 key E avec son adaptateur PCI-E. Parce que même si je ne conserve pas frigate sur le long terme, ça pourra toujours me permettre de faire joujou avec tensorflow lite sur du hardware natif.
J'vais attendre que la disponibilité remonte, les prix sont vraiment trop abusés.