[ Présentation | Installation du driver | Utilitaires | Streaming vidéo | Diffuser sur internet | Détecter les mouvements | Visio conférence ( gnomemeeting , skype, aMSN  )]

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.



[retour haut de la page]

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  0
gspca_main             22108  1 gspca_zc3xx
videodev               40320  7 tuner,msp3400,saa7127,saa7115,gspca_main,ivtv,v4l2_common
usbcore               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-1mnb

j'installe donc le package

urpmi kernel-laptop-devel-2.6.24.4-1mnb

on 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.00
Aug 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 JPEG
Aug 17 11:40:18 toshiba kernel: /usr/local/linux/multimedia/gspcav1-20071224/Vimicro/zc3xx.h: [zc3xx_config:591]  Sensor OV7620
Aug 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 120
Aug 17 11:40:18 toshiba kernel: usbcore: registered new interface driver gspca
Aug 17 11:40:18 toshiba kernel: /usr/local/linux/multimedia/gspcav1-20071224/gspca_core.c: gspca driver 01.00.20 registered
Aug 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

[retour haut de la page]

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

[retour haut de la page]

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.fr
video /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.fr
using Server 192.168.26.100 Port 5000

et 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.



[retour haut de la page]

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.

[retour haut de la page]

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


[retour haut de la page]

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.

[retour haut de la page]

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).
Le site officiel est http://www.skype.com/intl/fr/get-skype/on-your-computer/linux/ on y récupèrera des packages ubuntu 64 bits qu'on peut facilemet transformer en rpm.


[retour haut de la page]

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-devel
lib64tk-devel
tcl-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é

make

puis 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


 
[Retour page d'accueil FUNIX] [retour haut de la page ]