Ceci est une ancienne révision du document !
Motion
Motion est un logiciel de détection video et qui permet de diffuser un flux video via http. Il est une solution simple pour diffuser le flux de sa webcam en ligne, ou de détecter des mouvements dans le champ d'une caméra par exemple.
Pré-requis : Une webcam qui fonctionne.
Pour vérifier l'installation de votre webcam saisir dans un terminal :
gstreamer-properties
dans Video/Test, le test devrait afficher l'image de votre cam.
Installation
Après avoir activé les dépôts Universe, il vous suffira d'installer le paquet motion
Suite a l'installation par défaut, les fichiers de configuration se trouvent sous /etc/motion/
Note : sous Intrepid, les packages par défaut ne contiennent pas les codecs les plus classiques comme "mpeg4", pour cela il faut installer spécifiquement
sudo apt-get install libavcodec-unstripped-52 libavdevice-unstripped-52 libavformat-unstripped-52 libavutil-unstripped-49 libpostproc-unstripped-51 libswscale-unstripped-0 ffmpeg
Lancement automatique
Par défaut, le daemon motion n'est pas activé/démarré.
Si l'on veut l'activer, il faut mettre a '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 home dir.
sudo cp /etc/motion/motion.conf ~/
Puis, mettre les bon droits :
sudo chown $USER ~/motion.conf
Configuration de base pour une webcam
Maintenant nous allons é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')
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
Configuration pour plusieurs webcams
Lorsque plusieurs webcams sont utilisées, il faut dédier un fichier threadN.conf par webcam.
A la fin du fichier motion.conf, rajouter une ligne par webcam.
thread /chemin_jusque_fichier_thread.conf
Chaque fichier thread.conf reprend des paramètres du motion.conf qu'il va forcer pour chacune des webcams. Bien renseigner le paramètre videodevice qui doit etre different pour chaque fichier thread.conf.
Par défaut, les scripts de post-capture et de pré-capture /usr/local/motion-extras/ ne sont pas fournis lors de l'installation du paquet motion.
Exemple de fichier thread.conf
videodevice /dev/video1 input 8 text_left CAMERA COULOIR 1 target_dir /tmp/motion webcam_port 6881
Liens
- qmotion :http://slist.lilotux.net/linux/qmotion/index_fr.html qui fait entre autre l'envoi ftp.
- Kmotion avec interface web http://kmotion.eu/mediawiki/index.php/Main_Page