Système de vidéosurveillance

Ça va finir par devenir une obsession, mais après le post de découverte de Frigate et Frigate+, celui de présentation du système de notification sur un groupe Signal et le dernier concernant la mise en place d’un serveur dédié à base de N150, voilà un post et une image qui résume à lui tout seul mon système complet de vidéosurveillance basé sur Frigate et Frigate+ qui arrive à peu près à maturité.

Frigate tourne sur un mini PC dédié accessible d’internet avec connexion chiffrée via un certificat Let’s Encrypt le tout géré par traefik qui gère également l’authentification, les deux tournent sous l’outil de conteneurisation docker. Localement ce mini PC se nomme Cerbere, il est assisté d’un poste secondaire nommé Ultra qui sert à gérer une caméra bas coût dont l’adresse RTSP fluctue régulièrement et sur lequel tourne également un serveur apache httpd. Cerbere utilise une clé Google Coral TPU pour accélérer l’exploitation des modèles d’apprentissage. Six caméras IP sont connectées au total réparties en extérieur, 4 sont en connexion ethernet POE (alimentation par le câble ethernet), 3 utilisent les fonctions PTZ et sont mobiles. Dans les caméras on trouve un visiophone qui est piloté d’un écran lui même connecté en intérieur en ethernet POE, on trouve également une caméra bas coût connecté via un répéteur WIFI qui se trouve dans un local extérieur électrifié.
Physiquement mon système est réparti sur plusieurs zones :

  • extérieur : localisation des caméras, qui toutes supportent très bien les intempéries et le cagnard du sud.
  • garage : localisation de mon serveur Cerbere et de toutes les arrivées réseau de la maison avec un switch classique sur lequel est brassé les câbles RJ45 qui desservent les différentes pièces de la maison (et qui ont remplacé les câbles téléphoniques) et un switch POE pour les caméras.
  • mezzanine : localisation de ma box, de mon routeur et de mon autre serveur Ultra.
  • local extérieur : localisation d’un répéteur WIFI pour étendre la portée d’une caméra.
  • cuisine : localisation de l’écran du visiophone dont la caméra est intégrée au système.

Il y a pléthore de caméras IP sur le marché, les moins chères sont souvent des modèles chinois liées à une application qui fonctionne sous Android et à la sécurité plus que douteuse. Les critères de choix sont :

  • caméras qui génèrent un flux vidéo RTSP avec une adresse fixe et qui vont s’intégrer très facilement à ZoneMinder ou Frigate. Des sites comme ipcamlive ou ispyconnect recensent les caméras par marque ayant une adresse RTSP fixe. Malgré ça, comme je n’avais pas intégré ce critère initialement, j’ai une caméra dont l’adresse RSTP change régulièrement, ce n’est pas insurmontable mais ça complexifie l’installation car il faudra mettre en place des scripts qui vont rendre l’adresse fixe pour ZoneMinder ou Frigate.
  • caméras configurables en se connectant en indiquant leur adresse IP dans un navigateur sans avoir à passer par une application. Pour les caméras bas coût, j’ai dû néanmoins passer par l’application Android pour pouvoir les paramétrer.
  • paramètres d’administration qui permettent de changer les paramètres réseau pour les connecter à un réseau local, les caméras ne doivent pas directement accessibles sur internet mais uniquement via Frigate ou ZoneMinder
  • ce n’est pas strictement obligatoire, mais c’est mieux que la caméra puisse se connecter en ethernet POE ça permet d’avoir un seul fil (pas de câble d’alimentation, tout passe par le câble ethernet), sur de longues distances, (mon câble le plus long fait 30m)avec une connexion fiable et de bonne qualité. J’ai néanmoins deux caméras bas coût qui ne sont pas POE et qui sont alimentées avec un câble d’alimentation en plus d’être connectées par ethernet de manière classique, l’une d’entre elle est à plus d’une cinquantaine de mètre, elle est connectée à un répéteur WIFI dont le choix a été délicat car il me fallait un modèle totalement paramétrable pour les paramètres réseau.


Il existe également un autre acteur qui m’a donné beaucoup de fil à retordre, il s’agit du firewall shorewall. Il faut qu’il soit à la fois très restrictif pour interdire tout accès aux caméras directement via internet mais également qu’il puisse ouvrir les routes au juste besoin pour que Frigate soit accessible en sécurité d’un mobile sur internet via traefik, qui assure la connexion chiffrée avec un certificat validé par let’s encrypt et puisse communiquer avec les bases de données Frigate+. Et je dois avouer que je n’y serais pas arrivé sans l’aide de gemini enfin du moins pas aussi rapidement.

Les pages dédiées sur mon site funix.org :

  • La page sur l’installation du hardware, gestion des caméras et de la clé Google Coral TPU
  • La page sur l’installation et la configuration de Frigate et Frigate+

Serveur dédié de videosurveillance Frigate+

J’ai mis à jour le système de vidéosurveillance Frigate vers la dernière version 0.17, celle-ci intègre des instructions AVX qui deviennent nécessaires pour l’apprentissage de modèles ou bénéficier de certaines fonctionnalités. Il est inutile de faire évoluer le noyau linux, c’est en hard dans le processeur ou le GPU. Je me suis résolu à acheter un nouveau serveur dédié plus moderne sur un célèbre site vente chinois pour la modique somme de 155€.

Ninkear N10 Pro

C’est un Ninkear n10 Pro basé sur un processeur N150 Twin Lake-N avec 16Go de RAM DDR4 et un disque SSD interne de 1To. Il est évidemment neuf et pour ce prix là difficile de faire mieux, les Raspberry n’ont qu’à se rhabiller.

De fait ça a compliqué ma configuration réseau, car j’utilise toujours mon autre mini PC Lenovo ThinkCenter M92p pour faire tourner mes autres services réseau dont certains sont accessibles sur internet (webmail via roundcubemail via un serveur httpd apache).

Lenovo ThinkCenter M92p avec une clé Google Coral

Il a fallu revoir mes tables de routage entre ma box SFR et mon routeur interne TP-Link Archer C6 qui fait l’interface avec le réseau local. Par ailleurs mon serveur actuel dispose d’un certificat Let’s Encrypt avec une URL accessible par internet géré par no-ip. Pour que frigate soit accessible d’un mobile sur internet, j’ai donc créé une deuxième URL avec no-ip spécifique comme ma box SFR ne gère qu’une adresse dynamique, c’est mon routeur interne qui se charge de mettre à jour cette adresse régulièrement.

Continuer la lecture de Serveur dédié de videosurveillance Frigate+

Le voile de la mariée et la cascade des demoiselles, Salazie, île de la Réunion

J’ai mis en ligne une page sur une randonnée aquatique pour aller admirer au plus près la cascade du voile de la mariée. C’est une cascade emblématique du cirque de Salazie bien visible de la route. Moins connue, en contrebas dans le lit de la rivière du Mât, la cascade des demoiselles, ou plutôt les cascades des demoiselles, toute une série de cascades qui se déversent dans la rivière.

C’est une balade qui se fait les pieds dans l’eau, enfin du moins en restant bien chaussé. Réalisée durant l’hiver austral et là une petite couche de néoprène n’est pas de trop.

La cascade des demoiselles

Tutoriel d’utilisation de GoPro Quik avant importation sous kdenlive

Ce post fait suite à celui-ci avec une première utilisation réussie d’une caméra GoPro MAX en mode vidéo 360° avec un premier montage réalisé sous GoPro Quik et une finalisation sous kdenlive qui donne cela :

Voici un tutoriel pour une utilisation rapide de GoPro Quik dont l’objectif est de prémonter des clips vidéo qui ont été recadrés avec d’éventuels effets pour pouvoir les réimporter ensuite sous kdenlive pour les intégrer à un montage plus complexe en tant que simples fichiers vidéo en perdant au passage leur caractéristique de vidéo 360°.

J’utilise Quick sur une tablette Xiami Redmi Pad Pro 2, il faut oublier toutes les merdouilles chinoises qu’on trouve sur Amazon et Aliexpress à 100€ qui vous promettent monts et merveilles. Il faut vraiment viser de la qualité et un minimum de puissance et de RAM (réelle et pas virtuelle) pour que ça soit agréable à monter et ne pas galérer. Attention également à la taille de la mémoire interne, car Quik n’utilise que celle-ci est absolument pas la mémoire d’une carte SD externe. Ma tablette a 256Go de mémoire interne, donc j’ai de quoi voir venir.

Quand on lance Quik, après le login de connexion, on tombe d’abord sur l’écran Médias, on supposera que vous avez créé votre compte GoPro préalablement éventuellement via le compte Google.

On ira d’abord récupérer les fichiers sur la caméra GoPro, en cliquant sur l’icône correspondante tout à droite.

Continuer la lecture de Tutoriel d’utilisation de GoPro Quik avant importation sous kdenlive

Première utilisation réussie d’une GoPro MAX en windsurf

Après ma première utilisation plus que mitigée de ma GoPro MAX décrite dans ce post, j’ai refait une nouvelle tentative ce lundi. Et le moins qu’on puisse dire est que je suis entré dans une nouvelle dimension dans le domaine des prises de vue sportives, comme on peut le voir avec cette série de photos.

et la vidéo de cette session, c’est tout simplement bluffant.

J’avais fixé ma GoPro au bout de la perche de mon harness mount qui fait 0,88m, cette fois-ci sans le caisson pour éviter l’effet de stitching. Vu les nombreux témoignages de personnes qui ont noyé leur GoPro Max, j’ai mis de la graisse silicone au niveau de la porte, l’endroit certainement le plus sensible aux entrées d’eau. Malgré ça, on voit sur la vidéo le petit bout de sécurité fixé à GoPro avec un collier de serrage, ça donne l’impression que j’ai une queue ! Il faudra que je fasse gaffe à ça les prochaines fois en le cachant bien sous la caméra.

Pour le montage vidéo, dans la pratique, j’ai d’abord fait un prémontage avec l’outil GoPro Quik sur ma tablette Xiaomi Redmi Pad Pro 2 achetée spécialement pour l’occasion puis j’ai terminé sous kdenlive. En tout cas c’est assez incroyable comment on peut exploiter les images et vidéos avec les différents angles de vue avec Quik. Je reviendrai là dessus dans un prochain post car j’ai quand même pas mal galéré pour comprendre comment Quik fonctionnait aussi intuitif et simpliste pour un logiciel de montage qu’il puisse être. En tout cas je confirme qu’il est nécessaire de passer par Quik pour recoller proprement les morceaux, ça n’est pas possible avec kdenlive, on voit les bordures, l’effet stitching, qu’on n’arrive pas à rattraper. Par ailleurs kdenlive est encore moins capable d’adapter l’angle de vue, j’y reviendrai également.

Je déplore juste d’avoir à passer obligatoirement par un logiciel propriétaire, d’avoir eu à investir dans une tablette un minimum performante pour pouvoir exploiter ma nouvelle caméra 360°.

Saccage de fibre optique et réparation temporaire

J’ai un technicien indélicat d’une sous traitance en cascade qui n’a rien trouvé de mieux pour brancher un abonné que de couper ma fibre optique. Il aurait pu tout simplement la débrancher et bien non, il a coupé net deux fibres au total dont la mienne. Le technicien SFR qui a constaté la coupure a signalé le problème à Orange puisque cette partie est de leur responsabilité. En synthèse, je risque d’être coupé du monde un certain temps à cause d’un sombre idiot sans possibilité de recours 🙁

En attendant j’ai mis en place une configuration temporaire pour pouvoir partager ma connexion 4G à l’ensemble de mon sous réseau. Pour ce faire j’ai doublement branché au réseau mon Thinkpad x270 Cilaos à mon réseau local via RJ45 et à internet en WIFI via le partage 4G de mon mobile. Le travail consiste ensuite à partager la connexion aux autres postes du réseau en faisant passerelle.

Sur le PC Cilaos, j’ai activé l’IP forwarding qui fait que le PC se comporte comme un routeur pour relayer les trames réseau. Sur ma mageia il s’agit du fichier /etc/sysctl.d/51-drakx.conf qui devra contenir cette ligne net.ipv4.ip_forward=1. On configure maintenant le NAT (masquerading), pour que tous les PC du réseau soient vus avec l’adresse IP WIFI de Cilaos. A cette fin on tapera en considérant que l’interface WIFI s’appelle wlp3s0 :

iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE
Continuer la lecture de Saccage de fibre optique et réparation temporaire

Virtualiser Android sur Linux pour exploiter une GoPro MAX 360°

J’ai récemment fait l’acquisition d’une GoPro MAX pour pouvoir faire de la vidéo à 360°, un ancien modèle qu’on commence à trouver à un prix abordable sur internet, je l’ai achetée neuve 220€ sur ebay en Allemagne. Je me suis empressé d’acheter un caisson d’étanchéité et de la sortir dès que le vent a pointé son nez en windsurf.

GoPtro Max dans un caisson au bout de mon harness mount

Le résultat a été plus que décevant, kdenlive ouvre bien les fichiers, chacun contenant deux flux vidéos, mais il ne visualise qu’un flux et j’ai découvert l’effet de stitch, c’est à dire des jointures de vidéos qui sont visibles et qui font pas terribles, il y a beaucoup de messages à ce sujet sur le forum de la communauté GoPro. J’ai surtout découvert à cette occasion que le caisson est inadapté pour une caméra GoPro car il accentue cet effet et que ce genre de caméra s’utilise sans caisson, je comprends maintenant pourquoi il n’existe pas de caisson de marque GoPro mais que de la sous marque chinoise. Je me demande également si ma perche de 0,88m de mon harness mount est suffisante, visiblement il faudrait qu’elle soit supérieure à 1m.

Fichier 360 ouvert sous kdenlive
Continuer la lecture de Virtualiser Android sur Linux pour exploiter une GoPro MAX 360°

Sessions windsurf presqu’île de Giens

L’année commence bien côté windsurf, le vent a décidé de souffler pendant les week-ends. Les conditions sont plutôt sélectives avec du vent fort et des températures hivernales et il n’y a pas grand monde sur l’eau. J’ai ressorti ma combinaison typhoon de 6mm avec bonheur.

Ce week-end le Var est balayé par un coup de vent d’est, je suis sorti hier sur le spot de la Bergerie, presqu’île de Giens. Ça restait encore navigable, même s’il a fallu sortir ma voile tempête de 3,4m², on était à peine une petite quinzaine un samedi après midi à affronter les éléments, il faut dire qu’avec un temps pareil on a plutôt envie de rester au coin du feu et il faut avoir un petit brin de folie pour mettre le nez dehors a fortiori sur l’eau en plein coup de vent.

Le précédent week-end j’étais de l’autre côté de la presqu’île sur le spot de l’Almanarre, ça caillait encore plus mais il y avait un vent bien fort dans le passage de la tempête Goretti, j’étais encore avec ma voile tempête de 3,4m². Les vagues du haut fond du Passe Pied fonctionnaient, c’est assez rare qu’elles se forment et c’est un régal de pouvoir jouer avec.

Synchroniser son site web avec Git avec Infomaniak

Dans un post précédent j’avais montré comment synchroniser son site web avec Git et cPanel avec Scaleway, maintenant je vais montrer l’équivalent avec Infomaniak.

Infomaniak ne dispose pas de cPanel, mais on peut y arriver quand même via l’interface maison. La première chose à faire est de créer sur le PC local une clé Ed25519 avec la commande ssh-keygen -t ed25519. Sur la console Infomaniak on veillera à ce que SSH soit bien activé à partir du même login que pour la connexion FTP.

On pourra se connecter avec l’onglet Console SSH

On pourra également se connecter à distance en ligne de commande (avec les indications données dans le premier écran ci-dessus) :

ssh login@XXXXX.ftp.infomaniak.com
Continuer la lecture de Synchroniser son site web avec Git avec Infomaniak

Randonnée crête de Tournoux par le Serre de l’Aut

Le jour de noël a été sportif, nous avons fait une randonnée en partie dans la neige de 12,5km d’un dénivelé de 910m positif et 927m négatif au départ du village de Tournoux dans la vallée de l’Ubaye dans les Alpes de Haute Provence. C’est une randonnée qui passe par un sentier de crête avec un panorama fantastique d’autant plus en cette saison où tout est bien enneigé.

Sentier le long de la crête

Elle est agrémentée de la découverte de vestiges militaires supérieurs du fort de Tournoux : la batterie du fort des Caurres, le fortin du Serre de l’Aut, le poste d’observation et la chapelle Saint-Jean-Baptiste.

Le poste d’observation
Continuer la lecture de Randonnée crête de Tournoux par le Serre de l’Aut