- Créez rapidement une caméra de sécurité Motion Capture avec Raspberry Pi:
- Personnalisation des paramètres multimédia dans Motion:
- Comment obtenir le flux vidéo sur Internet:
La sécurité est aujourd'hui une préoccupation majeure et de nombreuses technologies sont présentes aujourd'hui pour garder votre lieu sécurisé et surveillé. Les caméras CCTV sont très utiles pour garder un œil sur votre maison ou votre bureau. Bien que les prix de ces types de caméras aient été considérablement réduits depuis leurs débuts, les caméras IP, qui ont la capacité d'envoyer et de recevoir la date sur le réseau, sont très chères. Et pour True Surveillance, une caméra doit avoir la capacité d'envoyer son flux sur Internet afin de pouvoir la regarder de n'importe où dans le monde.
Aujourd'hui, nous fabriquons une caméra de capture de mouvement de surveillance très bon marché utilisant Raspberry Pi et une webcam. Il s'agit d'un excellent outil de sécurité très bon marché, doté de nombreuses options configurables et pouvant être construit en quelques minutes. Ici, nous utilisons uniquement Raspberry Pi et une caméra Web USB pour construire cette caméra Motion Capture. Nous avons Raspbian Jessie OS installé sur notre carte Raspberry Pi. Vous devriez consulter cet article pour installer le système d'exploitation Raspbian et démarrer avec Raspberry Pi.
Ici, nous passerons d'abord par un guide de démarrage rapide, afin que vous puissiez avoir votre caméra de surveillance prête en quelques minutes avec toutes les configurations par défaut, puis nous plongerons dans les autres détails et options de configuration pour la personnaliser en fonction de vos besoins.
Mais avant cela, savons quelque chose sur le Motion (Logiciel de Surveillance), qui est au cœur de ce projet. Motion est un logiciel CCTV de détection de mouvement open source gratuit, développé pour Linux. Il détecte le mouvement et commence à enregistrer la vidéo de celui-ci. Avec 'Motion' installé sur votre Raspberry Pi, vous pouvez transformer par magie votre Raspberry Pi en une caméra de sécurité et bénéficier des fonctionnalités suivantes:
1. Vous pouvez regarder le flux vidéo en direct sur un navigateur Web en saisissant l'adresse IP de Pi avec le port.
2. Il enregistrera et sauvegardera la vidéo chaque fois qu'il détectera un mouvement ou une perturbation dans la zone de visualisation. Il continuera à enregistrer la vidéo jusqu'à ce qu'il y ait du mouvement, puis il s'arrête et enregistre le fichier, qui peut être regardé plus tard.
3. Il peut créer une belle vidéo Timelapse.
4. Il peut prendre des instantanés à intervalles réguliers ou en cas de mouvement. Les instantanés sont également enregistrés sur le disque pour une utilisation ultérieure.
En dehors de cela, il a plusieurs options de configuration dont nous discuterons sous peu et nous pouvons également définir des `` déclencheurs '' définis par l'utilisateur sur certains événements. Motion ne prend actuellement en charge que la caméra USB prête à l'emploi.Si vous souhaitez utiliser la caméra Pi, vous devez utiliser une version spéciale de Motion.
Créez rapidement une caméra de sécurité Motion Capture avec Raspberry Pi:
Ici, vous devez exécuter seulement quelques commandes pour commencer à obtenir votre premier flux vidéo sur le réseau. Avant cela, vérifiez correctement que votre Raspberry Pi est connecté à Internet, soit en utilisant LAN ou Wi-Fi, puis suivez les étapes ci-dessous:
Étape 1: Exécutez d'abord la commande ci-dessous pour mettre à jour le système d' exploitation Raspbian sur Raspberry Pi:
sudo apt-get mise à jour
Étape 2: Ensuite, installez la bibliothèque 'Motion' en utilisant la commande ci-dessous:
sudo apt-get install motion
Étape 3: définissez maintenant Motion Daemon sur yes en éditant le fichier: / etc / default / motion afin qu'il soit toujours en cours d'exécution. Modifiez ce fichier en utilisant l'éditeur 'nano' avec 'sudo' comme indiqué ci-dessous:
sudo nano / etc / default / motion
Enregistrez ensuite le fichier en appuyant sur «CTRL + X», puis sur «Y» et sur Entrée.
Étape 4: Nous devons maintenant définir l'autorisation pour le répertoire cible (/ var / lib / motion /), dans lequel Motion enregistre tous les enregistrements vidéo et les fichiers image. Nous devons définir 'Motion' comme propriétaire de ce répertoire en émettant la commande ci-dessous:
mouvement sudo chown: motion / var / lib / motion /
Cette autorisation est nécessaire, sinon vous obtiendrez l'erreur ci-dessous, lorsque vous vérifiez l'état du service de mouvement à l'aide de cette commande: sudo service motion status
Étape 5: Nous avons presque terminé, il suffit de modifier une option de configuration dans le fichier de configuration de Motion (/etc/motion/motion.conf ) qui est désactivée sur stream_localhost. Nous devons désactiver ce streaming de l'hôte local, sinon nous ne pourrons pas accéder au flux vidéo sur notre réseau et il ne sera accessible qu'à partir du Raspberry Pi lui-même. Pour ce faire, modifiez le fichier de configuration de mouvement avec l'éditeur 'nano' et désactivez-le, comme indiqué ci-dessous:
sudo nano /etc/motion/motion.conf
Nous avons maintenant terminé et prêts à recevoir notre flux en direct de la caméra Web USB connectée à Pi. Démarrez simplement le service Motion en utilisant la commande ci-dessous et ouvrez l'adresse IP de votre Raspberry Pi, avec le port 8081, dans votre navigateur (comme 192.168.1.103:8081):
sudo /etc/init.d/motion start
Et vous verrez le flux en direct de votre webcam comme ci-dessous. Ici, nous avons utilisé une caméra Web USB à faible coût (caméra Web Quantum QHM500LM), qui fonctionnait parfaitement avec notre Raspberry Pi, mais vous pouvez également utiliser une caméra de bonne qualité pour une meilleure résolution.
Comme il apparaîtra dans le navigateur, vous pouvez utiliser n'importe quel appareil, pour regarder le flux, qui prend en charge les navigateurs Web tels que Mobile, tablette, etc. Voici un instantané du téléphone mobile:
Vous pouvez toujours démarrer, arrêter, redémarrer et obtenir l'état du service Motion à l'aide des quatre commandes ci-dessous:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion restart sudo service motion status
ou vous pouvez redémarrer le Raspberry Pi comme étape de dépannage si nécessaire:
redémarrage sudo
Remarque: Si vous êtes un modèle Raspberry Pi inférieur à la version 3, vous aurez peut-être besoin d'un dongle Wi-Fi pour connecter sans fil le Raspberry Pi au routeur. Raspberry Pi 3 intègre le Wi-Fi. Ici, nous avons utilisé le Raspberry Pi 2 modèle B avec un dongle Wi-Fi.
Personnalisation des paramètres multimédia dans Motion:
Nous avons donc maintenant notre caméra de surveillance en marche et en état de marche. Nous pouvons maintenant examiner certaines options de configuration très utiles, à l'aide desquelles nous pouvons l'optimiser en fonction de nos besoins et obtenir des résultats très impressionnants. Dans le fichier de configuration de mouvement, tous les paramètres sont très bien expliqués avec leur valeur par défaut et recommencée, il suffit de le vérifier en utilisant la commande ci-dessous:
sudo nano /etc/motion/motion.conf
En plus de recevoir le flux en direct, Motion enregistre et enregistre les fichiers vidéo chaque fois qu'il détecte un mouvement. Ainsi, vous pouvez régler le framerate, la qualité, la largeur / hauteur des vidéos en streaming. Vous pouvez définir la fréquence d'images élevée pour les vidéos en temps réel, mais votre réseau doit être suffisamment rapide pour celui-ci. Voici les valeurs que nous avons utilisées, vous pouvez les modifier en conséquence:
# Largeur de l'image (pixels). Plage valide: dépend de la caméra, par défaut: largeur 352 640 # Hauteur de l'image (pixels). Plage valide: dépend de la caméra, par défaut: 288 hauteur 480 # Nombre maximum d'images à capturer par seconde. # Plage valide: 2-100. Par défaut: 100 (presque aucune limite). framerate 50 stream_quality 90
Il sera bon de sauvegarder quelques images avant et après avoir détecté le mouvement et de commencer à enregistrer la vidéo. Utilisez les paramètres ci-dessous pour cela:
# Spécifie le nombre d'images pré-capturées (tamponnées) avant la détection du mouvement # qui seront émises lors de la détection de mouvement. # Plage recommandée: 0 à 5 (par défaut: 0) pre_capture 0 # Nombre d'images à capturer après que le mouvement n'est plus détecté (par défaut: 0) post_capture 0
Motion par défaut prend trop de photos lorsqu'il détecte Motion et vous vous retrouverez avec autant de fichiers 'jpg' pour un petit mouvement. Il sera donc bon de désactiver ce paramètre ( output_pictures off ) ou de le définir sur 'best':
output_pictures best
Vous pouvez également prendre des instantanés à intervalles réguliers, définis par vous, en utilisant l'option ci-dessous:
# Créer un instantané automatique toutes les N secondes (par défaut: 0 = désactivé) snapshot_interval 0
La fonctionnalité la plus attrayante pour moi, c'est la vidéo timelapse, c'est un très bon arrangement pour de belles vidéos timelapse à très faible coût. Ici, vous pouvez définir l'intervalle des instantanés pour la vidéo Timelapse:
# Valeur par défaut 0 = off - sinon enregistrer l'image toutes les N secondes ffmpeg_timelapse 2
Vous pouvez modifier le répertoire cible pour enregistrer tous les fichiers et images enregistrés en utilisant 'target_dir' et n'oubliez pas de définir 'Motion' comme propriétaire de ce répertoire, comme expliqué précédemment.
# Répertoire de base cible pour les images et les films # Recommandé d'utiliser le chemin absolu. (Par défaut: répertoire de travail actuel) target_dir / var / lib / motion
Vous pouvez modifier le port de diffusion Web (la valeur par défaut est 8081):
# Le serveur mini-http écoute ce port pour les requêtes (par défaut: 0 = désactivé) stream_port 8081
Si vous ne voulez pas d'un long fichier vidéo, vous pouvez demander à Motion de créer plusieurs clips d'une durée particulière au lieu d'un seul gros fichier. Vous pouvez mentionner la durée des clips en secondes (0 pour l'infini):
# Durée maximale en secondes d'un film # Lorsque la valeur est dépassée, un nouveau fichier vidéo est créé. (Par défaut: 0 = infini) max_movie_time 30
Vous pouvez également décider de la manière de définir un mouvement et définir le nombre de pixels ou d'images à modifier pour détecter un mouvement vrai:
# Seuil pour le nombre de pixels modifiés dans une image qui # déclenche la détection de mouvement (par défaut: 1500) Seuil 1500 # Les cadres d'image doivent contenir au moins le nombre spécifié d'images # dans une ligne avant d'être détectés comme un mouvement réel. À la valeur par défaut de 1, tout mouvement # est détecté. Plage valide: 1 à milliers, recommandé 1-5 minimum_motion_frames 5
Par défaut, Motions enregistre les journaux dans 'syslog', mais vous pouvez définir un fichier journal dédié pour Motion:
# Utilisez un fichier pour enregistrer les messages des journaux, s'il n'est pas défini, stderr et syslog sont utilisés. (par défaut: non défini) fichier journal /tmp/motion.log
N'oubliez pas d' enregistrer et de redémarrer le service Motion après avoir modifié un paramètre. Pour enregistrer le motion.conf, appuyez sur CTRL + X puis Y puis Entrée.
Voici donc quelques paramètres courants qui peuvent être utilisés pour obtenir de bons résultats. Mais si vous êtes curieux, creusez davantage le fichier de configuration et commencez à jouer avec les paramètres. Il existe de nombreuses options pour définir la luminosité, le contraste, le débit binaire, les déclencheurs, l'authentification par mot de passe et bien d'autres.
Comment obtenir le flux vidéo sur Internet:
Ici, nous avons surveillé le flux de la webcam sur le réseau local en utilisant l'adresse IP locale de Raspberry Pi. Mais si vous souhaitez le surveiller de n'importe où sur Internet, vous devez définir la redirection de port dans votre routeur / modem. Fondamentalement, vous devez transférer le port 80 (utilisé pour HTTP ou Internet) vers votre adresse IP locale ou privée de vous Raspberry Pi (comme (192.168 * dans notre cas). Après le transfert de port, toutes les connexions entrantes vers le port 80 seront transmises à cette adresse locale et vous pouvez regarder le flux en direct en entrant votre adresse IP publique sur Internet avec le streaming port que nous avons défini précédemment (8081). Chaque routeur a une interface utilisateur différente pour configurer la redirection de port, vous pouvez donc vous connecter à votre routeur (192.168.1.1) et trouver l'option correspondante. Mais rappelez-vous que, pour accéder au Raspberry Pi sur Internet, vous devez avoir une adresse IP publique statique et elle ne doit pas être modifiée à chaque redémarrage du modem.L'adresse IP statique est fournie par votre FAI.
C'est ainsi que nous pouvons facilement configurer une caméra de surveillance à très faible coût en utilisant Raspberry Pi et une caméra Web simple.