Comment configurer une webcam avec détection de mouvement sous Ubuntu

Motion est un outil utile qui peut transformer votre webcam ordinaire en caméra de surveillance. Il fait cela en surveillant le signal de votre webcam et en prenant des captures d’écran et des vidéos lorsqu’il détecte un mouvement. Ici, nous vous montrons comment installer Motion et configurer une webcam avec détection de mouvement sous Ubuntu Linux.
Table des matières
- Installation du serveur Motion
- Configuration de Motion pour votre système
- Changement de l’emplacement de sauvegarde par défaut
- Ajustement des paramètres de détection dans Motion
- Activation de l’interface Web de Motion
- Gestion des captures enregistrées à distance
- Démarrage et test du serveur Motion
Installation du serveur Motion
Motion est inclus par défaut dans le dépôt officiel d’Ubuntu. Cela signifie que vous pouvez installer ce programme via votre gestionnaire de paquets apt :
sudo apt install motion v4l-utilsRemarque : Bien que nous traitions d’Ubuntu dans cet article, Motion fonctionnera également pour la plupart des distributions Linux.
Confirmez que votre serveur Motion fonctionne correctement en ouvrant l’invite d’aide du programme :
motion -hConfiguration de Motion pour votre système
Avant de commencer à configurer Motion, nous devons copier le fichier de configuration dans notre dossier personnel afin d’avoir une sauvegarde propre de l’original. Ouvrez un terminal et copiez le fichier de configuration dans votre dossier personnel :
cp /etc/motion/motion.conf ~/motion.conf.backupOuvrez le fichier de configuration original avec votre éditeur de texte préféré :
sudo nano /etc/motion/motion.confL’un des ajustements les plus simples que vous pouvez faire pour votre serveur Motion est de changer la qualité de sa sortie d’image et de vidéo. Par défaut, le serveur définit sa résolution à 640×480, ce qui peut être trop petit pour les webcams modernes.
Pour changer cela, exécutez la commande suivante dans une nouvelle session de terminal pour vérifier les résolutions disponibles pour votre caméra :
sudo v4l2-ctl -d /dev/video0 --list-formats-ext
Retournez à votre configuration Motion, faites défiler jusqu’à la catégorie “Traitement d’image”, puis recherchez les variables width et height.

Fournissez les valeurs appropriées pour la résolution que vous souhaitez. Dans mon cas, je veux exécuter Motion en 1280×720, donc je tape “1280” comme largeur et “720” comme hauteur.

Définissez la valeur framerate à la fréquence d’images à laquelle vous souhaitez capturer vos vidéos. Par défaut, cela est réglé sur “15”, mais vous pouvez le réduire pour économiser de l’espace disque.

Faites défiler jusqu’à la catégorie “Sortie d’image”, puis définissez la valeur de la variable picture_output sur “on”. Cela permettra à Motion de capturer à la fois des images et des vidéos de votre webcam.

Changement de l’emplacement de sauvegarde par défaut
Un autre ajustement que vous pouvez faire pour votre serveur Motion est de changer où il sauvegarde ses données. Cela peut être utile si vous souhaitez exporter vos vidéos et images capturées vers un répertoire distant monté ou un service de stockage cloud comme Dropbox.
Pour commencer, naviguez vers ou créez le répertoire où vous souhaitez sauvegarder vos données :
sudo mkdir /motion/dataDéfinissez la propriété de votre répertoire sur “motion:adm” :
sudo chown -R motion:adm /motion/dataAssurez-vous que tout le chemin vers votre répertoire est lisible par tous les utilisateurs :
sudo chmod -R 755 /motion/dataRetournez à votre configuration Motion, recherchez la variable target_dir, puis définissez sa valeur sur le chemin complet de votre répertoire.

Ajustement des paramètres de détection dans Motion
Motion fonctionne en regardant la différence entre le flux vidéo actuel et celui juste avant. Si le programme trouve suffisamment de différence entre les deux, il classe cela comme “mouvement” et enregistre une vidéo de l’événement.
Actuellement, Motion suppose qu’une différence de 1500 pixels est suffisante pour être classée comme “mouvement”. Bien que cela facilite la détection de mouvement pour la plupart des webcams, cela peut être trop sensible pour les caméras haute résolution.
Pour atténuer cela, allez à la catégorie “Détection de mouvement”, puis augmentez la valeur de la variable threshold. Je trouve que 5500 pixels suffisent pour empêcher Motion d’enregistrer des mouvements inutiles et petits du flux de la webcam.

Vous pouvez également ajouter la variable threshold_maximum pour définir un plafond sur la différence que Motion considère comme “mouvement”. Cela est utile si votre webcam regarde une zone animée et que vous souhaitez qu’elle fonctionne uniquement lorsqu’il y a moins d’activité.
Si vous n’êtes pas sûr des valeurs threshold et threshold_maximum pour votre webcam, vous pouvez laisser Motion les ajuster pour vous. Pour cela, ajoutez la variable threshold_tune et définissez-la sur “on”.

Enfin, vous pouvez configurer Motion pour enregistrer également les moments avant et après avoir détecté un mouvement. Pour ce faire, allez aux variables pre_capture et post_capture et définissez leurs valeurs sur le nombre de frames supplémentaires que vous souhaitez sauvegarder.

Activation de l’interface Web de Motion
Le serveur Motion est livré avec une interface Web qui vous permet de surveiller votre webcam à distance. Pour activer cela, allez à la section “Webcontrol” de la configuration, puis définissez la valeur de la variable webcontrol_localhost sur “off”.
Faites défiler jusqu’à la section “Flux en direct”, puis définissez la valeur de stream_localhost sur “off”.

Remarque : Motion n’a pas de vérifications d’authentification pour son interface Web. Ainsi, toute personne connaissant l’adresse de votre serveur Motion peut regarder votre webcam et contrôler le service.
Gestion des captures enregistrées à distance
Comme je l’ai mentionné précédemment, la meilleure façon est de sauvegarder les images dans votre dossier Dropbox afin que vous puissiez y accéder où que vous soyez. Cependant, si vous préférez que les images soient téléchargées sur votre propre serveur de fichiers (via FTP), vous pouvez utiliser la commande wput pour télécharger les images :
sudo apt install wputOuvrez la configuration de votre serveur Motion, puis insérez les lignes de code suivantes à la fin du fichier :
on_picture_save wput ftp://VOTRE-NOM-D'UTILISATEUR:VOTRE-MOT-DE-PASSE@VOTRE-ADRESSE-SERVEUR %f
on_movie_end wput ftp://VOTRE-NOM-D'UTILISATEUR:VOTRE-MOT-DE-PASSE@VOTRE-ADRESSE-SERVEUR %f
Démarrage et test du serveur Motion
Assurez-vous de sauvegarder votre fichier de configuration Motion, puis exécutez la commande suivante pour démarrer le serveur :
sudo systemctl enable --now motion.serviceConfirmez que le serveur fonctionne correctement en ouvrant un navigateur Web et en naviguant vers l’adresse IP de votre machine suivie de “:8080”.

Cela ouvrira une page Web montrant le flux vidéo actuel de votre webcam ainsi qu’un menu contenant des actions supplémentaires pour votre serveur. Par exemple, vous pouvez cliquer sur Action -> Instantané pour capturer une image fixe de votre webcam.

Testez si Motion détecte et enregistre le mouvement de votre webcam en passant un objet devant votre caméra et en vérifiant le contenu de votre répertoire target_dir.

Il y a aussi un flux en direct que vous pouvez ouvrir depuis votre lecteur multimédia ou votre navigateur Web. Pour y accéder, naviguez vers l’adresse IP de votre machine suivie de “:8081”.

Transformer votre webcam ordinaire en un système de détection de mouvement est juste l’une des choses que vous pouvez faire avec des caméras sous Linux. Découvrez certaines des meilleures applications de webcam pour Linux que vous pouvez installer et essayer dès aujourd’hui.
Crédit d’image : Bermix Studio via Unsplash. Toutes les modifications et captures d’écran par Ramces Red.