Table des matières

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

Ressources

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

$ sudo apt update && sudo apt -y upgrade
$ sudo nano /etc/modules
$ 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
$ sudo nano /etc/default/motion
start_motion_daemon=yes
$ service --status-all
 [ + ]  alsa-utils
 [ + ]  avahi-daemon
...
 [ + ]  motion
...

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

$ 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] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
avril 26 19:47:57 raspberrypi motion[434]: [0:motion] [NTC] [ALL] motion_startup: 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)

Configurer Motion

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

...
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.

$ sudo service motion restart

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 ...