Je me suis monté un système de vidéo surveillance sans passer par Motion Eye, je me base sur FFMpeg pour effectuer mes stream vers mon serveur principal.
J’ai plusieurs types de caméra, sur divers appareil, mais ici je m’attarde a un problème que j’ai avec les Raspberry Pi Zero (1.x)
J’ai 3 caméras que j’ai testé, deux sont des modèle dédié au Raspberry (en Legacy) et une en USB. Et je n’ai clairement pas le même résultat.
Avec la USB, qui est en 720p MAX, j’ai aucun problème vraiment, elle n’est pas Infra Rouge, c’es pour cette raison que je ne préfère pas l’utiliser, et j’aimerais la garder disponible pour d’autres usages. Quand je lance le stream, en format MJpeg, j’ai un décalage normal (latency). Le stream peut tenir plusieurs jours sans problème.
Ma difficulté actuel est avec les modèle de caméra qui passe sur le port de la caméra du Raspberry.
Les problèmes existait AVANT une MaJ qui passe c’est caméra en Legacy, depuis, c’est pire.
Au sujet de cette MaJ; il ma fallu un certain temps pour comprendre pourquoi ma caméra a cesser de fonctionner du jour eu lendemain, après une MaJ, tout cesse de marcher, j’ai des erreurs avec la caméra et impossible de lancer le Stream, j’ai du prendre la caméra USB pour contourner le problème avant de me rendre compte qu’une option dans Raspi-Config doit être activé pour autoriser la Caméra Pi en « Legacy ».
Alors déjà, depuis le début, j’ai un Latency monstre, de 5 à 10 secondes, juste le démarrage de ma commande, ont voit que le Latency est causé par l’encodage. Mais ce Latency monstre n’est pas vécu si j’utilise une caméra USB. Les deux fournissent pourtant une sortie en MJpeg natif.
Mais mis a part ce lag énorme, surtout pour une caméra de surveillance, j’ai un nouveau problème qui est apparu; la coupure de la caméra.
Après un certains temps (entre 1 et 12 heures), le processus FFMpeg roule toujours mais la caméra émet plus aucun signal vidéo (écran noir), je dois fermer et relancer le stream pour retrouver une image, mais à chaque fois, le temps de vie de la session devient plus court, au point qu’il « plante » de plus en plus court. Ce qui abouti à un redémarrage du système pour retrouver un temps d’activité respectable.
Alors j’ai aussi testé avec une autre caméra Pi, sans Infra Rouge, pour savoir si ça marche mieux, mais c’est pire, déjà elle embarque qu’une fois sur deux, mais a les même performance, voir pire. Alors ce n’est pas le IR qui boit trop sur l’alimentation, et le type de caméra a l’air des problématique avec le RPi0.
Cette même caméra est sur un RPi 2B, et j’ai aucun lag, ni problème de plantage, alors le problème est vraiment du RPi 0.
J’ai testé avec un autre RPi0, même résultat, alors en effet, le RPi 0 est vraiment « Poche » pour gérer des caméra, pourtant j’ai Raspbian Lite sans rien d’autres, et j’ai que mis mon code et le FFMpeg 3.4 (requis par FFServer, sans passer par apt ) pour faire ce travail. Pas de GUI (le HDMI n’est pas connecté), pas de BT ou autres choses en USB.
Mais plus je passe du temps avec les RPi0, plus je me demande à quel type de projet je peut les utiliser.
SI ils ne sont pas assez robuste pour une caméra, qui sont trop lent pour un PiHole et affreux en affichage graphique (comme un desktop, même en mode Kiosk) alors a quoi peuvent-il servir ?
Dans mon cas, je fais pas de Domotique, je pilote rien depuis des RPi, j’ai pas d’automatisation. La plupart de mes projets consiste à créer des interface utilisateur via écran 3.5" ou des « clones » de produit, comme une caméra IP ou un NAS.
Sur le papier, il sont formidable; petit et avec un minimum de port, il sont pratique pour de petit projet comme caméra ou affichage de petite taille, dans les faits, la puissance étant affreuse, la seul chose logique semble la domotique, mais pourquoi que même sans tâche, le simple fait de ce connecter en SSH est 4 fois plus long que de le faire sur un RPi 2 ou 3 qui est travail plus intense ?
- L’alimentation ? J’ai changer les câble USB et les chargeur, fournis du haut Ampérage (jusqu’à 5A); non, rien n’est mieux.
- Carte SD ? J’ai des Kingston et des Sandisk, les Sandisk sont des 32GB qui sont très rapide avec mes autres RPi (non zéro). Petite taille (8GB), grande taille (64GB), rien n’y change, c’est lent.
Après, je ne peux rien retirer d’autres, non ?
Dans tout les projets que j’ai entrepris avec un RPi0, c’est catastrophique;
- NASBOX : En boot tout marche, après un certains temps, les HDD en USB tombe un après l’autre, l’écran 3.5" perd en puissance et en réponse
- DashCam : Impossible de faire des vidéo fluide, saut de frames importants, découpe irrégulière, aucune synchronisation du son possible. Décodage du son via un micro (mono) en GPIO est trop exigent pour lui.
- piRateRadio (FM Broadcast) : Lag et plantage après plusieurs heures
- retropie : Trop lent pour jouer, même au NES. Impossible de profiter du kit GamePI20, de plus, il perd le contrôle de certains touche quand il est allumé plus de 2 minutes, les reboot y change rien.
- PiHole : Lenteur du réseau, temps de réponse affreux, Je me retrouve avec du 56K quand j’ai une connexion 50Mbps
- Deskboard : Lenteur de l’affichage, lag dans toutes les actions, plantage des services en background et timeout éternel, capteur de température lent et lag sur la réponse (causant des erreurs de lecture de la sonde). Plantage du support BT et du mode audio BT après plusieurs heures, Reboot du service requis, si ce n’est pas de l’OS tout simplement.
- Mode OTG : L’une des fonction intéressant du Raspberry Pi Zero, j’aurais pensé à une évolution du support pour en faciliter l’usage, mais au contraire, ont dirait que tout est fait pour compliquer les choses, depuis 1 an, je n’arrive plus a mettre un RPi0 en mode OTG. DU problème de pilote sous Windows au refus de démarrage du RPi ou du retour en mode normal et ignore le mode OTG, j’ai pourtant un adapteur pour faciliter la connexion et l’alimentation.
- ModBros : Latency énorme, lag avec le temps, plante après un certains temps. Reboot fréquent et devient peux pratique
Alors, suis-je le seul à vivre ces problèmes avec le Raspberry Pi Zero (sans et avec le Wifi). J’utilise toujours Raspbian Lite, quand les image système ne sont pas disponible ou pour mes projets perso.
Les seuls projets qui ont aboutis est mon piAudioCast et le PCStat (lire depuis un serveur Web Windows un JSon pour en afficher les résultat sur l’écran du RPi). C’est pour ça que je tente plusieurs projets, car j’en commence un , tout a l’air de bien marcher, une fois en « production » tout plante.