[résolu]logiciel video surveillance

Bonjour à tous,

J’ai deux caméras de surveillance à la maison. Je cherche un logiciel pour gérer la programmation : déclenchement de telle heure à telle heure par exemple. Est-ce qu’il y a un programme sous linux qui fasse cela ; en admettant que les caméras soient reconnues par le noyau !

Merci pour votre aide.

Tu peux regarder du côté de motion.
Il est très pratique et se configure facilement, je l’utilise pour surveiller mes locaux professionnels et je n’ai jamais été déçu.
Par contre je ne crois pas qu’il gère des tranches horaires, ou alors je me suis fait des scripts lancés par cron pour rien :laughing:

Salut,

Au cas où je ne pourrais pas régler les tranches horaires, tu pourrais me filer un coup de main pour les scripts ?

Et aussi zoneminder: zoneminder.com/

Bonjour,

J’ai installé motion mais il ne se lance pas :

sh-3.1$ motion
[0] Processing thread 0 - config file /etc/motion/motion.conf
[1] Thread is from /etc/motion/motion.conf
[1] Thread started
[1] Failed to open video device /dev/video0: Permission denied
[1] Motion Exits

Un coup de main ?

Bonjour,

L’utilisateur appartient t-il au groupe video ?

Il faut que tu le lance en root.

Absolument pas, ce serait une erreur d’autant que motion a un petit serveur incorporé. C’est certainement l’inscription au groupe video qui a été oubliée.

Tu peux même te faire un user qui ne sert qu’à ça.
Par contre fais bien attention à la configuration si tu as plusieurs cameras.
De même il y a une option pour compenser les variations de luminosité

night_compensate on
ou un truc dans le genre

Tiens d’ailleurs je me demande si on ne peux pas faire quelque chose avec start-stop-daemon et lancer tout ça depuis /etc/init.d avec un user sans home ni possibilité de se logger ?

Je me réponds : oui on peut le faire.

Merci pour vos réponses,

Tout d’abord, il ne se lance qu’en root ! pas en user, de même que xawtv.
Ensuite, je n’ai aucune fenêtre qui s’affiche. Il semble tourner en arrière fond. Je fais comment pour les réglages !! Et il se trouvent où.
Enfin, je vais ajoute user au groupe video et on verra bien.
Par contre pour quelle raisons ne faut-il pas le lancer en root ?

Déjà la question qu’on aurait déjà du te poser : c’est quoi tes caméras ?

Pour ton soucis de user : c’est vraiment un problème de droits.
Pour la config, il n’y a pas d’interface à ma connaissance. Tu configures ça dans un fichier.

Par exemple, pour deux caméras :

  • /etc/motion/motion.conf - config générale
daemon on
quiet on

thread /etc/motion/thread1.conf
thread /etc/motion/thread2.conf

width 352
height 288

framerate 1
quality 85
auto_brightness off

threshold 200
noise_level 64

brightness 200
contrast 0
saturation 0
hue 0

snapshot_interval 1800

ffmpeg_cap_new off

night_compensate on
  • /etc/motion/thread1.conf - config spécifique camera 1
videodevice /dev/video0
target_dir /mon_chemin/MOTION/motion1
text_left CAMERA 1
  • /etc/motion/thread2.conf - config spécifique camera 2
videodevice /dev/video1
target_dir /mon_chemin/MOTION/motion2
text_left CAMERA 2

Avec ça tu gères 2 caméras qui envoient leurs images dans un répertoire uniquement quand il y a trop de variations entre 2 frames. En plus toutes les demi-heures une image est sauvegardée en guise de balise.

Pour la question sur root, c’est un principe général: les programmes sont non surs par défaut, non surs voulant dire soumis à faille de sécurité (motion dispose d’un serveur web) ou pouvant planter. Dans ces deux cas, il est souhaitable que le programme (i.e l’utilisateur exécutant le programme) ait un minimum de droit: Si tu fais (cd /bin ; rm *) sous ton nom, ça ne fera rien, sous root, ça flingue ton système. Voilà.

Bonjour,

J’ai rajouté le user dupont dans le groupe video :

adduser dupont video.

En console, j’ai cela qui s’affiche au lancement de xawtv

This is xawtv-3.95.dfsg.1, running on Linux/i686 (2.6.18-6-686)
/dev/video0 [v4l]: no overlay support
v4l-conf had some trouble, trying to continue anyway
v4l2: open /dev/video0: Permission non accordée
v4l2: open /dev/video0: Permission non accordée
v4l: open /dev/video0: Permission non accordée
no video grabber device available

Par contre en root, tout fonctionne parfaitement.
Il me semble que c’est le pilote qui pose problème en user.

POur les réglages de motion, il me prend une photo par secondes !! On fait le réglage comment. J’ai rien vu de la sorte dans le fichoer de conf.
De même ce qui m’interesse ce sont des petites vidéos de ce qui se passe dans la pièce. Idem, rien vu de la sorte.

Enfin camstream ne fait pas de gestion vidéos ?

Ca ne marche pas en “live” cette commande, mais seulement au prochain login.

tu dois avoir un paramètre framerate ou un truc dans le genre
et puis tu peux aussi aller voir http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuide

Si tu veux des video, tu peux faire comme suit:

#!/bin/sh
cd ~/video
FICHIER=/tmp/videoliste
echo -n > $FICHIER
FILM=`/bin/date --date '1 day ago' +"video-%Y-%m-%d.avi"`
for i in `seq 1 9` ; do  ls 0$i* >> $FICHIER 2> /dev/null ; done
NB=`ls  *.jpg | grep -E "^[1-9][0-9]" | sed -e '1,$s/^\([0-9]*\)-.*$/\1/' | sort                                         
 -u`
for i in $NB ; do  ls $i-* >> $FICHIER 2> /dev/null
done
cat $FICHIER | xargs jpegtoavi -f 25 320 240  > $FILM
killall  motion
rm *.jpg
sleep 2
screen -d -m motion -c ~/motion.conf

avec motion.conf :

daemon off
quiet on
videodevice /dev/video0
width 320
height 240
framerate 25
quality 85
auto_brightness off
threshold 4500
noise_level 64
brightness 0
contrast 100
saturation 0
hue 0
ffmpeg_cap_new off
ffmpeg_video_codec msmpeg4
target_dir /home/francois/video
webcam_port 0
webcam_localhost off
webcam_quality 50
webcam_maxrate 8

je ne comprends pas le début du script bin/sh …A quoi cela sert-il ?
Ai-je quelque chose à modifier ? Si oui quoi ?
Merci encore.
Je progresse

C’est un script qu’il suffit d’exécuter une fois par jour (via cron par exemple), cela récupère les images et en fait un petit film…

Question : avec opencv j’avais bricolé une commande qui générait le film en direct, je la réveillais avec inotify sans effacer les images sources. j’avais pris opencv comme j’aurais pu prendre autre chose, comme jpegtoavi comme dans ton exemple. Mais je me demande s’il n’y a pas plus simple, un paquet qui permettrait de faire ça sans avoir à maintenir un truc perso.