Raspberry : diffuser le flux video de la Pi Camera avec Motion

Ressources

https://raspbian-france.fr/video-surveillance-raspberry-pi-camera/comment-page-2/

Présentation

Le logiciel Motion de vidéo surveillance qui permet de diffuser les flux vidéos issus de différentes caméras en ligne c'est à dire en streaming.

Motion est capable de faire de la motion capture, c’est-à-dire de comparer la dernière image prise avec la nouvelle pour faire de la détection de mouvements.

Installation

lancez le terminal et mettez à jour le Raspberry

$ sudo apt update && sudo apt -y upgrade

pour que la caméra soit accessible à Motion, il faut l'associer à un périphérique du Raspberry en modifiant le fichier /etc/modules afin d'ajouter la ligne bcm2835-v4l2

$ sudo nano /etc/modules

installer le logiciel motion

$ sudo apt install motion

L'installation de Motion réalise notamment les actions suivantes : création de l’utilisateur et du groupe motion ajout de l’utilisateur motion au groupe video création du répetoire personnel /var/lib/motion

configurer Motion en éditant le fichier /etc/default/motion

$ sudo nano /etc/default/motion

indiquez les paramètres suivants dans le fichier /etc/default/motion afin que le logiciel s'exécute en permanence :

start_motion_daemon=yes

Visualisez les services actifs sur le Raspberry dont motion

$ service --status-all [ + ] alsa-utils [ + ] avahi-daemon ... [ + ] motion ...

Il doit y avoir un + a gauche du nom de motion :

Voir le statut de motion
<code shell> $ service motion status -l motion.service - LSB: Start Motion detection Loaded: loaded (/etc/init.d/motion; generated; vendor preset: enabled) Active: active (running) since Thu 2018-04-26 19:47:54 CEST; 7min ago Docs: man:systemd-sysv-generator(8) Process: 321 ExecStart=/etc/init.d/motion start (code=exited, status=0/SUCCESS) CGroup: /system.slice/motion.service └─581 /usr/bin/motion

avril 26 19:47:53 raspberrypi systemd[1]: Starting LSB: Start Motion detection… avril 26 19:47:54 raspberrypi motion[321]: Starting motion detection daemon: motion. avril 26 19:47:54 raspberrypi systemd[1]: Started LSB: Start Motion detection. avril 26 19:47:57 raspberrypi motion[434]: [0:motion] [NTC] [ALL] confload: Processing thread 0 - config file /etc/motion/motion.conf avril 26 19:47:57 raspberrypi motion[434]: [0:motion] [NTC] [ALL] motionstartup: Motion 4.0 Started avril 26 19:47:57 raspberrypi motion[434]: [0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log) </code>

Configurer Motion

Il s'agit maintenant de configurer Motion afin de diffuser un flux vidéo continu de la caméra du Raspberry.

Dans le fichier /etc/motion/motion.conf modifiez les lignes suivantes :

...
Daemon on
#frequence des images par seconde
framerate 25
# autoriser la connexion au streaming à tout le monde
stream_localhost off
# frequence maximale des images par seconde
stream_maxrate 25

Par défaut la résolution des images gérées par Motion est de 352 x 288. Mais vous pouvez configurer Motion pour avoir de meilleures images en modifiant les paramètres width et height du fichier /etc/motion/motion.conf. La caméra peut gérer en vidéo les résolutions 720p ou HD Ready (1280 x 720 pixels, format 16/9) et 1080p ou Full HD (1920 x 1080 pixels, format 16/9). Une résolution correcte serait 640 x 480 pixels. Après cela est à adapter au résultat à obtenir.

relancer le service Motion <code shell> $ sudo service motion restart </code>

Vous pouvez alors accéder au flux vidéo à l'adresse IP du Raspberry sur le port 8081 : http://10.3.141.1:8081

Pour intégrer ce flux vidéo dans une page HTML, utilisez les balises HTML suivantes <section class="streaming"> <img name="PiCamera" src="http://10.3.141.1:8081/video" width="640" height="380" alt="Caméra Voiture" style="background-color: #009999" /> </section>

Les activités ...

Je reviens à la liste des activités.