Les webcams sous Linux
Les webcams sont de plus en plus utilisées. Elle permette d'ajouter
une autre dimension lors de communication avec des logiciels de
messageries instantanés. Il est enfin de possible de voir la personne.
Un autre aspect non négligeable est la sécurité, les webcams permettent
de surveiller un endroit à très faible coût.
Les webcams sont supportées sous Linux grâce au driver spca5xx. La liste des caméras supportées est disponible à mxhaard.
Installation
Les caméras sont maintenant détecté automatiquement. La procédures ci-dessous est gardé à des fins informatiques et n'est donc plus nécessaire.
Débranchez votre caméra avant de continuer. Télécharger le paquet de votre distribution (rpm, deb...).
Si aucun n'est disponible, télécharger les sources des drivers.
L'installation des sources nécessite d'avoir les sources du noyau,
gcc, make, SDL-devel. Effectuer les commandes ci-dessous avec le compte
administrateur (root).
make clean
make
make install
Ensuite exécutez la commande
modprobe spca5xx
Branchez votre caméra, si vous tapez dans une console la commande
dmesg, vous devriez avoir de l'information concernant votre caméra. Si
rien n'apparait, débrancher votre caméra et redémarrer votre machine.
Ensuite rebrancher votre caméra et vérifier si vous obtenez bien les
informations décrites plutôt. Si vous n'obtenez toujours rien, demander
de l'aide sur notre forum.
Utilisation de votre webcam
Messagerie instantanée
Kopete gère de multiples protocoles de messagerie instantanée. Vous
pouvez utiliser votre caméra avec les protocoles de Yahoo et de msn.
Pour tester si votre caméra fonctionne, démarrez kopete, cliquer sur le
menu Configuration et ensuite sur Configurer.... Finalement cliqué sur
l'icône représentant une caméra. Après quelques secondes, vous devriez
voir les images capturées par la caméra. Assurez-vous d'avoir la version
la plus récente de kopete.
CamStream
CamStream est un logiciel qui permet d'enregistrer des images et de
les envoyer sur un serveur. Des vidéos peuvent être enregistrés.
Nous pouvons remarquer qu'il est possible d'employer camstream pour
surveiller un lieu. Il suffit de spécifier un serveur ftp afin qu'il
puisse recevoir les images capturées. Ce logiciel prend des captures à
intervalles réguliers, il y a pas de détection de mouvement de réalisée.
Si l'interface de temps entre deux captures est faible, l'espace pris
peut rapidement devenir important.
Motion
Motion est un logiciel parfait pour effectuer de la surveillance. Une tonne de paramètres sont disponibles.
Installation
L'installation de motion n'est pas très évidente. Motion nécessite
ffmpeg, mais seul quelques versions bien spécifiques fonctionne. Si
votre distribution offre un paquet pour motion employé le.
Téléchargez la version de ffmpeg disponible
ici spécialement pour motion.
Effectuez les commandes suivantes
./configure --enable-shared
make
make install
FFMPEG est maintenant installé. Assurez-vous d'avoir MySQL ou
PostgreSQL pour installer Motion. La librairie jpeg est aussi
nécessaire. Tapez les commandes suivantes
./configure
make
make install
Une fois que motion est installé, il faut le configurer. Rechercher
le fichier motion-dist.conf et changer son nom pour motion.conf. Copiez
le fichier qui a été renommé dans le répertoire de votre usager. Sous
Suse, ce fichier ce trouve dans le répertoire /usr/local/etc/.
Quelques propriétés doivent être modifiées.
Changer la valeur pour la norme employée dans votre région.
# The video norm to use (only for video capture and TV tuner cards)
# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
norm 1
Changez la hauteur et largeur des images capturées.
# Image width (pixels). Valid range: Camera dependent, default: 352
width 640
# Image height (pixels). Valid range: Camera dependent, default: 288
height 480
Indiquez le nombre maximal d'images que votre caméra peut capturé, la plupart son limité à 30 images par seconde.
# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 30
Ajustez les différents paramètres disponibles pour la caméra au
niveau de l'image. Il peut être utile de démarrer motion, changer les
valeurs et ainsi de suite jusqu'à ce que le résultat réponde à nos
attentes.
# Set the initial brightness of a video device.
# If auto_brightness is enabled, this value defines the average brightness level
# which Motion will try and adjust to.
# Valid range 0-255, default 0 = disabled
brightness 150
# Set the contrast of a video device.
# Valid range 0-255, default 0 = disabled
contrast 150
# Set the saturation of a video device.
# Valid range 0-255, default 0 = disabled
saturation 0
# Set the hue of a video device (NTSC feature).
# Valid range 0-255, default 0 = disabled
hue 0
La quantité de détails différents dans une image afin de détecter
qu'il y a eu réellement un mouvement. Cette valeur peut s'avérer
importante si votre webcam est située près d'une fenêtre ouverte. Une
valeur plus élevée que 1 évitera de prendre des images du rideau qui
bouge.
# Picture frames must contain motion at least the specified number of frames
# in a row before they are detected as true motion. At the default of 1, all
# motion is detected. Valid range: 1 to thousands, recommended 1-10
minimum_motion_frames 1
La dernière possibilité qui sera vue est la gestion des évènements.
Motion permet d'effectuer des actions lorsqu'un évènement démarre,
termine... Il est ainsi possible d'exécuter un script. Les possibilités
deviennent alors illimitées. Il y a un évènement qui se produit
lorsqu'un enregistrement vidéo débute et se termine. Il y en a un autre
lorsque capture est effectué.
# Do not sound beeps when detecting motion (default: on)
# Note: Motion never beeps when running in daemon mode.
quiet on
# Command to be executed when an event starts. (default: none)
# An event starts at first motion detected after a period of no motion defined by gap
; on_event_start value
# Command to be executed when an event ends after a period of no motion
# (default: none). The period of no motion is defined by option gap.
; on_event_end value
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# To give the filename as an argument to a command append it with %f
#; on_picture_save value
on_picture_save /home/paul/bin/send_email.sh %f
# Command to be executed when a motion frame is detected (default: none)
; on_motion_detected value
# Command to be executed when a movie file (.mpg|.avi) is created. (default: none)
# To give the filename as an argument to a command append it with %f
; on_movie_start value
# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# To give the filename as an argument to a command append it with %f
; on_movie_end value
Il est possible de remarquer avec le code ci-dessus que le script
send_email.sh est excuté lorsqu'une image est sauvegardé, %f est envoyé
en paramètre à ce script. À toutes les fois qu'une image est
sauvegardée, elle est envoyée par courriel.
Motion sauvegarde en local les images. Si un voleur réussit à voler
votre ordinateur, vos images seront perdues. Il est donc important que
vous sauvegardez vos images et vidéo à un autre endroit. Si votre voleur
est futé, il analysera votre ordinateur et pourrait trouver le lieu
distant de sauvegarde que vous avez employé. Une solution peut consister
à crypter votre disque dur. Pensez sécurité!
En parcourant le fichier de configuration de Motion, regarder bien
les options, il y en a beaucoup. Il est possible par exemple de tout
entreposé dans une base de données.
Démarrage de motion
Motion intègre un serveur Web, le port 8080 est utilisé. Il est
possible de configuré motion, d'effectuer des captures d'écran, démarré
l'enregistrement vidéo.... avec l'interface Web. Motion ne possède pas
d'interface graphique mise à part cet interface là.
motion -c /home/paul/motion.conf
Nous avons vu comment utiliser sa caméra web sous Linux ainsi que
divers logiciels qui peuvent mettre à contribution votre caméra.