Webcam
Piloter une webcam
Dernière modification 23 décembre 2012
( ce document est disponible au format pdf dans la rubrique
téléchargement)
Présentation
Je dispose de deux webcams LDLC
achetées sur le site du même nom qui m'a coûté
moins de 11€. Tous les configurations de cette page sont basées
sur ces webcams basées sur une puce Z-star.
|
|
Installation du driver
Quand je branche ma webcam sur le port USB, elle est pas reconnue sur ma mageia2, voilà les lignes correspondantes dans le
fichier
/var/log/messages
Sep 12 19:11:19 mana kernel: [ 2415.417028] usb 2-5: new high-speed USB device number 4 using ehci_hcd
Sep 12 19:11:20 mana kernel: [ 2415.576240] usb 2-5: New USB device found, idVendor=06f8, idProduct=300c
Sep 12 19:11:20 mana kernel: [ 2415.576245] usb 2-5: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Sep 12 19:11:20 mana kernel: [ 2415.576248] usb 2-5: Product: Classic Silver
Sep 12 19:11:20 mana kernel: [ 2415.576250] usb 2-5: Manufacturer: Guillemot Corporation
Sep 12 19:11:20 mana mtp-probe: checking bus 2, device 4: "/sys/devices/pci0000:00/0000:00:02.1/usb2/2-5"
Sep 12 19:11:20 mana mtp-probe: bus: 2, device: 4 was not an MTP device
Sep 12 19:11:20 mana kernel: [ 2415.710406] Linux media interface: v0.10
Sep 12 19:11:20 mana kernel: [ 2415.727335] Linux video capture interface: v2.00
Sep 12 19:11:20 mana kernel: [ 2415.728861] 4:3:1: cannot get freq at ep 0x84
Sep 12 19:11:20 mana kernel: [ 2415.731258] 2:2: cannot get min/max values for control 2 (id 2)
Sep 12 19:11:20 mana kernel: [ 2415.731546] usbcore: registered new interface driver snd-usb-audio
Sep 12 19:11:20 mana kernel: [ 2415.751718] uvcvideo: Found UVC 1.00 device Classic Silver (06f8:300c)
Sep 12 19:11:20 mana kernel: [
2415.760059] input: Classic Silver as
/devices/pci0000:00/0000:00:02.1/usb2/2-5/2-5:1.0/input/input12
Sep 12 19:11:20 mana kernel: [ 2415.760511] usbcore: registered new interface driver uvcvideo
Sep 12 19:11:20 mana kernel: [ 2415.760514] USB Video Class driver (1.1.1)
sur une ubuntu et mandriva, le driver est installé par défaut,
ce n'est donc pas nécessaire de faire tout ce qui suit, à
moins que vous vouliez absolument installer la nouvelle version.
Pour la mandriva 2009.1 voilà ce qui est chargé par défaut (commande
lsmod|grep gspca)
gspca_zc3xx 47868 0gspca_main 22108 1 gspca_zc3xxvideodev
40320 7 tuner,msp3400,saa7127,saa7115,gspca_main,ivtv,v4l2_commonusbcore
179280 7 gspca_zc3xx,usblp,usbhid,gspca_main,uhci_hcd,ehci_hcd
On installera le driver de Michel Xhaard qu'on trouvera à
l'adresse
http://mxhaard.free.fr/
après avoir installé le package
kernel-source, vous pouvez taper
uname -r
si vous obtenez par exemple (cas de la ubuntu)
2.6.20-15-generic
tapez maintenant
sudo apt-get install linux-headers-2.6.20-15-generic
sur ma mandriva j'obtiens
2.6.24.4-laptop-1mnbj'installe donc le package
urpmi kernel-laptop-devel-2.6.24.4-1mnbon décompresse
l'archive en tapant
tar xvfz gspcav1-20071224.tar.gz
Cela donne le répertoire
gspcav1-20071224 dans lequel on tape
make clean
make
Puis en tant que root
make install
On charge le driver
modprobe gspca
Voilà le résultat dans le fichier
dans le fichier
/var/log/syslog de kubuntu
Jan 4 11:56:59 mobile kernel: [152293.436000] ubuntu/media/gspcav1/gspca_core.c: driver gspca deregistered
Jan 4 11:59:33 mobile kernel:
[152447.984000] /usr/local/linux/video/gspcav1-20071224/gspca_core.c:
USB GSPCA camera found.(ZC3XX)
Jan 4 11:59:33 mobile kernel:
[152447.984000] /usr/local/linux/video/gspcav1-20071224/gspca_core.c:
[spca5xx_probe:4275] Camera type JPEG
Jan 4 11:59:33 mobile kernel:
[152447.984000]
/usr/local/linux/video/gspcav1-20071224/Vimicro/zc3xx.h:
[zc3xx_config:591] Sensor OV7620
Jan 4 11:59:33 mobile kernel:
[152447.988000] /usr/local/linux/video/gspcav1-20071224/gspca_core.c:
[spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
Jan 4 11:59:33 mobile kernel: [152447.988000] usbcore: registered new interface driver gspca
Jan 4 11:59:33 mobile kernel:
[152447.988000] /usr/local/linux/video/gspcav1-20071224/gspca_core.c:
gspca driver 01.00.20 registered
et dans le
/var/log/messages d'une mandriva
Aug 17 11:40:18 toshiba kernel: Linux video capture interface: v2.00Aug 17 11:40:18 toshiba kernel: /usr/local/linux/multimedia/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)Aug 17 11:40:18 toshiba kernel: /usr/local/linux/multimedia/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4275] Camera type JPEGAug
17 11:40:18 toshiba kernel:
/usr/local/linux/multimedia/gspcav1-20071224/Vimicro/zc3xx.h:
[zc3xx_config:591] Sensor OV7620Aug
17 11:40:18 toshiba kernel:
/usr/local/linux/multimedia/gspcav1-20071224/gspca_core.c:
[spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120Aug 17 11:40:18 toshiba kernel: usbcore: registered new interface driver gspcaAug 17 11:40:18 toshiba kernel: /usr/local/linux/multimedia/gspcav1-20071224/gspca_core.c: gspca driver 01.00.20 registeredAug
17 11:40:25 toshiba kernel:
/usr/local/linux/multimedia/gspcav1-20071224/gspca_core.c:
[gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 7
voilà les messages avec un module déjà intégré dans le noyau
Feb 13 18:20:19 tahiti kernel: usb 1-1: new full speed USB device using uhci_hcd and address 2
Feb 13 18:20:19 tahiti kernel: usb 1-1: New USB device found, idVendor=0ac8, idProduct=301b
Feb 13 18:20:19 tahiti kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 13 18:20:19 tahiti kernel: usb 1-1: Product: PC Camera
Feb 13 18:20:19 tahiti kernel: usb 1-1: Manufacturer: Z-Star Corp.
Feb 13 18:20:19 tahiti kernel: Linux video capture interface: v2.00
Feb 13 18:20:19 tahiti kernel: gspca: main v2.8.0 registered
Feb 13 18:20:19 tahiti kernel: gspca: probing 0ac8:301b
Feb 13 18:20:20 tahiti kernel: zc3xx: probe 2wr ov vga 0x0000
Feb 13 18:20:20 tahiti kernel: zc3xx: probe 3wr vga 1 0x8000
Feb 13 18:20:20 tahiti kernel: zc3xx: probe sensor -> 0014
Feb 13 18:20:20 tahiti kernel: zc3xx: Find Sensor CS2102K?. Chip revision 8000
Feb 13 18:20:20 tahiti kernel: gspca: video0 created
Feb 13 18:20:20 tahiti kernel: usbcore: registered new interface driver zc3xx
Feb 13 18:20:20 tahiti kernel: zc3xx: registered
Voilà ce que me donne la commande
lsusb pour ce qui concerne la webcam
Bus 001 Device 005: ID 0ac8:307b Z-Star Microelectronics Corp.
Et la commande
lsmod | grep gspca
gspca 680656 0
videodev 28160 1 gspca
usbcore
134280 7 gspca,usb_storage,libusual,usbhid,ehci_hcd,uhci_hcd
Voilà le résultat de la commande
cat /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0ac8 ProdID=307b Rev= 1.00
S: Manufacturer=Vimicro Corp.
S: Product=PC Camera
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=160mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 128 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 192 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 256 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 384 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 512 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 6 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 768 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 0 Alt= 7 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E: Ad=81(I) Atr=01(Isoc) MxPS= 896 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
Par ailleurs si vous n'avez pas d'autres périphériques
vidéo, elle sera désignée et accessible par le
fichier spécial
/dev/video0.
Au cas où vous en avez déjà d'autres
périphériques cela pourrait être
/dev/video1.
C'est bon elle est bien reconnue, on va la faire marcher maintenant.
Pour un lancement automatique j'ai
rajouté la ligne
gspca
dans le fichier
/etc/modules
A noter que sous mageia c'est le module uvcvideo qui est chargé par défaut, voici la trace dans
/var/log/messages
Dec 23 15:42:55 fakarava kernel: [21689.511238] usb 1-1.2.4: new full-speed USB device number 8 using ehci_hcd
Dec 23 15:42:55 fakarava kernel: [21689.587603] usb 1-1.2.4: not running at top speed; connect to a high speed hub
Dec 23 15:42:55 fakarava kernel: [21689.633604] usb 1-1.2.4: New USB device found, idVendor=06f8, idProduct=300c
Dec 23 15:42:55 fakarava kernel: [21689.633606] usb 1-1.2.4: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Dec 23 15:42:55 fakarava kernel: [21689.633608] usb 1-1.2.4: Product: Classic Silver
Dec 23 15:42:55 fakarava kernel: [21689.633609] usb 1-1.2.4: Manufacturer: Guillemot Corporation
Dec 23 15:42:55 fakarava kernel: [21689.636115] uvcvideo: Found UVC 1.00 device Classic Silver (06f8:300c)
Dec 23 15:42:55 fakarava kernel: [21689.640549] input: Classic Silver
as
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4:1.0/input/input14
Dec 23 15:42:56 fakarava kernel: [21689.670228] 8:3:1: cannot get freq at ep 0x84
Dec 23 15:42:56 fakarava kernel: [21689.670989] 2:2: cannot get min/max values for control 2 (id 2)
Dec 23 15:42:56 fakarava mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4"
et voilà ce que donne
lsmod|grep uvcvideo
uvcvideo 72283 0
videobuf2_vmalloc 13020 1 uvcvideo
videobuf2_core 32760 1 uvcvideo
videodev 101959 1 uvcvideo
media
21380 2 videodev,uvcvideo
usbcore
207173 8
ehci_hcd,usbhid,uvcvideo,snd_usbmidi_lib,snd_usb_audio,uas,usb_storage
Utilitaires divers
spcagui
On va utiliser
spcagui
qui est disponible sur le même site que le driver, il permet
entre autres de tester le bon fonctionnement de la caméra. On
décompresse l'archive en tapant
tar xvfz spcagui20060127.tar.gz
Cela donne le répertoire
spcagui20060127.
On veillera à installer les packages suivants
urpmi lib64SDL-devel
urpmi lib64SDL_image-devel
urpmi lib64jpeg-devel
On revient dans le répertoire
spcagui20060127
et on tape
make clean
make
j'ai rencontré l'erreur suivante
spcav4l.h:15:28: erreur fatale: linux/videodev.h : Aucun fichier ou dossier de ce type
pour le résoudre en tant que root, j'ai créé le lien suivant
ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
on retape
make puis en tant que root
make install
En tant que simple utilisateur en tapant
spcagui on obtient maintenant
Sur la petite fenêtre à
gauche de l'écran de visu de la webcam, on dispose de certains
outils de réglages (contraste, luminosité, norme, ...).
Pour vous donner une image de la résolution, mon écran
est en 1280x1024.
Si votre webcam est désignée par /dev/video1, lancez spcagui comme cela
spcagui -d /dev/video1
avec le module intégré dans le noyau, rien ne va plus, j'ai du taper la commande suivante
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so spcagui -d /dev/video1
idem pour le reste des commandes
spcaview
On le trouvera sur le même site, on décompresse l'archive
en tapant
tar xvfz spcaview-20071224.tar.gz
Cela donne spcaview-20071224
dans lequel on tape
make clean
make
Puis en tant que root
make install
On obtient ces différentes options en tapant
spcaview -h
Voilà le résultat
Spcaview version: 1.1.8 date: 25:12:2007 (C) mxhaard@magic.fr
usage: spcaview [-h -d -n -c -v -j -z -g -l -s -m -a -f -b -t -p] [-i inputfile | -o outputfile]
-h print this message
-d /dev/videoX use videoX device
-n norme 0->pal 2->secam 1->ntsc
-c input channels 0..9 exclude 4 and 5
-v disable video output for raw recording
-j disable video output and userspace decoding
-z compress yuv420p video output with DPSH encoder
-g use read method for grab instead mmap
-l default 320x480 use input size 640x480
-s widthxheight use specified input size
-m widthxheight use specified ouput size
-a default 0 -> nosound 1-> microphone 2-> mixer output
-f video format default yuv others options are r16 r24 r32 yuv jpg
-b enable automatic brightness adjustment
-t print statistics
-p x getPicture every x seconds
-p x && -o getPicture every x seconds and record in outfile
-w Address:Port read from Address xxx.xxx.xxx.xxx:Port
-N x take a x pictures and exit if p is not set p = 1 second
spcaview peut servir à enregistrer, la commande suivante
permet d'enregistrer de créer un fichier vidéo avi avec
une image par seconde.
spcaview -p 1 -o video.avi
voilà le résultat
Spcaview version: 1.1.8 date: 25:12:2007 (C) mxhaard@magic.fr
Initializing SDL.
SDL initialized.
bpp 3 format 15
Using video device /dev/video0.
Initializing v4l.
**************** PROBING CAMERA *********************
Camera found: LDLC OV7620+VC302
Bridge found: ZC301-2
StreamId: JPEG Camera
quality 1 autoexpo 1 Timeframe 0 lightfreq 50
Available Resolutions width 640 heigth 480 native
Available Resolutions width 352 heigth 288 decoded
Available Resolutions width 320 heigth 240 native *
Available Resolutions width 176 heigth 144 decoded
unable to probe size !!
*****************************************************
grabbing method default MMAP asked
VIDIOCGMBUF size 2457616 frames 2 offets[0]=0 offsets[1]=1228808
VIDIOCGPICT
brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0
depth=12 palette=4
VIDIOCSPICT
brightness=32768 hue=0 color=0 contrast=32768 whiteness=0
depth=24 palette=15
picture yuv420p
picture yuv420p
picture yuv420p
picture yuv420p
picture yuv420p
picture yuv420p
picture yuv420p
cvsync err
: Interrupted system call
Used 7454ms for 186 images => 40ms/image 24fps.
Quiting SDL.
Decoded frames:186 Average decode time: 6.000000
unmapping
closing
closed
close avi
Destroy Picture thread ...
Quiting....
le fichier peut être lu ensuite par MPlayer
spcaserv
spcaserv sert à faire du
streaming sur un port, voici ses options
spcaserv -h
usage: cdse [-h -d -g ]
-h print this message
-d /dev/videoX use videoX device
-g use read method for grab instead mmap
-f video format default yuv others options are r16 r24 r32 yuv jpg
-s widthxheight use specified input size
-w port server port
-p /dev/partportX use partportX device
Streaming vidéo
Nous allons faire du streaming vidéo en se servant des utilitaires
spcaview vu plus haut. Du serveur il suffit de taper
spcaserv -w 5000
5000 étant le port de diffusion, voilà le résultat
Spcaview version: 1.1.8 date: 25:12:2007 (C) mxhaard@magic.frvideo /dev/video0
Camera found: LDLC OV7620+VC302
VIDIOCGPICT brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0depth=24 palette=4
Bridge found: ZC301-2
wrong spca5xx device
StreamId: 0 Camera
try palette 21 depth 8
Available palette 21
try palette 15 depth 12
Available palette 15
try palette 4 depth 24
Available palette 4
try palette 3 depth 16
Available palette 3
try palette 5 depth 32
Available palette 5
probe size in
Available Resolutions width 640 heigth 480
Available Resolutions width 384 heigth 288
Available Resolutions width 352 heigth 288
Available Resolutions width 320 heigth 240
Available Resolutions width 192 heigth 144
Available Resolutions width 176 heigth 144
Available Resolutions width 160 heigth 120
Format asked 15 check 4
VIDIOCSPICT brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0depth=12 palette=15
VIDIOCGPICT brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0depth=12 palette=15
grabbing method default MMAP asked
VIDIOCGMBUF size 2457616 frames 2 offets[0]=0 offsets[1]=1228808
Waiting .... for connection. CTrl_c to stop !!!!
sur le poste client on va taper
spcaview -w 192.168.26.100:5000
192.168.26.100 étant l'adresse IP du serveur de diffusion et
5000 le port de diffusion, une fenêtre avec la vue de la webcam
va apparaître sur me PC client.
Voilà les traces de log du client (extrait).
Spcaview version: 1.1.8 date: 25:12:2007 (C) mxhaard@magic.frusing Server 192.168.26.100 Port 5000et celui du serveur
Got connection from 192.168.26.50
Pour diffuser avec
vlc, il sufft de taper du poste serveur
vlc -v --noaudio v4l:/dev/video0:size=320x240 --sout '#transcode{vcodec=mp4v,vb=128}:std{access=mmsh,dst=:1234}'
et du poste client pour recevoir il suffira de taper
vlc mmsh://serveurdiffusion:1234
1234 est le port de diffusion et
serveurdiffusion votre serveur de diffusion. Si ça ne marche pas avec le codec
mp4v vous pouvez essayer
mpgv.
Diffuser sur internet
Il existe
w3cam pour cela, le
site officiel est
http://mpx.freeshell.net/ . On décompresse l'archive en tapant
tar xvfz w3cam-0.7.2.tar.gz
Cela donne le répertoire
w3cam-0.7.2
dans lequel on tape
./configure
make
Puis en tant que root on doit d'abord créer le répertoire
suivant
mkdir /usr/local/cgi-bin
Puis on tape
make install
A présent on copie les fichiers sous
/usr/local/cgi-bin dans le
répertoire
cgi-bin d'
Apache comme ceci
cp -R /usr/local/cgi-bin/*
/usr/local/apache2/cgi-bin/
On s'assurera que le propriétaire du daemon apache (
httpd) puisse accéder au
périphérique vidéo
chmod 666 /dev/video0
Pour la configuration, reportez vous au fichier
/usr/local/apache2/cgi-bin/w3cam.cgi.scf
voici son contenu avec les paramètres qui fonctionnent chez moi
#SCFF/sh
# this is an example config file. if
it is not in the same
# directory as the CGI all compiled in
default values are used
#
# options which are used by the CGI
library
#
#background=#ffffff
#foreground=#000000
#source_url="http://home.pages.de/~rasca/w3cam/"
# uncomment the following to include a
CSS style sheet (url)
# default: none
#stylesheet="/~rasca/w3cam/w3cam.css"
#
# options for the w3cam program
# you override some default values in
the following
# uncomment thinks you want to change
at runtime
#
# when protected = 1 all form
parameters are ignored
protected=0
# the video4linux device
device = "/dev/video"
# image width and height
width=320
height=240
# color or grey JPEGs
# could also be used to define the
palette. possible values are
# yuv420p, yuv422p, grey, 1 (=color),
0 (= grey)
color=1
# refresh time in #.# seconds, "-1"
disables refreshing
# refreshing doesn't work if the cgi
is not embeded in a html page,
# so it is not a good idea to enable
refreshing at this point!
#refresh="-1"
# norm, 0=PAL, 1=NTSC, 2=SECAM
norm="0"
# input, 0=TV, 1=Composite1,
2=Composite2, 3=S-Video
input="1"
# format, 1=PPM, 2=JPEG, 3=PNG
format="2"
# jpeg quality: 1-100
quality="50"
# mode, 0=plain, 1=gui (build a
control panel in html)
mode="1"
# sleep micro seconds before
capturing, e.g. 500000 for half a second
#usleep="500000"
# define a frequenzy for the tuner,
'freq' must be in 1/16 MHz and
# only integers are allowed
#freq="9076"
# list of frequencies in gui mode
#freqlist="878;9076;9844;9460"
# for timestamps; all keywords are
only in the configuration
# file available..
# to enable time stamps as a minimum
"font" and "timestamp"
# must be defined.
#
#font =
/usr/local/X11/lib/ttfonts/arial.ttf
#font_size = 12
#
# for the timestamp format
string see the strftime(3) manpage
#timestamp = "Berlin,
%H:%M %d.%m.%Y"
#timestamp_border = 2
#
# blend value: 1 .. 100
#timestamp_blend = 60
# alignment: 0 = upper left
corner, 1 = upper right corner,
#
2 = lower left corner, 3 = lower right corner
#timestamp_align = 1
Pour accéder à la page diffusant la vidéo il
suffit maintenant de taper
http://www.votreserveur.toto/cgi-bin/w3cam.cgi
Voilà ce que ça donne
Vous disposez de certains boutons de commandes, pour les faire
disparaître dans le fichier de configuration il faudra mettre
protected à 1.
Détecter des mouvements
Le programme
motion permet de
détecter les mouvements devant la webcam et de sauvegarder des
snapshots ou des séquences vidéo de
l'événement, ces derniers peuvent être
visualisés en temps réel au travers d'un serveur apache.
Le site officiel est
http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome on y récupère l'archive qu'on décompresse en tapant
tar xvfz motion-3.2.12.tar.gz
cela donne le répertoire
motion-3.2.12
dans lequel on tape
./configure
Voilà le résultat
*******************************
Configure status
motion 3.2.12
*******************************
OS : Linux
pthread Support: Yes
jpeg Support: Yes
V4L included: Yes
V4L2 supported: Yes
FFmpeg Support: Yes
MYSQL Support: No
PostgreSQL Support: No
CFLAGS: -g -O2 -D_REENTRANT -DHAVE_FFMPEG -I/usr/local/include
-DFFMPEG_NEW_INCLUDES -DHAVE_FFMPEG_NEW -DMOTION_V4L2
-DTYPE_32BIT="int" -DHAVE_BSWAP
LIBS: -lm -lpthread -ljpeg -L/usr/local/lib -lavformat -lavcodec -lavutil -lm -lz
LDFLAGS: -L/usr/local/lib
Install prefix: /usr/local
A notez qu'il faut utiliser la version CVS de
ffmpeg pour que la compilation marche. La base de données n'est pas nécessaire, pour
ffmpeg voir la page
outils de base pour la
vidéo et pour
MySQL
la page correspondante. On tape maintenant
make
puis en tant que root
make install
A présent on va modifier le fichier de configuration, un fichier
de configuration
motion-dist.conf par
défaut a été créé sous
/usr/local/etc/ on le renomme
motion.conf j'ai à peine
modifier ces deux paramètres
target_dir
/usr/local/apache2/htdocs/webcam
process_id_file /var/run/motion.pid
La variable
target_dir pointe à l'endroit où seront stockés snapshots
et vidéos, je l'ai placé dans l'arborescence
Apache pour que les fichiers puissent
être visibles d'un navigateur.
On lance maintenant
motion, le propriétaire du process doit
pouvoir écrire dans le répertoire désigné
par
target_dir (évitez
root...). On lance l'application en tant que root en tapant
motion
Vous constaterez qu'en passant devant la webcam les images jpeg
s'accumulent sous
/usr/local/apache2/htdocs/webcam,
ça marche !!
La webcam est visible à l'URL
http://localhost:8081/
Maintenant à vous de vous
débrouiller pour rendre accessible les fichiers obtenus
d'internet si vous le souhaitez.
Pour que les fichiers acquis par la webcam n'explosent pas le disque
vous pouvez créer une tâche
cron qui à intervalle
régulier va supprimer les fichiers qui ont plus de 5 jours (par
exemple), voilà le contenu du fichier exécutable
nettoyage à rajouter
dans
/etc/cron.weekly
(exécution une fois par semaine)
#!/bin/bash
find /usr/local/apache2/htdocs/webcam -type f
-name "*.jpg" -mtime +5 -exec rm {} \;
pour tuer proprement le daemon il faudra taper
killall motion
Visio conférence
Gnomemeeting
Vous disposez de
gnomemeeting.
Pour l'installation, je me suis contenté de
urpmi gnomemeeting
Voilà le résultat
A vrai dire pour l'instant je n'ai pas
eu l'occasion de le tester "en vrai", mais ça viendra.
Skype
Skype n'est pas vraiment un outil de visio conférence, par
contre il est utile pour de l'audio conférence, il est multi
plateforme. Vous pouvez même appeler sur des
téléphones fixes (moyennant des espèces sonnantes
et trébuchantes).
aMSN
aMSN est un client MSN avec la
webcam qui marche très bien Le site officiel est
http://www.amsn-project.net/ on y récupère l'archive qu'on décompresse en tapant
tar xvfz amsn-0.98.9.tar.gz
Cela donne le répertoire
amsn-0.98.9, on installera au préalable les packages (sous ubuntu)
tcl8.4-dev
tk8.4-dev
libsnack2
sous mandriva cela donne les packages
lib64tcl-devellib64tk-develtcl-snack
lib64v4l-devel
vous aurez également besoin des bibliothèques pour la visio conférence présentées dans la page par
ici. Dans
amsn-0.98.9 on tape maintenant
./configure
comme il ne trouvait farstream j'ai du créer le lien suivant
ln -s /usr/local/lib/pkgconfig/farstream-0.2.pc /usr/local/lib/pkgconfig/farstream-0.1.pc
puis j'ai tapé
makepuis en tant que root
make install
pour la webcam, vous pouvez trouver quelques infos par ici
http://amsn.sourceforge.net/wiki/tiki-index.php?page=Webcam+In+aMSN pour le routeur/firewall il suffit d'ouvrir les ports 6800 à 7000 en TCP et UDP.
On lance
aMSN en tapant
amsn
voilà ce que ça donne quand je suis connecté
La première fois il va peut être vous dire qu'il manque le package
TLS pour assurer la connexion sécurisée
SSL, laisser le choix par défaut il va vous installer tout ça dans votre homedirectory (sous
~/.amsn/plugins).
Pour configurer la webcam vous allez sous
Compte->Préférences onglet
Autres, j'ai coché la case
utiliser la librairie Snack
En cliquant sur
Modifier les paramètres audio et vidéo on obtient
Cliquer maintenant sur
Suivant on obtient
on clique à nouveau sur
Suivant on obtient
puis
Avec l'extension farsight on a également cette fenêtre
A l'établissement d'une session, on vous demande d'accepter de recevoir et d'envoyer la webcam,
et c'est parti
Et voilà ce que ça donne pour une session avec webcam