Vu que les caméras sont pour un véhicule, surtout celle du recul, le lag (délais) seras a éviter. C’est pour ça que la caméra analogique sont fortement conseillé.
Je sais que la qualité varie beaucoup, mais elles sont bien conçu quand même. Pour l’enregistrement, tu peux passer via par un USB EasyCap pour prendre la vidéo, tu peux aussi ajouter un audio, comme un microphone intérieur. Tu n’as qu’a séparer avec un « Y » le câble vidéo RCA de la caméra.
Après pour les autres caméras, tu peux faire la même chose ou passer en caméra PI avec un RPi dédié.
Vu les restrictions technique, un RPi peut n’avoir qu’une seul caméra, même chose en USB, mais un RPi peux avoir une caméra Pi + un USB, mais il faut qu’il soit puissant (CPU / Ram).
Tu as besoin d’un serveur vidéo, pour centraliser les streams (accès distant). Soit yu utilise FFMpeg/FFServer (old avec manip mais plus légé), ou via Motion Eye, qui est un OS pour la vidéo surveillance, avec le contrôle de la détection de mouvement, enregistrement, etc… Je crois que tu serais bien avec sur un RPi 4.
La tu as un problème, c’est le LAG, car tous ce qui passe via le stream aura un décallage, plus tu passe par des système (modèle du RPi, réseau, conversions/CPU…), plus tu vas en créer. Alors pour ton usage « local », tu dois utiliser les moyens « à la source ».
Comme dis pour la caméra de recul, l’analogique est le plus fiable. Ça implique pas de conversion ou autre « numérique », c’est brut. Juste le fait de passer via USB peut créer un lag, alors il faut prendre le signal en RCA. Pour l’affichage, tu peux utiliser un écran à multiple entrées, des modèles de vidéo surveillance.
Si tu passe via les Caméra PI, il y a moyen d’avoir l’affichage direct ET d’envoyer le stream au serveur centrale. Je n’ai pas la commande sous la main mais avec je crois les outils de base de la caméra Pi, il est possible d’afficher le Preview en Fullscreen (même en Raspbian Lite, en mode console seul) et que cette source soit envoyé à FFMpeg pour le serveur central.
J’ai malheureusement pas les codes avec moi, mais je sais que c’est possible, car j’ai fais ça avec un RPi 0 pour un projet de Dashcam.
Le projet n’est pas stable et mes résultats avec un PRi 0 est affreux. Perso je ne voulais pas mettre plus que ce modèle de RPi, alors j’ai abandonné.
Alors en résumé;
- Caméra en RCA Analogique, avec un « Y » pour envoyer vers l’écran « local » et un RPi + USB easyCap pour envoyer vers le « serveur central »
- Et/ou caméra Pi avec sortie « preview » sur le HDMI et encodage vers le « server central »
- Un serveur central « Motion Eye » qui recois et enregistre les streams, paratge à distance, etc…
- Un Écran TV « surveillance » avec multiple entrée simultanés, avec entrée HDMI ou RCA selon la configuration du projet choisi.
Tu auras besoin de baucoup de batterie, alors un petit calcul…
- Caméra analogique c’est 100~250mA + RPi0 ~250mA
- Caméra Pi + RPi c’est ~250mA (RPi0) à 1.5~2.5A pour un RPi au format « B »
- RPi 4 avec Motion Eye dans les 1.5~2.5A sur
- Écran à affichage multiple c’est dans les 2~3A
Alors en vite, vite;
- Écran multiple; 3A
- Caméras; chaque caméra c’est entre 250mA à 2.5A, alors si tu en as 3, tu consomme entre 750mA à 7.5A
- Le serveur c’est 2.5A
Alors ont tourne entre 6.25A minimum à 13A en consommation, c’est énorme. Le laisser tourner 24/7 demandera une alimentation séparé et une méthode de recharge fiable, soit via l’alternateur et des panneaux solaire.
C’est l’une des raison qu’il n’existe pas de vidéo surveillance pour les voiture avec accès distant.
Pour éviter ça, il faudra allez plus loin, avec une programmation plus basique qu’une Raspberry Pi, car démarrer un RPi sur le logiciel demande un certains temps. Par exemple un PRi 0 c’est 30~60s en démarrage complet.tu peux couper ça un peux avec des modif et un RPi plus puissant, mais reste que c’est pas auto, alors utiliser des relays et des détecteur IR de mouvement (comme sur les lampe extérieur) pour partir l’enregistrement est peut réalisable avec des RPi.
Il faut de quoi de plus simple, codé direct qui va permettre de rester en « stand by », ce réveiller rapidement et démarrer un enregistrement. Qui peut également au besoin être réveillé par le réseau pour permettre le visionnement ponctuel à distance. Mais la ont tombe plus dans du Arduino, microPi et encore plus basique.
C’est sur que d’avoir un système complet de vidéo avec un RPi est possible, avec certaines limites, et serais vraiment intéressant, mais même moi j’ai abandonné cette idée car la demande en alimentation et le temps de démarrage sont trop exigent pour un véhicule, mais faut die que j’ai pas un Pickup Américain avec une batterie surpuissante (je connais, je suis au Québec), je voulais également avoir des stats OBD2 avec un RPi, mais l’usage de Bluetooth d’écran, programmation etc… ma refroidi.
Bon c’est un peu « lancé » comme réponse, mais j’ai un peu de misère a bien structurer ma réponse selon les points. Ce type de projet implique beaucoup; matériel différent, limitation technique et monétaire, etc… Alors malgré que le concept soit simple, la réalisation est complexe.
Quelques explications sur mon expérience.
J’ai actuellement 6 caméras de surveillances dans mon appartement. Deux sont sur un PC, qui sont analogique et passe par deux TV Tuner pour la capture. C’est également ce PC qui sert de serveur central. Il est monté avec FFServer (obselete, je sais) . J’ai une caméra IP Wifi. Le serveur central s’occupe dans ce cas de capturer le stream et de le réenvoyer vers le serveur central FFServer.
J’ai 2 caméras Pi sur des RPi 0 W v1. Avec Raspbian Lite, il capture et envoie via le Wifi. J’ai un lag de 1~5s avec les caméra (très variable). Et j’ai une caméra USB sur mon serveur NAS que je me suis monté.
Je dois changer de serveur central car par erreur, je pris un PC avec une carte interne de 100Mbps au lieu de 1GBps, je sature vite quand je désire visionner les caméra depuis plus d’une source. Pour assurer une fiabilité, je sauvegarde le stream par capture de l’image « preview » sur le FFServer au 2~5sec depuis un serveur extérieur, qui a chaque jour regroupe les images pour créer une vidéo.
Mais cette option n’est pas intéressante pour ton projet.
J’utilise le format MJpeg, qui est une source déjà « ready » sur tous les caméras que j’ai, ceci évite un encodage, el FFServer sert alors que de distributeur direct, sans encodage. Passer au H.264 par exemple exigerais de la compression qui demanderais beaucoup au CPU. Certain appareil serais en mesure de le faire, mais les RPi0 par exemple aurais encore plus de lag.
Tous les stream de chaque appareil passe par une capture via FFMpeg vers le serveur central par réseau.
Dans mon projet de Dashcam, j’ai vu la limite d’encodage des RPi0. Sache déjà que j’ai mes licences activé pour utiliser l’accélération d’encodage H.264 sur mes RPi. Le gain est faible mais la (5~10% pour l’encodage, 25~50% en lecture). ET j’ai eu un lag énorme. C’est bien quelques secondes, mais vi le preview lag, et l’enregistrement rencontre des erreurs. Le premier et la séparation par segment de 3 minutes (180s), aucun des segment était juste, j’avais des encodage de 5 minutes, des fois de 2 minutes, des pause sur des frame long, des erreur d’encodage (artefact de groupe de pixel qui donne l’effet fantôme), des lenteur après un certain temps sur la réaction des action boutons. J’étais sous Raspbian Lite, sans réseau. Le démarrage était de ~45 secondes. Trop long pour un usage en Dashcam, j’ai abandonné. Sortie HDMI désactivé, sortie en RCA activé en 480x320px. Mais le Preview était très bon, très peux de lag, et sans enregistrement il serait fluide.
La solution super simple; le système de vidéo surveillance de maison.
Ça parais idiot mais pas tant que ça.
Déjà, tu as des caméra fournis et un nombre d’entrée. Soit 4 ou 8. Et les terminaux sont souvent fournis avec un disque dur pour l’enregistrement, alors ceci est réglé.
Chaque caméra est connecté au système, et l’affichage depuis ce système terminal est déjà compatible pour du multi sources. Il suffit que d’alimenter les caméra sur le circuit 12V.
Tu n’aurais qu’a démonter les caméra de leur coque pour les intégrer au véhicule. Avec ou sans leur lumière IR.
C’est la solution la plus simple car elle inclus déjà ce que tu cherche et a été conçu pour ça.
- Accès distant
- Enregistrement
- Lecture en direct
- Multi sources
Tu peux t’en sortir en dessous des 13A, voir en dessous de 7A.