Aide Vidéo Live avec retour sur page Web

Bonjour à tous,

Je travaille sur un projet de caméra live pour filmer un spot de surf et diffuser la vidéo sur un site web. Mon objectif est d’avoir un système autonome pour faire ça. Je ne m’y connais pas beaucoup en informatique mais j’apprends petit à petit.

Je vous mets mon matériel :

  • Raspberry Pi 3B+
  • Caméra USB 1440p
  • Dongle 4g (avec SIM)

Pour le petit historique :
À la base, je pensais faire tourner la Pi3 en Desktop comme pour avoir un ordinateur, installer OBS Studio pour renvoyer le flux vidéo sur une page internet (ou Youtube, mais je suis moins fan de l’idée…) et contrôler tout ça à distance avec AnyDesk.
Problème : La PI3 supporte mal Rasbian en Desktop, très très lent, rien que pour ouvrir un page internet…

Je me suis donc passé sur des versions allégées (Core il me semble).
Après de nombreux essais et recherche, j’ai réussi à utiliser MotionEyes et accéder au flux vidéo en ligne.
Problème : le flux vidéo est accessible uniquement lorsque l’on est sur le même réseau que la Pi3. Dommage si la caméra est à 10km de ma maison… Ou y’a-t-il un moyen de le récupérer autrement ? Je n’ai pas réussi…

Ensuite,
J’ai entendu dire que c’était possible en Python, j’ai alors commencé à coder… Mais je galère un peu, même en m’aidant de ChatGPT…

J’aurais donc plusieurs questions, notamment :
Vaut-il mieux faire tourner un Desktop ou partir sur du code ?
Quel OS recommandez-vous ?
Comment envoyer le flux en direct ? Est-ce que MotionEyeOS pourrait fonctionner « à distance » ?
Ou est-il possible d’optimiser la RPi ? Comment éviter les ralentissements et rendre le système stable ?

Je suis un peu perdu et je ne sais pas dans quelle direction aller
Je suis preneur de tous vos conseils, avis, retours d’expérience et recommandations techniques !

Merci d’avance pour votre aide qui me serait précieuse !!!
Noé

Salut,

Moi je te conseil d’utiliser « motion », pas besoin de code ou autres.

Motion Eye est plus complet mais inutile dans ton cas, tu va surcharger le OS pour rien.

Oui mais un ajustement d’un seul paramètre dans le fichier de motion résous ça.

Je te donne la théorie, je t’Invite à faire les recherches et ajustement par tes propres moyens. Comme ça tu comprendra mieux l’implication.

Tu va devoir avoir Raspbian OS Lite, tu le met à jour et install « motion ».

J’utilise ceci sur un RPi Zero v1 WH sans problème

Dans motion, tu le configure via sudo nano /etc/motion/motion.conf.

Voici quelques lignes intéressantes;

#Mettre en arrière plan, remet à "off" pour un debug manuel
daemon on

#Rend moins bavare, remet à "off" pour un debug manuel
quiet on

#Ton entrée vidéo, tu as d'autres paramètre pour l'ajustement de son input, format etc..., consulte la doc de motion pour les détails.
videodevice /dev/video0

#Ajustement et validation de certains paramètre pour limiter l'usage
picture_output off
movie_output off

#Gestion par le Web, ceci active l'interface Web pour changer des paramètres de la caméra. Il vaux mieux utiliser un mot de passe si l'appareil est tout port publique, sinon ce n'est pas totalement requis.
webcontrol_port 8080
#Ce paramètre, si sur "on", autorise le Webcontrol que sur la machine local (127.0.0.1/localhost) seulement
webcontrol_localhost off
#Consulte la documentation pour les paramètres de sécurité

#La DIFFUSSION SUR LE RÉSEAU
stream_port 8081
#Si tu veux qu'un client externe ce connecte au stream, tu sélectionne "off", si tu veux te connecter à un serveur avec FFMpeg, met sur "on" pour plus de sécurité.
#Consulte la documentation pour ajuster les paramètres de qualité et de sécurité. 

Il peut avoir des bugs avec le dossier /var/log/motion sur des droits utilisateurs. Tu devra peut-être corriger mes propres corrections pour ajuster les bons droits d’accès.
sudo mkdir /var/log/motion && sudo chown -R motion:adm /var/log/motion

Pour activer motion au démarrage;

sudo systemctl enable motion
sudo systemctl start motion

Dans l’état actuel, tu as ton RPi transformé en caméra IP, ce qui veux dire qu’il peut être contacté pour visualiser le stream. http://<adresse_de_pi>:8081/ Tout simplement. Alors il sera sur l’adresse IP DATA de ton Dongle, que tu configure préalablement.

ATTENTION!!! Ton Stream sera accessible sans sécurité, si les images ne sont pas privé, alors tu as peu de risque. Sinon songe à protéger par mot de passe, voir TLS le flux. Ceci est surtout valable si tu active le Web Control pour gérer la caméra à distance. C’est pratique pour ajuster par exemple le « brightness » pendant l’exécution, mais sans sécurité, tu risque d’avoir un flux vandalisé, si ce n’est pas d’autres soucis.