Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
motion [Le 06/08/2009, 17:15] pywy |
motion [Le 24/03/2024, 19:42] (Version actuelle) 201.171.175.88 [Erreur de segmentation, support ioctl] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>gutsy intrepid matériel webcam flux détection}} | + | {{tag>matériel webcam domotique sécurité vidéosurveillance}} |
- | ====== Motion ====== | + | ---- |
- | **Motion** est un logiciel de détection video et qui permet de diffuser un flux video via http. Très puissant et relativement simple a configurer, il permet de diffuser le flux de sa webcam en ligne, par exemple. | ||
- | Pré-requis : Une [[:Webcam|webcam]] qui fonctionne. | + | ===== Pré-requis ===== |
- | Pour vérifier l'installation de votre webcam saisir dans un terminal : <code> gstreamer-properties</code> dans Video/Test, le test devrait afficher l'image de votre cam. | + | * Disposer des [[:sudo|droits d'administration]]. |
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | * Avoir activé les [[:depots#universe_et_multiverse|dépôts Universe]]. | ||
+ | * Avoir une [[:Webcam|webcam]] qui fonctionne. | ||
+ | |||
+ | Pour vérifier l'installation de votre webcam saisir dans un terminal : <code>gstreamer-properties</code> dans Video/Test, le test devrait afficher l'image de votre webcam. | ||
===== Installation ===== | ===== Installation ===== | ||
- | Après avoir activé les [[:depots#universe_et_multiverse|dépôts Universe]], il vous suffira d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://motion|motion]]** | + | Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>motion|motion]]** |
+ | |||
+ | |||
+ | |||
+ | ==== Lancement automatique ==== | ||
+ | |||
+ | |||
+ | Par défaut, le daemon **motion** n'est pas activé/démarré. | ||
+ | |||
+ | Si l'on veut l'activer, il faut mettre à 'Yes' la variable //start_motion_daemon// dans le fichier **/etc/default/motion**. | ||
+ | |||
+ | |||
+ | En mode utilisateur (hors daemon), le mieux est de copier le fichier **/etc/motion/motion.conf** dans son propre dossier personnel. Dans un [[terminal]] : | ||
+ | cp /etc/motion/motion.conf ~/ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Configuration de base pour une webcam ==== | ||
+ | |||
+ | <note warning>ATTENTION: la syntaxe utilisée dans **cet exemple n'est plus valide**. La dernière version de //motion// apporte un nombre très important de changements. | ||
+ | |||
+ | Reportez-vous au fichier /usr/share/motion/exjamples/motion-dist.conf ou au site du développeur [[http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions]]r</note> | ||
+ | |||
+ | Maintenant nous allons [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] ''motion.conf''\\ | ||
+ | |||
+ | Les variables sont nombreuses et relativement bien expliquées en lignes de commentaires. | ||
+ | |||
+ | Les principaux paramètres a changer sont : **target_dir**, **width & height** (résolution). Les remplacer par les valeurs de votre choix. | ||
+ | |||
+ | Voici un exemple de motion.conf : | ||
+ | |||
+ | daemon off | ||
+ | process_id_file /var/run/motion/motion.pid | ||
+ | setup_mode off | ||
+ | videodevice /dev/video0 | ||
+ | v4l2_palette 8 | ||
+ | input 8 | ||
+ | norm 0 | ||
+ | frequency 0 | ||
+ | rotate 0 | ||
+ | width 640 | ||
+ | height 480 | ||
+ | framerate 2 | ||
+ | minimum_frame_time 0 | ||
+ | netcam_tolerant_check off | ||
+ | auto_brightness off | ||
+ | brightness 0 | ||
+ | contrast 0 | ||
+ | saturation 0 | ||
+ | hue 0 | ||
+ | roundrobin_frames 1 | ||
+ | roundrobin_skip 1 | ||
+ | switchfilter off | ||
+ | threshold 1500 | ||
+ | threshold_tune off | ||
+ | noise_level 32 | ||
+ | noise_tune on | ||
+ | despeckle EedDl | ||
+ | smart_mask_speed 0 | ||
+ | lightswitch 0 | ||
+ | minimum_motion_frames 1 | ||
+ | pre_capture 0 | ||
+ | post_capture 0 | ||
+ | gap 60 | ||
+ | max_mpeg_time 0 | ||
+ | output_all off | ||
+ | output_normal on | ||
+ | output_motion off | ||
+ | quality 75 | ||
+ | ppm off | ||
+ | ffmpeg_cap_new on | ||
+ | ffmpeg_cap_motion off | ||
+ | ffmpeg_timelapse 0 | ||
+ | ffmpeg_timelapse_mode daily | ||
+ | ffmpeg_bps 500000 | ||
+ | ffmpeg_variable_bitrate 0 | ||
+ | ffmpeg_video_codec swf | ||
+ | ffmpeg_deinterlace off | ||
+ | snapshot_interval 0 | ||
+ | locate off | ||
+ | text_right %Y-%m-%d\n%T-%q | ||
+ | text_changes off | ||
+ | text_event %Y%m%d%H%M%S | ||
+ | text_double off | ||
+ | target_dir /tmp/motion | ||
+ | snapshot_filename %v-%Y%m%d%H%M%S-snapshot | ||
+ | jpeg_filename %v-%Y%m%d%H%M%S-%q | ||
+ | movie_filename %v-%Y%m%d%H%M%S | ||
+ | timelapse_filename %Y%m%d-timelapse | ||
+ | webcam_port 8081 | ||
+ | webcam_quality 50 | ||
+ | webcam_motion off | ||
+ | webcam_maxrate 1 | ||
+ | webcam_localhost off | ||
+ | webcam_limit 0 | ||
+ | control_port 8080 | ||
+ | control_localhost on | ||
+ | control_html_output on | ||
+ | track_type 0 | ||
+ | track_auto off | ||
+ | track_motorx 0 | ||
+ | track_motory 0 | ||
+ | track_maxx 0 | ||
+ | track_maxy 0 | ||
+ | track_iomojo_id 0 | ||
+ | track_step_angle_x 10 | ||
+ | track_step_angle_y 10 | ||
+ | track_move_wait 10 | ||
+ | track_speed 255 | ||
+ | track_stepsize 40 | ||
+ | quiet on | ||
+ | sql_log_image on | ||
+ | sql_log_snapshot on | ||
+ | sql_log_mpeg off | ||
+ | sql_log_timelapse off | ||
+ | sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', %q', '%n', '%Y-%m-%d %T', '%C') | ||
+ | |||
+ | <note tip> Pour connaitre les résolutions supportées, ou tout simplement pour tester sa webcam, **[[apt://cheese|cheese]]** est un bon candidat.</note> | ||
+ | |||
+ | |||
+ | Ici, les mouvements détectés par la webcam seront sauvegardés au format swf, résolution 640x480 dans le répertoire /tmp/motion. | ||
+ | |||
+ | Le flux video de la webcam sera accessible par tous (**webcam_localhost off**) sur le port 8081. | ||
+ | |||
+ | |||
+ | Pour démarrer le processus : | ||
+ | |||
+ | motion -c motion.conf | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Mettre en place une vidéosurveillance à distance ===== | ||
+ | ==== Grâce à Motion et Dropbox ==== | ||
+ | « Vidéosurveiller son domicile », c'est bien, mais encore faut-il pouvoir consulter les images simplement et rapidement, de l'extérieur de votre réseau ! Je vous propose donc un petit tutoriel, très simple, qui vous permettra de consulter les images de votre système de surveillance depuis votre smartphone ou tout ordinateur connecté à Internet. | ||
+ | |||
+ | La démarche ci-dessous a été testée sur Ubuntu 12.04 et sur Debian Wheezy 7.1. | ||
+ | |||
+ | === Ce qu'il vous faut === | ||
+ | * Votre ordinateur (avec Ubuntu ou Debian), | ||
+ | * Une webcam fonctionnant avec votre ordinateur, | ||
+ | * Votre smartphone, | ||
+ | * Un compte Dropbox valide. | ||
+ | |||
+ | === Ce qu'il faut faire === | ||
+ | * Installez Motion sur votre ordinateur. | ||
+ | * Configurez Motion (avec les [[:sudo | droits d'administration]],[[:tutoriel:comment_modifier_un_fichier|modifiez]] **/etc/motion/motion.conf**, comme indiquez plus haut) : personnellement, en plus des réglages basiques, j'ajoute de réaliser 1 capture d'image toutes les demi-heures (cela peut s'avérer très pratique si la détection de mouvement ne détecte pas quelque chose) : avec les | ||
+ | * Installer Dropbox sur votre ordinateur comme indiqué ici : [[https://www.dropbox.com/install2]] | ||
+ | * Une fois l'installation de Dropbox réalisée, un dossier nommé « Dropbox » est créé dans votre dossier personnel : il vous faut maintenant indiquer à Motion (en modifiant la cible de destination des images enregistrées de Motion dans le fichier motion.conf à la ligne : « target_dir ») d'enregistrer les images dans ce nouveau dossier « Dropbox ». | ||
+ | * Enfin, installez Dropbox sur votre smartphone et synchronisez-le. | ||
+ | |||
+ | === La mise en route de la vidéosurveillance === | ||
+ | * Démarrez Dropbox sur votre ordinateur : | ||
+ | |||
+ | <code> $ ~/.dropbox-dist/dropboxd </code> | ||
+ | |||
+ | * Démarrer Motion | ||
+ | |||
+ | <code>sudo motion -c /etc/motion/motion.conf </code> | ||
+ | |||
+ | <note tip> Vérifiez à cet instant que vos photographies sont bien enregistrées automatiquement dans le dossier « Dropbox ». si ce n'est pas le cas, vérifier votre fichier de configuration motion.conf. </note> | ||
+ | Désormais, vos images enregistrées dans le dossier Dropbox sont automatiquement sauvegardées en lignes vers votre stockage Dropbox ! Il ne vous reste plus qu'à les consulter quand vous le souhaitez avec votre smartphone ! ;-) | ||
- | Suite a l'installation par défaut, les fichiers de configuration se trouvent sous ///etc/motion/// | + | ==== Autres méthodes ==== |
+ | Description à venir. | ||
- | ===== Configuration avec une seule caméra ===== | ||
+ | ===== Problèmes connus ===== | ||
+ | ==== Erreur de segmentation, support ioctl ==== | ||
+ | Si vous avez une erreur de segmentation au lancement, essayez avec : | ||
- | Par défaut, le dameon motion n'est pas activé/démarré. | + | LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so motion -c motion.conf |
+ | |||
+ | Cette commande peux résoudre suur certaines machines , l'erreur ci dessous : | ||
+ | //VIDIOC_G_JPEGCOMP not supported but it should be (does your webcam driver support this ioctl?)// | ||
- | Si l'on veut l'activer, il faut mettre a 'Yes' la variable //start_motion_daemon// dans le fichier ///etc/default/motion// | + | [[http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2009x01x20x183230]] |
+ | ====Unable to find a palette format==== | ||
- | En mode utilisateur, le mieux est de copier le fichier ///etc/motion/motion.conf// dans son propre home dir. | + | Si votre webcam fonctionne avec d'autres logiciels (cheese etc...) mais pas avec motion, et que l'on a une erreur du type "unable to find a palette format", la commande suivante peut résoudre ce problème : |
- | sudo cp /etc/motion/motion.conf ~/ | + | LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so motion: |
- | Puis, mettre les bon droits : | + | |
- | sudo chown $USER ~/motion.conf | + | Attention sous Ubuntu 14.04 LTS la commande est la suivante |
+ | LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so motion | ||
+ | |||
+ | Sous Ubuntu 16.04 LTS pour une architecture 64bits la commande est la suivante | ||
+ | LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so motion | ||
- | Suite en cours de rédaction... | ||
+ | ===== Voir aussi ===== | ||
+ | * [[https://motion-project.github.io/index.html|Site officiel de Motion]] | ||
- | ===== Configuration avec plusieurs caméras ===== | + | ---- |
- | En cours de rédaction, pour bientot... |