Geek

Faire de la vidéosurveillance avec un serveur NAS Synology, un raspberry PI et une vieille webcam

Il y a quelques semaines, j’ai récupéré une vieille webcam, une Logitech QuickCam E 3500 pour être précis. Dans un tout autre objectif, j’avais également acquis un serveur NAS Synology DS214+ il y a quelques mois. Or Synology propose également à ses clients d’utiliser leur serveur comme station de vidéosurveillance grâce à Surveillance Station. Je me suis donc mis en tête d’utiliser ma vielle webcam USB pour faire de la vidéosurveillance avec mon serveur NAS.

Synology, Raspberry PI et  Webcam

C’est là que les ennuis commencent : Surveillance Station est conçu pour fonctionner avec des caméras de surveillance connectés au réseau et non avec un webcam branchée en USB. En faisant quelques recherches sur le net, je suis rapidement tombé sur d’obscurs logiciels permettant de faire fonctionner certaines webcam sur certains serveur Synology. Inutile de préciser que cette solution ne m’enchantait pas vraiment. J’ai également trouvé un article qui propose de se servir d’un Raspberry PI comme intermédiaire. Or il s’avère que j’avais dans mes cartons un Raspberry PI Modèle B 512 Mo, j’ai donc tenté l’expérience.

Certains diront sûrement, faire du stream vidéo avec la puissance d’un Raspberry PI, ne sont-ils pas fous ? Que neni mes amis, cela fonctionne parfaitement et nous allons voir comment le mettre en place.

Installation et configuration du Raspberry PI

Etape obligatoire : Installation du système d’exploitation Raspbian
La première étape est télécharger l’image du système d’exploitaiton Raspbian (dérivé de Debian pour le Raspberry PI) pour le placer sur une carte SD à destination du Raspberry PI (tutoriel officiel en anglais ou tutoriel en français).
Vient ensuite le moment du premier lancement, il vous suffit pour cela de brancher un écran, un clavier, une webcam et une prise réseau sur votre Raspberry PI. Il vous faudra probablement brancher ces périphériques avant d’alimenter le Raspberry PI car le plug and play ne fonctionne pas toujours. Si comme moi, vous disposez d’un Raspberry PI avec seulement deux ports USB, il sera plus pratique d’utiliser Raspbian en ligne de commande plutôt que d’utiliser un concentrateur USB ou que d’échanger la souris et la webcam. D’autant plus que l’absence d’interface graphique permet d’obtenir de bien meilleures performances et que les commandes que nous allons utiliser exclusivement la ligne de commande par la suite.

Etape obligatoire : Mettre à jour le système
Pour mettre à jour le système d’exploitation il faut taper successivement les deux commandes suivantes :

sudo apt-get update
sudo apt-get upgrade

Etape optionnelle : Changer la configuration de votre Raspberry PI
Pour rappel vous pouvez à tout moment changer la configuration de votre Raspberry PI à tout moment grâce à la commande ci-dessous, même s’il vous faudra probablement redémarrer pour que les changements soient effectifs. Vous en aurez probablement besoin si comme moi vous devez passer le clavier en disposition française et de régler le fuseau horaire.

sudo raspi-config

Et pour redémarrer le Raspberry PI :

sudo reboot

Etape optionnelle : Utiliser le SSH
Si vous souhaitez libérer votre écran et votre clavier, vous pouvez activer le serveur SSH qui est normalement déjà installé sur Raspbian. Cette action permet de rendre le Raspberry PI accessible à distance sur votre réseau local. Vous pouvez très bien utiliser le serveur SSH avec la configuration par défaut s’il n’est accessible que sur votre réseau local, mais il est généralement recommandé de changer le numéro de port (choisissez un port qui ne vous gênera pas) et de choisir les utilisateurs qui ont le droit de se connecter à la machine (blocage du login root, restriction des IP, …), …

Si vous souhaitez modifier la configuration par défaut, il vous faudra taper la commande suivante

sudo nano /etc/ssh/sshd_config

Puis vous devrez redémarrer le serveur SSH à l’aide de la commande

sudo service ssh restart

Sinon le simple démarrage du service suffit

sudo service ssh start

Si vous disposez d’un ordinateur sous Windows, il vous faudra ensuite télécharger PuTTY si vous souhaitez accéder au Raspberry PI à distance (documentation sur ubuntu-fr ou tutoriel sur OpenClassrooms).

Installation et configuration de motion

Etape obligatoire : Installer et configurer motion
Une fois le Raspberry PI correctement configuré, on peut utiliser le logiciel de détection vidéo motion qui permet également de diffuser le flux vidéo par le protocole HTTP (streaming).

Pour cela il suffit de saisir la commande suivante :

sudo apt-get install motion

Il faut ensuite configurer motion par l’intermédiaire du fichier prévu à cet effet :

sudo nano /etc/motion/motion.conf

Dans le fichier il faudra configurer la taille de l’image renvoyée par votre caméra (pour ma part la résolution native de la Logitech QuickConnect E 3500 est de 640*480) :

height 480
width 640

Il faudra ensuite autoriser le logiciel à fonctionner en arrière plan (daemon) :

daemon on

Il faut ensuite paramétrer la capture vidéo, certains paramètres affectent le streaming, d’autres l’enregistrement sur le Raspberry PI. Etant donné le faible espace de stockage sur le Raspberry PI il est absurde de vouloir enregistrer les images, d’autant que le Surveillance Station se chargera de l’enregistrement sur le serveur NAS. Nous pouvons donc désactiver l’enregistrement :

output_normal off

Accès au streaming en dehors du localhsot :

webcam_localhost off

Port sur lequel on souhaite rendre le serveur accessible (vous pouvez le changer pour utiliser un port qui ne vous gênera pas)

webcam_port 8081

La dernière étape de modification dans le fichier de configuration est de définir la qualité et le nombre d’images par seconde. Attention, plus vous choisirez des chiffres élevés, plus la consommation de ressources sera importante :

webcam_quality 75
webcam_maxrate 12

Une fois le fichier enregistré, vous pouvez lancer motion avec la commande :

sudo motion

Etape optionnelle : Résolution du message d’erreur « pid file »
Un message vous indiquant que motion démarre devrait alors s’afficher. Si jamais vous obtenez le message d’erreur « Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid », il vous faudra créer le répertoire en question à l’aide des commandes :

sudo mkdir /var/run/motion
sudo chmod a+rwxt /var/run/motion

Etape optionnelle : Lancement automatique de motion au démarrage du Raspberry PI
Modifiez le fichier à l’aide de la commande suivante pour automatiser le lancement de motion au démarrage du Raspberry PI :

sudo nano /etc/default/motion

Configurez le paramètre comme ci-dessous :

start_motion_daemon=yes

Configuration du routeur/de la box et vérification du flux

Etape optionnelle : Configurer le Raspberry PI avec une IP locale statique
Il peut être intéressant d’attribuer une IP locale statique au Raspberry PI afin de ne pas avoir à modifier l’adresse qui permet d’accéder au flux vidéo qu’il diffuse. Pour se faire, vous devez configurer le serveur DHCP présent dans votre routeur ou votre box (référez-vous à la documentation de votre appareil).

Etape obligatoire : Vérifier le flux vidéo
Vous pourrez ensuite accéder au flux vidéo au ouvrant un navigateur et en saisissant l’IP locale de votre Raspberry PI associé au numéro de port que vous avez choisi au préalable (http://192.168.uvw.xyz:8081) comme le montre la capture ci-dessous. Personnellement, j’ai rencontré quelques difficultés avec Internet Explorer et Google Chrome, je vous conseille donc le navigateur web Mozilla Firefox qui fonctionne très bien pour toutes les actions présentées dans cet article.

Visualisation du flux de la webcam

Etape optionnelle : Inclure le flux vidéo dans une page HTML
Il est possible d’inclure ce flux dans une page HTML à l’aide du code suivant :

<img src="http://192.168.uvw.xyz:8081" />

Configuration du serveur NAS Synology DS214+

Etape optionnelle : Configuration de QuickConnect sur le serveur NAS Synology
QuickConnect est un service gratuit pour les détenteurs de serveur NAS Synology qui permet d’accéder à leur appareil partout dans le monde très facilement : pas de NAT, de redirection ou d’ouverture de ports, de certificat SSL ou de VPN à configurer. Ce service s’active facilement dans le Panneau de configuration du serveur NAS, rubrique QuickConnect. Il suffit ensuite de créer un compte sur MyDS et d’y associer l’appareil à l’adresse choisie.

Synology QuickConnect

Etape obligatoire : Installation de Surveillance Station
Il faut ensuite installer Surveillance Station à partir du Centre de paquets (rubrique Sécurité) du serveur NAS comme le montre la capture d’écran ci-dessous. Une fois cette application installée vous pourrez l’ouvrir (celle-ci s’ouvre dans un nouvel onglet).

Synology Centre de paquets

Etape obligatoire : Configuration de Surveillance Station
Pour finir il suffit d’ajouter la caméra dans Surveillance Station en spécifiant l’IP locale de votre Raspberry PI associé au numéro de port que vous avez choisi au préalable. Le nom de la caméra est totalement arbitraire et vous permet de l’identifier si vous en avez plusieurs. Dans la liste de choix de la marque, sélectionnez « Défini par l’utilisateur », pour le chemin source saisissez « / » puis testez la connexion. Vous verrez alors apparaître le flux de la webcam dans l’encart de droit comme le montre la capture d’écran ci-dessous. A partir de ce moment vous n’avez plus rien à faire, Surveillance Station enregistre automatiquement le flux vidéo et assure la rotation des fichiers de vidéosurveillance pour vous.

Synology Surveillance Station

Etape optionnelle: Configuration avancée de Surveillance Station
Si vous souhaitez modifier la configuration de Surveillance Station (rotation des fichiers, plages horaires de surveillance, …) vous pouvez le faire à tout moment en allant dans l’application Caméra IP, puis en sélectionnant la caméra concernée et en cliquant sur Modifier comme le montre la capture d’écran ci-dessous.

Synology Gestion de la caméra dans Surveillance Station

Nous venons de voir comment transformer une vieille webcam en objet connecté qui permet de faire de la vidéosurveillance avec un serveur NAS. Il existe bien entendu de nombreuses techniques et configurations différentes pour aboutir au même résultat, n’hésitez pas à poster vos conseils ou questions en commentaires.

Facebooktwitterlinkedinmail