#1 Le 26/07/2010, à 12:52
- alexrtou
Mise en place d'un serveur de vidéo surveillance (utilisant motion)
1- Présentation
Dans ce post, je souhaitais regrouper toutes mes recherches sur le sujet de la vidéo surveillance.
Et tenter de proposer une méthode pour une installation complète et fonctionnelle, vu que c'est celle que j'utilise !
Voici ce que permet de faire cette installation :
- Il s'agit d'un serveur dédié à la vidéo survaillance domestique.
- Branché en wifi pour permettre de le positionner n'importe où dans la maison.
- Motion est utilisé pour capturer des photos (2 par seconde) lorsqu'un mouvement est détecté.
- Ces photos sont, au fur et à mesure, sauvées sur un serveur distant.
- Lorsque la détection est terminée, un mail est envoyé pour prévenir.
2- install du serveur ubuntu
suivre l'install : aucun pb rencontré !
Version installée : ubuntu serveur 10.04LTS.
3- configuration du wifi :
En s'appuyant sur http://doc.ubuntu-fr.org/wpa.
Modifier le fichier /etc/network/interfaces par :
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
wpa-conf managed
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid <nom de la connexion wifi>
wpa-key-mgmt WPA-PSK
wpa-psk <clé wap>
4- install du server ssh:
Ceci permet de continuer l'installation depuis un poste de bureau. Et de permettre de copier coller directement le code !
installez le paquet openssh-server sur le serveur.
sudo apt-get install openssh-server
Par défaut, il se lance au démarrage.
Il est désormais possible d'utiliser Putty pour se connecter à distance.
pour connaitre l'IP de connexion de serveur :
ifconfig
5- Install motion
sudo apt-get install motion
6- configurer les webcams en liens statiques
Pour éviter d'avoir un démarrage aléatoire d'une caméra sur l'ensemble de celles installées.
perso j'ai deux webcams. La détection est lancée à partir d'une seule.
voir http://doc.ubuntu-fr.org/webcam#conflit … v_ou_autre
créer le fichier /etc/udev/rules.d/83-duplicate_devs.rules
# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="c326", ATTRS{idVendor}=="0ac8", SYMLINK+="webcam-integree"
KERNEL=="video*", ATTRS{idProduct}=="0804", ATTRS{idVendor}=="046d", SYMLINK+="webcam-logitech"
modifier l'id product et vendor suivant votre matériel.
7- Installer les programmes à lancer par motion
sudo apt-get install mailutils
sudo apt-get install ssmtp
modifier /etc/ssmtp/ssmtp.conf qui permet d'envoyer simplement un email via gmail
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=monmail@gmail.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=video-surveillance
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
AuthUser=<mon user Gmail (sans @gmail.com)>
AuthPass=<Mot de passe Gmail>
rewriteDomain=gmail.com
8- Personnaliser l'installation de motion
créer le répertoire et l'associer à l'utilisateur motion
cd /home
sudo mkdir motion
sudo chown motion motion
cd motion
sudo mkdir capture
sudo chown motion capture
sudo mkdir archives
sudo chown motion archives
Il peut être utile d'associer votre utilisateur/login au groupe de motion.
Remarque:
Motion est lancé en service par l'utilisateur root.
Mais il est nécessaire que les répertoires de travail soient associés à un utilisateur 'motion' !
Sans faire 'chown' ça ne marche pas !
créer le fichier /home/motion/detection.sh:
et lui donner les droits d'exécution :
touch /home/motion/detection.sh
chmod 770 /home/motion/detection.sh
chown motion /home/motion/detection.sh
A savoir sur ce programme :
* Avant l'heure de démarrage, les captures sont supprimées.
* Après l'heure de démarrage, le programme boucle tant qu'il trouve des captures.
* Les captures sont regroupées par jour.
* Et lorsqu'il n'y a plus rien à sauver, il envoie un mail et se termine.
* gap=10 de motion.conf défini le temps minimum pour son prochain lancement.
* Il ne peut pas y avoir plusieurs instances de detection.sh en simultané.
#!/bin/sh
ARCHIVE=`date '+%Y%m%d'`
MOTN='/home/motion'
LOG=$MOTN/detection.log
HOST='ftpperso.sfr.fr'
PORT='21'
USER='monsite.perso.sfr.fr'
PASSWD='xxxxxxx'
SITE='http://monsite.perso.sfr.fr/mes-captures'
DELTA=360
START=`cat $MOTN/startdate.inf`
NOW=`date +"%s"`
AVANT=`expr $NOW - $DELTA`
securiser () {
if [ -d "$MONT/archives/$ARCHIVE" ]; then
echo "$MOTN/archives/$ARCHIVE existe bien">>$LOG
else
mkdir $MOTN/archives/$ARCHIVE
mkdir $MOTN/archives/$ARCHIVE/tmp
ftp -i -n $HOST $PORT << EOF
quote USER $USER
quote PASS $PASSWD
cd motion-lin-capture/albulle/data/photos/motion
mkdir $ARCHIVE
quit
EOF
fi
rm -f $MOTN/capture/*.swf
mv $MOTN/capture/*.jpg $MOTN/archives/$ARCHIVE/tmp
ftp -i -n $HOST $PORT << EOF
quote USER $USER
quote PASS $PASSWD
cd mes-captures/$ARCHIVE
lcd $MOTN/archives/$ARCHIVE/tmp
mput *.jpg
quit
EOF
echo "uploaded files!" >>$LOG
date >> $LOG
mv $MOTN/archives/$ARCHIVE/tmp/*.jpg $MOTN/archives/$ARCHIVE
}
sleep 1
RUNNING=`pgrep detection.sh | wc -l`
echo $RUNNING >> $LOG
if [ $RUNNING -lt 3 ]; then
echo date "-----start detection -----" >>$LOG
date >> $LOG
if [ $AVANT -gt $START ] ; then
echo "detection demarree" >>$LOG
date >> $LOG
UPLOAD='FALSE'
while [ $(ls $MOTN/capture/|wc|tr -d ' ') != "000" ]
do
sleep 2
securiser
UPLOAD='TRUE'
done
if [ $UPLOAD = 'TRUE' ]; then
echo "des captures ont ete prises a la maison ! : $SITE" | mailx -s "Surveillance" monmail@yahoo.fr
echo "mail au proprio" >>$LOG
date >> $LOG
fi
else
rm -f $MOTN/capture/*.jpg
echo "C pas l'heure" >>$LOG
fi
date >> $LOG
echo "-----fin detection -----" >>$LOG
else
echo "-----deja en cours de detection -----" >>$LOG
fi
# End of script
Paramétrer le script :
* MOTN='/home/motion' -> home de l'installation de la video surveillance
* LOG=$MOTN/detection.log -> fichier de log du programme
* HOST='ftpperso.sfr.fr' -> FTP du site où son uploadées les images
* PORT='21' -> port du FTP
* USER='monsite.perso.sfr.fr' -> user du FTP
* PASSWD='xxxxxxx' -> mot de passe du FTP
* SITE='http://monsite.perso.sfr.fr/mes-captures' -> URL du site, pour information dans le mailenvoyé.
* DELTA=360 -> delta de démarrage de la vidéo surveillance. ''en secondes''.
* Définir le bon email pour l'envoi.
* Dans la connexion FTP du programme il manque le paramètre du répertoire distant où copier les images, il faut donc le mettre à jour... ou modifier le code pour le paramétrer :
ftp -i -n $HOST $PORT << EOF
...
cd mes-captures/$ARCHIVE
...
EOF
Je suis actuellement entrain de regarder une solution bis pour le FTP, qui a tendance à planter au bout de plusieurs jours...
Voici maintenant les modifications importantes de /etc/motion/motion.conf
# Start in daemon (background) mode and release terminal (default: off)
daemon on
# File to store the process ID, also called pid file. (default: not defined)
process_id_file /home/motion/motion.pid
# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/webcam-logitech
#videodevice /dev/webcam-integree
# Image width (pixels). Valid range: Camera dependent, default: 352
width 640
# Image height (pixels). Valid range: Camera dependent, default: 288
height 480
# Detect motion in predefined areas (1 - 9). Areas are numbered like that: 1 2 3
# A script (on_area_detected) is started immediately when motion is 4 5 6
# detected in one of the given areas, but only once during an event. 7 8 9
# One or more areas can be specified with this option. (Default: not defined)
area_detect 123456789
# Ignore sudden massive light intensity changes given as a percentage of the picture
# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled
lightswitch 30
# Gap is the seconds of no motion detection that triggers the end of an event
# An event is defined as a series of motion images taken within a short timeframe.
# Recommended value is 60 seconds (Default). The value 0 is allowed and disables
# events causing all Motion to be written to one single mpeg file and no pre_capture.
gap 10
# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /home/motion/capture
# The mini-http server listens to this port for requests (default: 0 = disabled)
webcam_port 0
# File path for motion triggered images (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-%q
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
# File extension .jpg or .ppm is automatically added so do not include this
# Set to 'preview' together with best-preview feature enables special naming
# convention for preview shots. See motion guide for details
jpeg_filename %Y%m%d%H%M%S-%q
on_event_start /home/motion/detection.sh
9- Créer les raccourcis utiles
De manière générale les commandes suivantes sont à se rappeler.
Démarrer motion :
sudo service motion start
Stopper motion :
sudo service motion stop
Mais comme c'est bien plus simple de se créer des alias :
dans .bash_aliases du home de l'utilisateur classique (créé lors de l'install du serveur)
alias mocap='cd /home/motion'
alias moetc='sudo cd /etc/motion'
alias molog='sudo cat /var/log/syslog | grep motion'
alias morestart='sudo service motion restart'
alias mostart='sudo service motion start'
alias mostate='sudo ps -A | grep motion'
alias mostop='sudo service motion stop'
10- Petit script de nettoyage des logs
rm -fR /home/motion/archives/*
rm -fR /home/motion/capture/*
>/var/log/syslog
11- modifier le lanceur du service
fichier : /etc/init.d/motion :
case "$1" in
start)
if check_daemon_enabled ; then
log_daemon_msg "Starting motion detection daemon : $NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
DEVICE=`cat /etc/motion/motion.conf | grep "videodevice /dev" | awk -F" " '{print $2}'`
log_daemon_msg "device utilise : $DEVICE"
date +"%s" > /home/motion/startdate.inf
rm -f /home/motion/detection.log
log_end_msg 0
else
log_end_msg 1
RET=1
fi
fi
;;
stop)
log_daemon_msg "Stopping motion detection daemon: $NAME"
if start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 ; then
# pour être sûr que tous les process soient bien arrétés ! Sinon, impossible de relancer motion correctement...
pkill -9 detection.sh
pkill -9 ftp
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
12- Préparer un site web de sauvegarde des captures
J'ai choisi Albulle1.2.1 : http://albulle.jebulle.net/
Car c'est un site qui ne prend pas beaucoup de place à l'install et il n'utilise pas de base de données.
Pour l'installation détaillée, les captures sont uploadées vers le répertoire distant /mes-captures/<Date du jour>.
13- tester
* Redémarrer le serveur et vous connecter. normalement motion devrait être démarré.
(en fonctionnement classique, il n'est pas utile de se connecter, c'est pour ça que motion est installé en service !)
Si motion n'a pas démarré (mostate), il vous faut vérifier la log (molog).
Elle vous apprendra probablement ce qui foire !
Le gros des problèmes que j'ai rencontré, sont des problèmes de droits (exécution et owner).
* Vous pourrez baisser le délai de démarrage à une 10ène de secondes (dans detection.sh). Ca permet de lancer et relancer motion facilement.
* suivre l'exécution du programme detection.sh par
tail -f /home/motion/detection.log
14- Ce qui manque
* Vous trouverez probablement quelques lignes parasites dans les scripts... Ce sont mes précédents essais.
Et se sera à nettoyer !
* Affiner les réglages de motion par exemple "lightswitch". Chez moi les changements de luminosités sont mon plus gros problème !
* Vous pourrez installer les drivers propriétaires, mais ceci dépend de votre matériel.
J'attend vos questions, retours, remarques et autres bonnes idées, et j'espère que ce post vous sera utile !
Dernière modification par alexrtou (Le 02/02/2011, à 15:09)
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#2 Le 03/08/2010, à 19:26
- l e . n o x
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Tres intéressent, je m'abonne ;O)
Merci alexrtou pour le partage
Je viens de tester la procédure, je bute sur la mise en marche de motion:
11- modifier le lanceur du service
sudo nano /etc/init.d/motion
#! /bin/sh -e
#
# /etc/init.d/motion: Start the motion detection
#
### BEGIN INIT INFO
# Provides: motion
# Required-Start: $local_fs $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Motion detection
# Description: loads motion and assigns privileges
### END INIT INFO
# Ported to new debian way using sh and /lib/lsb/init-functions
# by Angel Carpintero <ack@telefonica.net>
NAME=motion
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/motion
PIDFILE=/var/run/motion/$NAME.pid
ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
running() {
if [ -f ${PIDFILE} ]; then
pidof $NAME
fi
}
case "$1" in
start)
if check_daemon_enabled ; then
log_daemon_msg "Starting motion detection daemon : $NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
DEVICE=`cat /etc/motion/motion.conf | grep "videodevice /dev" | awk -F" " '{print $2}'`
log_daemon_msg "device utilise : $DEVICE"
date +"%s" > /home/motion/startdate.inf
rm -f /home/motion/detection.log
log_end_msg 0
else
log_end_msg 1
RET=1
fi
fi
;;
stop)
log_daemon_msg "Stopping motion detection daemon: $NAME"
if start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
status)
RUNNING=$(running)
if [ -n "$RUNNING" ]; then
log_success_msg "$NAME is running"
exit 0
else
log_success_msg "$NAME is not running"
exit 3
fi
;;
reload-config)
log_action_begin_msg "Reloading $NAME configuration"
if start-stop-daemon --stop --signal HUP --exec $DAEMON; then
log_action_end_msg 0
else
log_action_end_msg 1
fi
;;
restart-motion)
log_daemon_msg "Restarting $NAME"
$0 stop
$0 start
;;
restart|force-reload)
$0 restart-motion
exit $?
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|status|reload-config|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
J'ai l'impression que l'erreur viens d'ici pour ma config.
Ubuntu Serveur 10.4 | funambol | LAMP | Pure-FTP | CUPS | SAMBA
suite à un
sudo service motion start
j'obtiens :
motion: unrecognized service
Peux tu mettre l'intégralité du fichier /etc/init.d/motion dans la procédure ?
Bonne soirée
Dernière modification par l e . n o x (Le 03/08/2010, à 20:34)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#3 Le 04/08/2010, à 08:32
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Salut,
Je n'ai jamais rencontré ce pb...
Ce que je te suggère :
- essaies de croiser les infos avec
sudo cat /var/log/syslog | grep motion
on sait jamais !
- reviens sur la conf d'origine de motion, et essaies de le démarrer manuellement. commande :
motion
- dans motion.conf passes
daemon on
et tentes de le démarrer en service.
sudo service motion start
- en dernier recours... réinstaller motion.
remarque :
Je n'ai pas le code sous les yeux mais je ne crois pas avoir modifié autre chose dans /etc/init.d/motion, justement pour limiter les risques d'erreurs !
Il te faut repartir de l'installation de motion de base et y ajouter les options au fur et à mesure, quitte à déclencher un /home/motion/detection.sh qui ne fait que tracer une log.
je te poste /etc/init.d/motion dès que possible !
bye
Alex
Dernière modification par alexrtou (Le 04/08/2010, à 08:33)
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#4 Le 04/08/2010, à 20:28
- l e . n o x
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Bonsoir
voici quelques retours :
sudo apt-get purge motion
sudo rm /etc/init.id/motion
sudo apt-get install motion
Résultat semble OK :
Adding system user `motion' (UID 107) ...
Adding new user `motion' (UID 107) with group `motion' ...
Not creating home directory `/home/motion'.
Adding user `motion' to group `video' ...
Adding user motion to group video
Done.
* Not starting motion daemon, disabled via /etc/default/motion
Traitement des actions différées (« triggers ») pour « libc-bin »...
ldconfig deferred processing now taking place
sudo nano /etc/default/motion
j'applique cette modif :
# set to 'yes' to enable the motion daemon
start_motion_daemon=yes
puis je demarre le service :
sudo service motion start
* Starting motion detection daemon : motion [ OK ]
J'applique la modif suivante apres avoir fait un Backup du fichier original :
sudo mv /etc/init.d/motion /etc/init.d/motion.BK
sudo nano /etc/init.d/motion
Fichier initial :
#! /bin/sh -e
#
# /etc/init.d/motion: Start the motion detection
#
### BEGIN INIT INFO
# Provides: motion
# Required-Start: $local_fs $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Motion detection
# Description: loads motion and assigns privileges
### END INIT INFO
# Ported to new debian way using sh and /lib/lsb/init-functions
# by Angel Carpintero <ack@telefonica.net>
# Modify by : Juan Angulo Moreno <juan@apuntale.com>
# Eddy Petrisor <eddy.petrisor@gmail.com>
NAME=motion
PATH_BIN=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/motion
PIDFILE=/var/run/$NAME.pid
DEFAULTS=/etc/default/$NAME
ENV="env -i LANG=C PATH=$PATH_BIN"
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
RET=0
[ -r "$DEFAULTS" ] && . "$DEFAULTS" || start_motion_daemon=yes
check_daemon_enabled () {
if [ "$start_motion_daemon" = "yes" ] ; then
return 0
else
log_warning_msg "Not starting $NAME daemon, disabled via /etc/default/$NAME"
return 1
fi
}
case "$1" in
start)
if check_daemon_enabled ; then
log_daemon_msg "Starting motion detection daemon : $NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
fi
;;
stop)
log_daemon_msg "Stopping motion detection daemon: $NAME"
if start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
reload|force-reload)
log_daemon_msg "Reloading $NAME configuration"
if start-stop-daemon --stop --signal HUP --exec $DAEMON ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
restart-motion)
if check_daemon_enabled ; then
log_action_begin_msg "Restarting $NAME"
if $0 stop && $0 start ; then
log_action_end_msg 0
else
log_action_cont_msg "(failed)"
RET=1
fi
fi
;;
restart)
$0 restart-motion
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
RET=1
;;
esac
exit $RET
Fichier modifier
#! /bin/sh -e
#
# /etc/init.d/motion: Start the motion detection
#
### BEGIN INIT INFO
# Provides: motion
# Required-Start: $local_fs $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Motion detection
# Description: loads motion and assigns privileges
### END INIT INFO
# Ported to new debian way using sh and /lib/lsb/init-functions
# by Angel Carpintero <ack@telefonica.net>
# Modify by : Juan Angulo Moreno <juan@apuntale.com>
# Eddy Petrisor <eddy.petrisor@gmail.com>
NAME=motion
PATH_BIN=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/motion
PIDFILE=/var/run/$NAME.pid
DEFAULTS=/etc/default/$NAME
ENV="env -i LANG=C PATH=$PATH_BIN"
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
RET=0
[ -r "$DEFAULTS" ] && . "$DEFAULTS" || start_motion_daemon=yes
check_daemon_enabled () {
if [ "$start_motion_daemon" = "yes" ] ; then
return 0
else
log_warning_msg "Not starting $NAME daemon, disabled via /etc/default/$NAME"
return 1
fi
}
case "$1" in
start)
if check_daemon_enabled ; then
log_daemon_msg "Starting motion detection daemon : $NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
DEVICE=`cat /etc/motion/motion.conf | grep "videodevice /dev" | awk -F" " '{print $2}'`
log_daemon_msg "device utilise : $DEVICE"
date +"%s" > /home/motion/startdate.inf
rm -f /home/motion/detection.log
log_end_msg 0
else
log_end_msg 1
RET=1
fi
fi
;;
stop)
log_daemon_msg "Stopping motion detection daemon: $NAME"
if start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
reload|force-reload)
log_daemon_msg "Reloading $NAME configuration"
if start-stop-daemon --stop --signal HUP --exec $DAEMON ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
restart-motion)
if check_daemon_enabled ; then
log_action_begin_msg "Restarting $NAME"
if $0 stop && $0 start ; then
log_action_end_msg 0
else
log_action_cont_msg "(failed)"
RET=1
fi
fi
;;
restart)
$0 restart-motion
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
RET=1
;;
esac
exit $RET
Sans la modif dans /etc/init.id/motion le service fonctionne (demarre) avec la modif du dessus il me gratifi d'un jolie :
sudo service motion start
motion: unrecognized service
Je poursuit le tuto sans la modif, puis je reviens ;O)
Bonne soirée @ +
Dernière modification par l e . n o x (Le 04/08/2010, à 20:33)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#5 Le 05/08/2010, à 08:36
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Hello,
Je reste dispo ! tiens moi au courant.
Comme je disais dans le tuto initial, les plus gros soucis rencontrés viennent des droits d'accès (owner et exécution).
J'ai comparé le fichier init.d/motion, ils sont identiques !
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#6 Le 15/08/2010, à 19:50
- l e . n o x
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Bonsoir
Voici la suite de la mise en route de "motion" sur un serveur 10.04 :
1) Installation
sudo apt-get install motion
2) Configuration motion.conf
sudo nano /etc/motion/motion.conf
voici les modifs que j'ai effectuées :
width 640
height 480
webcam_port MONPORT(ex:8081)
webcam_localhost off
target_dir /home/MONUSER/www/Albulle/upload/albulle/data/photos/motion
3) Dossier de travail est gestion des droits (+rwx)
mkdir ~/www/Albulle/upload/albulle/data/photos/motion
sudo chmod a+rwx ~/www/Albulle/upload/albulle/data/photos/motion
Cette partie "gestion des droits" a besoin d'être optimisé, il serait intéressent de ne donner acces au dossier ~/www/Albulle/upload/albulle/data/photos/motion
qu'a l'user motion et MONUSER et a Allbule.
4) Active le daemon motion :
sudo nano /etc/default/motion
modif suivante no en yes
# set to 'yes' to enable the motion daemon
start_motion_daemon=yes
5) on lance le service motion
sudo service motion start
6) On peut suivre le deroulement de motion dans le syslog :
sudo cat /var/log/syslog | grep motion
7) Visualiser votre webcam via explorateur web
http://ADRESSE_DE_VOTRE_SERVEUR_MOTION:LEPORT_CONFIGURER_DANS_MOTION_CONF/
(ex: http://192.168.1.10:8081/)
Quelques remarques : En effet "alexrtou" tu avais raison la gestions de droit sur le dossier de travail de motion n'a pas était simple.
j'ai rencontré des problèmes avec les driver V4L2, motion basculer ma webcam en V4L1 apres 2 heures de recherche seule solution reinstaller motion !!
Bonne soirée @ tous
Dernière modification par l e . n o x (Le 15/08/2010, à 19:53)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#7 Le 16/08/2010, à 12:43
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Salut j'ai cru que tu avais abandonné, du coup c'est cool que tu sois arrivé à installer ton serveur !
Tu as rencontré pas mal de soucis avec ta webcam...
Perso, j'ai moins galéré car j'ai choisi la webcam (une Logitech C300) pour qu'elle soit complètement reconnue sous ubuntu.
Petite précision :
motion s'appuie sur le driver V2L (Video for linux). Or toutes les webcams ne le supportent pas...
voici un lien utile pour faire son choix :
http://doc.ubuntu-fr.org/webcam
Autre point, de mon côté j'ai pu créer les dossiers de travail sans avoir à fournir les droits RWX à tous (autres utilisateurs).
C'est donc possible d'optimiser ton install !
Enfin, c'est une bonne idée d'avoir paramétré motion pour voir les images via le réseau !
Je n'ai pas fait ça car j'ai un double boot. Ainsi je démarre la version desktop pour préparer
le cadrage de ma webcam, puis je reboote pour lancer le serveur. La plupart du temps ma webcam ne bouge pas donc no souçaï !
à bientôt pour tes impressions et/ou remarques !
Alex
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#8 Le 23/08/2010, à 03:20
- funkalee
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
merci les gars pour ce topic
Hors ligne
#9 Le 23/08/2010, à 07:53
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Avec plaisir !
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#10 Le 17/12/2010, à 17:04
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Petit update.
J'ai testé http://www.jbc-explorer.info comme site pour visualiser les images uploadées.
Et il me plait bien !
rapide et léger.
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#11 Le 03/01/2011, à 21:32
- TraGiKomiK
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
je m'abonne et je teste des que j'en ai la possibilité
Merci de mettre [RESOLU] dans le titre de votre post une fois le probleme reglé!
GNU/Linux -> \o/
Hors ligne
#12 Le 04/02/2011, à 15:37
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Petite remarque / évolution :
Lors de l'arrêt de motion, j'ai ajouté
pkill -9 detection.sh
pkill -9 ftp
Le problème relevé était :
lors de l'arrêt avec une détection en cours, la détection en cours ne se termine plus. Lors de la relance du serveur, la détection ne démarrait précisait qu'un autre process est déjà en cours...
Désormais c'est de l'histoire ancienne !
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#13 Le 04/02/2011, à 16:02
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Autre Bonus, le suivi régulier de votre serveur :
Pour envoyer un mail (et la PJ) sans installer de serveur :
sudo apt-get install uuencode
le script ping.sh :
#!/bin/bash
ping -c 1 www.google.fr > /dev/null
TEST=$?
#echo '-------------------------'
#echo $TEST
#echo '-------------------------'
dt=`date`
if [ $TEST -ne 0 ]
then
echo "$dt pas de connexion" > /home/motion/etat.txt
exit 0
else
echo "$dt internet OK" > /home/motion/etat.txt
echo "etat de motion :" >> /home/motion/etat.txt
ps -A | grep motion >> /home/motion/etat.txt
(echo "Etat de la video surveillance le `date`" ; uuencode /home/motion/etat.txt etat.txt )| mailx -s "etat de la video surveillance internet " votre_mail@domaine.fr
# ou
# cat /home/motion/etat.txt | mailx -s "etat de la video surveillance " votre_mail@domaine.fr
fi
#echo "poursuite ..."
le cron :
sudo crontab -e
penser à modifier les chemins pour les mettre en absolu !
# ping toutes les 5 min
*/5 * * * * /home/motion/ping.sh
# mail toutes les 4h
0 */4 * * * /home/motion/ping.sh
enregistrer et quitter.
lancer cron par :
sudo start cron
ou le définir en service voir :
sudo sysv-rc-conf
en prenant exemple sur un autre logiciel lancé au démarrage c'est pas bien compliqué.
Dernière modification par alexrtou (Le 04/02/2011, à 16:04)
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#14 Le 20/03/2011, à 12:56
- manu67
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Bonjour,
Très intéressant ce fil. Savez si il est possible de définir une zone de détection précise ? (C'est pour une étude de papillon)
Hors ligne
#15 Le 22/03/2011, à 15:37
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Salut,
Motion permet de définir 9 zones, comme ceci :
789
456
123
Tu peux également appliquer un masque, mais je ne l'ai pas testé.
Linux il y a moins bien, mais c'est plus cher...
Hors ligne
#16 Le 17/04/2012, à 21:56
- pplecool
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
bonjour,
j'ai quelques petits soucis avec motion. le premier est que j'ai un
[: 80: -gt: argument expected
qui apparait en console apres que motion ait sauvegardé quelques images suite à une detection de mouvement.
si je traduis ça donne
[: 80: -gt: argument attendu
et je ne suis pas plus avancé ;-)
qu'est-ce que ça veut dire? y a t'il quelque chose qui cloche ou est-ce sans importance?
Hors ligne
#17 Le 13/02/2013, à 17:17
- alexrtou
Re : Mise en place d'un serveur de vidéo surveillance (utilisant motion)
Salut à tous,
je fais un petit post pour dire que ce topic n'est plus maintenu...
Alex
Linux il y a moins bien, mais c'est plus cher...
Hors ligne