« Installer une webcam USB avec un noyau Linux 2.2 ou 2.4 » : différence entre les versions
m (Jiel a déplacé la page Les webcams vers Installer une webcam USB avec un noyau Linux 2.2 ou 2.4) |
|||
(9 versions intermédiaires par 5 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
= Installer une | [[Catégorie:Matériel image]] | ||
= Installer une webcam USB avec un noyau Linux 2.2 ou 2.4 = | |||
<div class="leatitre">Installer une WebCam USB</div><div class="leapar">par [mailto:tux.le.pengouin@free.fr Fred] et [mailto:dclatot@free.fr Dimitri]<div class="leadesc">Un certain nombre de WebCams sont maintenant | <div class="leatitre">Installer une WebCam USB</div><div class="leapar">par [mailto:tux.le.pengouin@free.fr Fred] et [mailto:dclatot@free.fr Dimitri]<div class="leadesc">Un certain nombre de WebCams sont maintenant prises en charge par Linux, voyons comment en faire fonctionner une.</div> | ||
---- | ---- | ||
Dans ce document, je vais expliquer comment installer une WebCam sous Linux, mais je ne parlerai que de celles ayant un | Dans ce document, je vais expliquer comment installer une WebCam sous Linux, mais je ne parlerai que de celles ayant un pilote en GPL. | ||
Il existe plusieurs types de WebCam prises en charge par Linux avec des pilotes GPL : | |||
* celles utilisant le modules '''uvcvideo''' (voir ci-dessous) | * celles utilisant le modules '''uvcvideo''' (voir ci-dessous) | ||
<div class="note">Grâce à Microsoft (une fois n'est pas coutume), l'installation d'une webcam sous Linux va devenir beaucoup plus simple. En effet, pour avoir le logo "Vista certified", une webcam doit respecter la norme USB Video (l'équivalent de USB Storage pour les clefs USB). A priori la grande majorité des nouvelles webcams | <div class="note">Grâce à Microsoft (une fois n'est pas coutume), l'installation d'une webcam sous Linux va devenir beaucoup plus simple. En effet, pour avoir le logo "Vista certified", une webcam doit respecter la norme USB Video (l'équivalent de USB Storage pour les clefs USB). A priori, ce sera le cas de la grande majorité des nouvelles webcams, un seul pilote sera donc nécessaire pour toutes. Ce pilote existe déjà, il se nomme '''uvcvideo''' ; on le trouve [http://linux-uvc.berlios.de à cette adresse]. | ||
Si votre webcam est reconnue par le | Si votre webcam est reconnue par le pilote, les lignes suivantes (à la référence de la webcam près) devraient apparaître si vous tapez <b>dmesg</b> : | ||
<div class="code"><pre>uvcvideo: Found UVC 1.00 device Philips SPC 1000NC Webcam (0471:0332) | <div class="code"><pre>uvcvideo: Found UVC 1.00 device Philips SPC 1000NC Webcam (0471:0332) | ||
usbcore: registered new driver uvcvideo | usbcore: registered new driver uvcvideo | ||
USB Video Class driver (v0.1.0)</pre></div> | USB Video Class driver (v0.1.0)</pre></div> | ||
Bien qu'elle soit reconnue, elle peut ne pas fonctionner, car le | Bien qu'elle soit reconnue, elle peut ne pas fonctionner, car le pilote est récent. C'est mon cas (Mandriva 2008.0). J'ai donc installé la dernière version comme expliqué [http://linux-uvc.berlios.de#download sur le site] : | ||
<div class="code"><pre>$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk | <div class="code"><pre>$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk | ||
$ cd trunk | $ cd trunk | ||
Ligne 20 : | Ligne 23 : | ||
<div class="code"># make install</div> | <div class="code"># make install</div> | ||
Enfin, je retire l'ancien | Enfin, je retire l'ancien pilote de la mémoire puis charge le nouveau par : | ||
<div class="code"><pre># rmmod uvcvideo | <div class="code"><pre># rmmod uvcvideo | ||
# modprobe uvcvideo</pre></div> | # modprobe uvcvideo</pre></div> | ||
Ligne 29 : | Ligne 32 : | ||
<div class="code">mplayer tv:// -tv driver=v4l2:device=/dev/video1:width=320:height=240:fps=25:outfmt=rgb24</div> | <div class="code">mplayer tv:// -tv driver=v4l2:device=/dev/video1:width=320:height=240:fps=25:outfmt=rgb24</div> | ||
Note : xawtv ne fonctionne pas avec ma webcam, car celle-ci produit une video au format MJPEG, non | Note : xawtv ne fonctionne pas avec ma webcam, car celle-ci produit une video au format MJPEG, non géré par xawtv. | ||
(mise à jour par [[Utilisateur:LeaJice|LeaJice]] 3 fév 2008 à 21:57 (CET)) | (mise à jour par [[Utilisateur:LeaJice|LeaJice]] 3 fév 2008 à 21:57 (CET)) | ||
Ligne 36 : | Ligne 39 : | ||
* celles utilisant le module '''CPiA''' ([http://webcam.sourceforge.net/ liste]), | * celles utilisant le module '''CPiA''' ([http://webcam.sourceforge.net/ liste]), | ||
* celles utilisant le modules '''OV511''' ([http://alpha.dyndns.org/ov511/cameras.html liste]), | * celles utilisant le modules '''OV511''' ([http://alpha.dyndns.org/ov511/cameras.html liste]), | ||
* de nombreuses webcams sont | * de nombreuses webcams sont prises en charge par le pilote '''spca5xx''' ([http://mxhaard.free.fr/spca5xx.html liste]). | ||
Après avoir consulté les listes retenez bien le nom du | Après avoir consulté les listes retenez bien le nom du pilote que vous devrez charger. | ||
* Les Webcam Philips (Vesta, ToUCam), dont le | * Les Webcam Philips (Vesta, ToUCam), dont le pilote est maintenant en GPL (sauf la partie, optionnelle, gérant la compression qui permet d'améliorer la fluidité). Voir la [http://www.smcc.demon.nl/webcam/ page de ce pilote], une [http://frlinux.net/?section=systeme&article=52 page sur l'installation de cette webcam sur FRLinux.net (en 2002)] et un article faisant [http://www.steletch.org/spip.php?article39#forum61 le point par rapport à la Mandriva 2007]. | ||
* la Quickcam Express de Logitech, de 2 manières : | * la Quickcam Express de Logitech, de 2 manières : | ||
** une application + module permettant de visionner la video (disponible [http://hotswap.in.tum.de/~acher/quickcam/quickcam.html ici]). La compilation des sources produit 2 fichiers : < | ** une application + module permettant de visionner la video (disponible [http://hotswap.in.tum.de/~acher/quickcam/quickcam.html ici]). La compilation des sources produit 2 fichiers : <b>quickcamex.o</b> (le module) et <b>quickcam</b> (le visionneur). Créez le périphérique par "<b>mknode /dev/quick c 180 80</b>", chargez le module : "<b>insmod ./quickcamex.o</b>" ; vous pouvez visionner la webcam avec <b>./quickcam</b> (et seulement ce logiciel). Pour faire des photos, utilisez un outil de capture d'écran. | ||
** un | ** un pilote "normal", i.e. compatible video4linux, disponible [http://qce-ga.sourceforge.net/ ici]. Ce pilote est livré en standard avec la Mandrake 8, il se nomme <b>mod_quickcam.o</b> et est chargé automatiquement au démarrage si la webcam est branchée. Si vous ne l'avez pas, récupérez-le tarball (cf lien précédent), décompressez-le ; un simple "<b>make</b>" le compilera, vous pouvez alors le copier dans <b>/lib/modules/2.x.y</b> pour l'installer. Pour le reste, remplacez '''ov511''' par '''mod_quickcam''' ci-dessous, car il s'utilise de la même manière. | ||
* depuis peu (02/2006) la Logitech Quickcam Messenger en utilisant [http://prdownloads.sourceforge.net/oss-drivers/qc-usb-messenger-1.1.tar.gz?download qc-usb-messenger-1.1.tar.gz]. L'installation est expliquée en suivant [http://sourceforge.net/project/shownotes.php?group_id=157095&release_id=390811 le lien]. | * depuis peu (02/2006) la Logitech Quickcam Messenger en utilisant [http://prdownloads.sourceforge.net/oss-drivers/qc-usb-messenger-1.1.tar.gz?download qc-usb-messenger-1.1.tar.gz]. L'installation est expliquée en suivant [http://sourceforge.net/project/shownotes.php?group_id=157095&release_id=390811 le lien]. | ||
* d'autres ? [mailto:taz98@altern.org envoyez-nous] vos expériences... | * d'autres ? [mailto:taz98@altern.org envoyez-nous] vos expériences... | ||
Dans la suite, la partie concernant les logiciels est commune à toutes les webcams, mais pour l'installation des | Dans la suite, la partie concernant les logiciels est commune à toutes les webcams, mais pour l'installation des pilotes, je ne vais parler que des WebCams utilisant ov511 car les deux WebCams que j'ai testées (une '''Trust Sp@ce cam 300 USB''' et une '''Creative Video Blaster Webcam 3 USB''') utilisent ce pilote.<br />[mailto:Pierre%20Yves<pierre-yves.b chez wanadoo.fr> Pierre-Yves] me signale que la procedure d'installation est presque identique pour les WebCams utilisant le pilote CPiA (lui il a une '''Mustek Vcam-300 USB''') : il suffit de changer (presque partout cela suffit) : ov511 par cpia.<br /><br /><br /><u>Prérequis</u> : Vous devez avoir installé un noyau prenant en charge l'USB (c'est le cas du noyau des Mandrake 7.2, SuSE 7.0, RedHat 7.0 et sans doute de toutes les dernières versions des grandes distributions) : | ||
* soit un noyau 2.2.14 et plus avec le patch USB, voir [/hardware/usbscan.php3#compil_noyau cet article]. | * soit un noyau 2.2.14 et plus avec le patch USB, voir [/hardware/usbscan.php3#compil_noyau cet article]. | ||
Ligne 56 : | Ligne 59 : | ||
Si vous utilisez une distribution récente tout est déjà configuré correctement dans votre noyau, vous pouvez passer à la [#installation_driver suite]. Sinon nous allons devoir recompiler le noyau. | Si vous utilisez une distribution récente tout est déjà configuré correctement dans votre noyau, vous pouvez passer à la [#installation_driver suite]. Sinon nous allons devoir recompiler le noyau. | ||
Pour cela, [/kernel/kernel.php3 voyez cet article]. Le mieux est d'utiliser un noyau 2.4.2 (dernière version à la date de rédaction de cet article) : il contient forcement les dernières versions des | Pour cela, [/kernel/kernel.php3 voyez cet article]. Le mieux est d'utiliser un noyau 2.4.2 (dernière version à la date de rédaction de cet article) : il contient forcement les dernières versions des pilotes mais vous pouvez toujours télécharger celles-ci sur les sites : [http://alpha.dyndns.org/ov511 OV511 : http://alpha.dyndns.org/ov511] ou [http://webcam.sourceforge.net/ CPiA : http://webcam.sourceforge.net]. Pour compiler les pilotes, vous devez, dans la rubrique <b>USB Support</b> activer en tant que modules les options suivantes (au moins) : | ||
# < | # <b>USB support</b> : ça coule de source. | ||
# < | # <b>Preliminary USB device filesystem</b> : ça ne coute rien et ça pourra vous servir (à reconnaitre un périphérique, et c.). | ||
# < | # <b>L'un des pilote suivant : UHCI (Intel PIIX4, VIA, ...)</b> (module : '''uhci.o''') ou <b>UHCI Alternate Driver (JE)</b> (module : '''uhci.o''') ou <b>OHCI (Compaq, iMac, OPTi, SiS, ALi)</b> (module : '''ohci.o''') : suivant votre carte mère (regardez l'aide), c'est le pilote des ports USB de votre ordinateur (si vous devez charger un pilote uhci, préférez <b>UHCI Alternate Driver (JE)</b> sauf s'il plante votre ordinateur : il est parait-il plus performant). | ||
et soit : | et soit : | ||
* vous activez (dans la même catégorie) < | * vous activez (dans la même catégorie) <b>USB OV511 Camera</b> : si votre WebCam doit utiliser un pilote '''OV511''' | ||
* dans la catégorie < | * dans la catégorie <b>Multimedia devices</b>, sous catégorie <b>Video For Linux</b> : vous activez <b>CPiA Video For Linux</b> et <b>CPiA USB Lowlevel</b> dans le cas ou votre WebCam utilise un pilote '''CPiA'''. | ||
Enfin vous compilez et installez ce nouveau noyau. Un petit reboot et tout ce passera bien. | Enfin vous compilez et installez ce nouveau noyau. Un petit reboot et tout ce passera bien. | ||
== Installation et configuration des | == Installation et configuration des pilotes == | ||
Si l'USB, n'est pas pris en charge par votre distribution il faut maintenant charger le | Si l'USB, n'est pas pris en charge par votre distribution il faut maintenant charger le pilote USB de votre carte mère, c'est soit : '''ohci''' soit : '''uhci'''. Tapez : | ||
{| width="90%" bgcolor="#fcfcd8e" | {| width="90%" bgcolor="#fcfcd8e" | ||
| < | | <b>modprobe usbcore</b> (sans doute inutile)<b><br />modprobe ohci</b> ou <b>modprobe uhci</b> (inutile si votre ditribution prend en charge l'USB)<b><br />modprobe videodev</b> (sans doute inutile)<b><br />modprobe ov511</b> ou <b>modprobe cpia<br /></b> | ||
|} | |} | ||
Ligne 82 : | Ligne 85 : | ||
* si vous n'avez qu'un seul périphérique video, vous pouvez ajouter en fin du fichier /etc/modules.conf (parfois aussi nommé /etc/conf.modules) la ligne : | * si vous n'avez qu'un seul périphérique video, vous pouvez ajouter en fin du fichier /etc/modules.conf (parfois aussi nommé /etc/conf.modules) la ligne : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| < | | <b>alias char-major-81 ov511 </b> | ||
|} | |} | ||
ou | ou | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| height="17" | < | | height="17" | <b>alias char-major-81 cpia </b> | ||
|} | |} | ||
ce qui demande au chargeur de modules de charger ov511 (ou cpia) si l'on accède à un périphérique dont le numéro de majeur est 81 (ie: un /dev/video). | ce qui demande au chargeur de modules de charger ov511 (ou cpia) si l'on accède à un périphérique dont le numéro de majeur est 81 (ie: un /dev/video). | ||
Ligne 97 : | Ligne 100 : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| < | | <b>[root@duron]# tail -n 5 /var/log/messages<br />Mar 8 13:55:50 duron kernel: usb.c: registered new driver ov511<br />'''Mar 8 13:55:50 duron kernel: ov511.c: USB OV511+ camera found'''<br />Mar 8 13:55:50 duron kernel: ov511.c: camera: Creative Labs WebCam 3<br />Mar 8 13:55:50 duron kernel: ov511.c: Sensor is an OV7620<br />Mar 8 13:55:50 duron kernel: ov511.c: ov511 driver version 1.34 registered </b> | ||
|} | |} | ||
Si vous voyez une ligne du type de celle en gras c'est que votre WebCam est reconnue, sinon c'est que quelque chose manque ou que votre WebCam n'est pas | Si vous voyez une ligne du type de celle en gras c'est que votre WebCam est reconnue, sinon c'est que quelque chose manque ou que votre WebCam n'est pas prise en charge par ce module (essayez l'autre, vérifiez dans les listes de matériels pris en charge). | ||
'''Note(2) : '''Pour les WebCams OV511, si vous avez plusieurs WebCams OV511, il en faut préciser le nombre sur la ligne de commande, si vous avez 2 WebCams : | '''Note(2) : '''Pour les WebCams OV511, si vous avez plusieurs WebCams OV511, il en faut préciser le nombre sur la ligne de commande, si vous avez 2 WebCams : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| < | | <b>[root@duron]# modprobe ov511 cams=2</b> | ||
|} | |} | ||
La première WebCam détectée sera < | La première WebCam détectée sera <b>/dev/video0</b> la seconde <b>/dev/video1</b> et c. | ||
'''Note(3) : '''Il est possible (non testé) de charger en meme temps un | '''Note(3) : '''Il est possible (non testé) de charger en meme temps un pilote ov511, cpia et bttv chacun des périphériques détectés sera accessible via un /dev/video''xx'' | ||
</blockquote> | </blockquote> | ||
Ligne 125 : | Ligne 128 : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| < | | <b>tar xzf w3cam-0.6.6.tar.gz<br />cd w3cam<br />./configure<br />make<br />make install </b> | ||
|} | |} | ||
Ligne 133 : | Ligne 136 : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| < | | <b>vidcat -d /dev/video0 -s 320x240 -f jpeg > ~/essai.jpeg</b> | ||
|} | |} | ||
Ligne 143 : | Ligne 146 : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| < | | <b>cp -R /usr/local/cgi-bin/* /var/www/cgi-bin</b> | ||
|} | |} | ||
Ligne 150 : | Ligne 153 : | ||
{| width="90%" bgcolor="#fcfcd8" | {| width="90%" bgcolor="#fcfcd8" | ||
| | | | ||
< | <b><nowiki># SCFF/sh </nowiki><br /> # Ce fichier doit se trouver dans le même répertoire <br /> # que w3cam.cgi <br /> # Décommentez et renseignez les <br /> # lignes suivantes si vous souhaitez <br /> # modifier les couleurs de fond et <br /> # celles d'avant plan <br /> # background=#ffffff <br /> # foreground=#000000 <br /><br /> # Ce paramètre existe mais je <br /> # ne sait pas à quoi il sert <br /> # source_url="http://home.pages.de/~rasca/w3cam/" <br /><br /> # Si vous souhaitez utiliser une feuille de style <br /> # décomentez la ligne suivantes <br /> # stylesheet="/~rasca/w3cam/w3cam.css" <br /><br /> # mettre protected à 1 permet d'éviter <br /> # de prendre en compte les champs du formulaire<br /><br />protected=0 <br /><br /> # mettez ici votre périphérique video <br /><br />device = "/dev/video" <br /><br /> # taille d'image en provenance de la WebCam (ou la carte TV) <br /><br />width=320<br /> height=240 <br /><br /> # pour avoir de jpeg en couleurs (0 : noir et blanc) color=1 <br /> # temps à attendre entre deux images <br /><br />refresh="0.1" <br /><br /> # norm, 0=PAL, 1=NTSC, 2=SECAM <br /> # utile uniquement avec une carte TV #norm="0" <br /> # input, 0=TV, 1=Composite1, 2=Composite2, 3=S-Video <br /><br /> input="1" # avec une WebCam (évite les bouton unutiles avec une WebCam)<br /><br /> # format, 1=PPM, 2=JPEG, 3=PNG <br /><br />format="2" <br /><br /> # qualité des jpeg : 1-100<br /><br /> quality="50" <br /><br /> # mode, 0=plain, 1=gui (pour avoir un control sur w3cam) <br /><br />mode="1" <br /><br /> # attendre 0,5 secondes avant de commencer la capture <br /> # (ie : 500000 microsecondes) <br /> # usleep="500000" <br /> # fréquence du tunner en 1/16 MHz <br /> # uniquement pour les carte TV <br /> # freq="9076" <br /> # liste des fréquences <br /> # freqlist="878;9076;9844;9460" <br /> # Pour mettre l'heures sur les images de votre WebCam <br /> # les mots clefs ne sont utilisables que dans ce fichier <br /> # vous '''devez''' renseigner les champ "font" et "timestamp" <br /> # <br /> # font = /usr/local/X11/lib/ttfonts/arial.ttf <br /> # font_size = 12 <br /> # <br /> # Pour la chaine de format de l'heure voir la manpage : strftime(3)<br /> # timestamp = "Berlin, %H:%M %d.%m.%Y" <br /> # timestamp_border = 2 <br /> # <br /> # blend value: 1 .. 100 <br /> # timestamp_blend = 60 <br /> # alignment: 0 = upper left corner, 1 = upper right corner, <br /> # 2 = lower left corner, 3 = lower right corner <br /> # timestamp_align = 1 </b> | ||
|} | |} | ||
<br /> Puis lancez votre navigateur web préféré (je crois que cela ne fonctionne pas avec MS IE mais je n'ai pas pu essayer...) et tapez l'url suivante : http://localhost/cgi-bin/w3cam.cgi : ça y est ça bouge ! | <br /> Puis lancez votre navigateur web préféré (je crois que cela ne fonctionne pas avec MS IE mais je n'ai pas pu essayer...) et tapez l'url suivante : http://localhost/cgi-bin/w3cam.cgi : ça y est ça bouge ! | ||
Pour acceder à votre webcam depuis le net il suffit, dans l'adresse ci-dessus, de remplacer localhost par votre ip (que l'on peut obtenir en faisant ifconfig ppp0 si l'on est connecté via pppd) et c'est tout. '''Note : '''Si l'image que vous voyez semble provenir de Canal+ sans décodeur, c'est souvant que vous demandez une capture dans une résolution qui n'est pas | Pour acceder à votre webcam depuis le net il suffit, dans l'adresse ci-dessus, de remplacer localhost par votre ip (que l'on peut obtenir en faisant ifconfig ppp0 si l'on est connecté via pppd) et c'est tout. '''Note : '''Si l'image que vous voyez semble provenir de Canal+ sans décodeur, c'est souvant que vous demandez une capture dans une résolution qui n'est pas prise en charge soit par le pilote soit par la WebCam. | ||
== Motion == | == Motion == | ||
Ligne 170 : | Ligne 173 : | ||
{| width="90%" bgcolor="#FCFCD8" | {| width="90%" bgcolor="#FCFCD8" | ||
| < | | <b>$ tar zxvf motion-2.X.X.tar.gz</b><br /><b>$ cd motion-2.X.X</b><br /><b>$ ./configure ''(ajoutez ici : ''--prefix=/usr</b>'' si vous voulez l'installer dans /usr et pas /usr/local comme c'est le cas par défaut)''<br /><b>$ make</b><br /><b>$ su</b><br /><b>Password: xxxxxxx</b><br /><b><nowiki># make install </nowiki></b> | ||
|} | |} | ||
Ligne 180 : | Ligne 183 : | ||
{| width="90%" bgcolor="#FCFCD8" | {| width="90%" bgcolor="#FCFCD8" | ||
| < | | <b>[dimitri@micro quickcam]$/usr/local/bin/motion</b> | ||
|} | |} | ||
Ligne 186 : | Ligne 189 : | ||
{| width="90%" bgcolor="#FCFCD8" | {| width="90%" bgcolor="#FCFCD8" | ||
| < | | <b>[dimitri@micro quickcam]$ ls -a 2001/05/26/09/57/</b><br /><b>./ ../ 36-00.jpg 36-01.jpg 36-02.jpg</b> | ||
|} | |} | ||
Ligne 194 : | Ligne 197 : | ||
{| width="90%" bgcolor="#FCFCD8" | {| width="90%" bgcolor="#FCFCD8" | ||
| < | | <b>[dimitri@micro quickcam]$ motion -D -p</b> | ||
|} | |} | ||
Ligne 214 : | Ligne 217 : | ||
* [http://www.pangea.org/~mavilar/qseeme/qseeme.html Q-SeeMe] : programme de video conférence utilisant le protocol CU-See-Me. | * [http://www.pangea.org/~mavilar/qseeme/qseeme.html Q-SeeMe] : programme de video conférence utilisant le protocol CU-See-Me. | ||
* [http://www.ekiga.org ekiga] : au départ c'est un clone de NetMeeting, mais c'est maintenant un softphone complet utilisant les protocoles sip et h263. | * [http://www.ekiga.org ekiga] : au départ c'est un clone de NetMeeting, mais c'est maintenant un softphone complet utilisant les protocoles sip et h263. | ||
<br/> | |||
<br/> | |||
'''<b>[[Hardware-index|@ Retour à la rubrique Matériel]]</b>''' | |||
<div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud.</div> | <div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud.</div> | ||
{{Copy|2004|[[Utilisateur:Fred|Fred]], Dimitri Clatot|CC-BY-SA}} | {{Copy|2004|[[Utilisateur:Fred|Fred]], Dimitri Clatot|CC-BY-SA}} |
Dernière version du 27 décembre 2018 à 15:07
Installer une webcam USB avec un noyau Linux 2.2 ou 2.4
Dans ce document, je vais expliquer comment installer une WebCam sous Linux, mais je ne parlerai que de celles ayant un pilote en GPL.
Il existe plusieurs types de WebCam prises en charge par Linux avec des pilotes GPL :
- celles utilisant le modules uvcvideo (voir ci-dessous)
Si votre webcam est reconnue par le pilote, les lignes suivantes (à la référence de la webcam près) devraient apparaître si vous tapez dmesg :
uvcvideo: Found UVC 1.00 device Philips SPC 1000NC Webcam (0471:0332) usbcore: registered new driver uvcvideo USB Video Class driver (v0.1.0)
Bien qu'elle soit reconnue, elle peut ne pas fonctionner, car le pilote est récent. C'est mon cas (Mandriva 2008.0). J'ai donc installé la dernière version comme expliqué sur le site :
$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk $ cd trunk $ make
puis en tant que root :
Enfin, je retire l'ancien pilote de la mémoire puis charge le nouveau par :
# rmmod uvcvideo # modprobe uvcvideo
Et voilà, vous pouvez essayer les logiciels video, en commençant par luvcview (à compiler soi-même), ou mplayer par la commande :
ou en spécifiant plus d'options, comme par exemple :
Note : xawtv ne fonctionne pas avec ma webcam, car celle-ci produit une video au format MJPEG, non géré par xawtv.
(mise à jour par LeaJice 3 fév 2008 à 21:57 (CET))
- celles utilisant le module CPiA (liste),
- celles utilisant le modules OV511 (liste),
- de nombreuses webcams sont prises en charge par le pilote spca5xx (liste).
Après avoir consulté les listes retenez bien le nom du pilote que vous devrez charger.
- Les Webcam Philips (Vesta, ToUCam), dont le pilote est maintenant en GPL (sauf la partie, optionnelle, gérant la compression qui permet d'améliorer la fluidité). Voir la page de ce pilote, une page sur l'installation de cette webcam sur FRLinux.net (en 2002) et un article faisant le point par rapport à la Mandriva 2007.
- la Quickcam Express de Logitech, de 2 manières :
- une application + module permettant de visionner la video (disponible ici). La compilation des sources produit 2 fichiers : quickcamex.o (le module) et quickcam (le visionneur). Créez le périphérique par "mknode /dev/quick c 180 80", chargez le module : "insmod ./quickcamex.o" ; vous pouvez visionner la webcam avec ./quickcam (et seulement ce logiciel). Pour faire des photos, utilisez un outil de capture d'écran.
- un pilote "normal", i.e. compatible video4linux, disponible ici. Ce pilote est livré en standard avec la Mandrake 8, il se nomme mod_quickcam.o et est chargé automatiquement au démarrage si la webcam est branchée. Si vous ne l'avez pas, récupérez-le tarball (cf lien précédent), décompressez-le ; un simple "make" le compilera, vous pouvez alors le copier dans /lib/modules/2.x.y pour l'installer. Pour le reste, remplacez ov511 par mod_quickcam ci-dessous, car il s'utilise de la même manière.
- depuis peu (02/2006) la Logitech Quickcam Messenger en utilisant qc-usb-messenger-1.1.tar.gz. L'installation est expliquée en suivant le lien.
- d'autres ? envoyez-nous vos expériences...
Dans la suite, la partie concernant les logiciels est commune à toutes les webcams, mais pour l'installation des pilotes, je ne vais parler que des WebCams utilisant ov511 car les deux WebCams que j'ai testées (une Trust Sp@ce cam 300 USB et une Creative Video Blaster Webcam 3 USB) utilisent ce pilote.
<pierre-yves.b chez wanadoo.fr> Pierre-Yves me signale que la procedure d'installation est presque identique pour les WebCams utilisant le pilote CPiA (lui il a une Mustek Vcam-300 USB) : il suffit de changer (presque partout cela suffit) : ov511 par cpia.
Prérequis : Vous devez avoir installé un noyau prenant en charge l'USB (c'est le cas du noyau des Mandrake 7.2, SuSE 7.0, RedHat 7.0 et sans doute de toutes les dernières versions des grandes distributions) :
- soit un noyau 2.2.14 et plus avec le patch USB, voir [/hardware/usbscan.php3#compil_noyau cet article].
- soit un noyau 2.4.x, voir [/kernel/kernel24.php3 cet article].
Installation et configuration du noyau
Si vous utilisez une distribution récente tout est déjà configuré correctement dans votre noyau, vous pouvez passer à la [#installation_driver suite]. Sinon nous allons devoir recompiler le noyau.
Pour cela, [/kernel/kernel.php3 voyez cet article]. Le mieux est d'utiliser un noyau 2.4.2 (dernière version à la date de rédaction de cet article) : il contient forcement les dernières versions des pilotes mais vous pouvez toujours télécharger celles-ci sur les sites : OV511 : http://alpha.dyndns.org/ov511 ou CPiA : http://webcam.sourceforge.net. Pour compiler les pilotes, vous devez, dans la rubrique USB Support activer en tant que modules les options suivantes (au moins) :
- USB support : ça coule de source.
- Preliminary USB device filesystem : ça ne coute rien et ça pourra vous servir (à reconnaitre un périphérique, et c.).
- L'un des pilote suivant : UHCI (Intel PIIX4, VIA, ...) (module : uhci.o) ou UHCI Alternate Driver (JE) (module : uhci.o) ou OHCI (Compaq, iMac, OPTi, SiS, ALi) (module : ohci.o) : suivant votre carte mère (regardez l'aide), c'est le pilote des ports USB de votre ordinateur (si vous devez charger un pilote uhci, préférez UHCI Alternate Driver (JE) sauf s'il plante votre ordinateur : il est parait-il plus performant).
et soit :
- vous activez (dans la même catégorie) USB OV511 Camera : si votre WebCam doit utiliser un pilote OV511
- dans la catégorie Multimedia devices, sous catégorie Video For Linux : vous activez CPiA Video For Linux et CPiA USB Lowlevel dans le cas ou votre WebCam utilise un pilote CPiA.
Enfin vous compilez et installez ce nouveau noyau. Un petit reboot et tout ce passera bien.
Installation et configuration des pilotes
Si l'USB, n'est pas pris en charge par votre distribution il faut maintenant charger le pilote USB de votre carte mère, c'est soit : ohci soit : uhci. Tapez :
modprobe usbcore (sans doute inutile) modprobe ohci ou modprobe uhci (inutile si votre ditribution prend en charge l'USB) modprobe videodev (sans doute inutile) modprobe ov511 ou modprobe cpia |
Pour automatiser ce chargement au démarage de votre machine, il y a deux solutions envisageables :
- vous insésez les lignes précédantes dans un script lancé au démarage de votre machine (exemple : à la fin de /etc/rc.d/rc.local)
- si vous n'avez qu'un seul périphérique video, vous pouvez ajouter en fin du fichier /etc/modules.conf (parfois aussi nommé /etc/conf.modules) la ligne :
alias char-major-81 ov511 |
ou
alias char-major-81 cpia |
ce qui demande au chargeur de modules de charger ov511 (ou cpia) si l'on accède à un périphérique dont le numéro de majeur est 81 (ie: un /dev/video).
A ce stade votre WebCam est prise en charge par le noyau, mais il reste à se procurer de quoi visualiser les videos en provenance de celle-ci.
Note(1) : Pour les WebCams OV511, vérifiez que votre WebCam est correctement détectée, tapez :
[root@duron]# tail -n 5 /var/log/messages
Mar 8 13:55:50 duron kernel: usb.c: registered new driver ov511
Mar 8 13:55:50 duron kernel: ov511.c: USB OV511+ camera found
Mar 8 13:55:50 duron kernel: ov511.c: camera: Creative Labs WebCam 3
Mar 8 13:55:50 duron kernel: ov511.c: Sensor is an OV7620
Mar 8 13:55:50 duron kernel: ov511.c: ov511 driver version 1.34 registeredSi vous voyez une ligne du type de celle en gras c'est que votre WebCam est reconnue, sinon c'est que quelque chose manque ou que votre WebCam n'est pas prise en charge par ce module (essayez l'autre, vérifiez dans les listes de matériels pris en charge).
Note(2) : Pour les WebCams OV511, si vous avez plusieurs WebCams OV511, il en faut préciser le nombre sur la ligne de commande, si vous avez 2 WebCams :
[root@duron]# modprobe ov511 cams=2 La première WebCam détectée sera /dev/video0 la seconde /dev/video1 et c.
Note(3) : Il est possible (non testé) de charger en meme temps un pilote ov511, cpia et bttv chacun des périphériques détectés sera accessible via un /dev/videoxx
W3Cam
W3Cam est un programme qui permet de diffuser à la demande les images sur votre serveur WEB (vous devez avoir installé Apache (par exemple) pour pouvoir l'utiliser). Mais le paquetage W3Cam permet aussi de tester rapidement sa WebCam car il contient le programme (fonctionnant en ligne de commande) : vidcat qui lui ne nécessite pas d'installer Apache.
Compilation et installation
Comme toujours on peut récupérer un paquetage précompilé pour sa distribution, mais je préfère compiler moi même ce type de programme : je n'expliquerais pas comment faire, mais vous pouvez le faire en allant sur rpmfind.net par exemple. Nous allons récupérer les sources là : http://www.hdk-berlin.de/~rasca/w3cam/
Puis on décompresse le tout et on compile :
tar xzf w3cam-0.6.6.tar.gz cd w3cam ./configure make make install |
Maintenant tout est installé dans /usr/local/bin et /usr/local/cgi-bin, n'oubliez pas d'ajouter /usr/local/bin à votre PATH.
Faisons un petit test :
vidcat -d /dev/video0 -s 320x240 -f jpeg > ~/essai.jpeg |
Essayer de regarder le fichier ~/essai.jpeg. S'il est un peut sombre, c'est que les réglages automatiques n'ont pas pu se faire à la première prise de vue, essayez d'en faire d'autre : l'image s'éclaircie petit à petit. Ça y est votre WebCaebc fonctionne sous Linux !
Votre tête sur le Web !
Vous avez acheté une webcam, ce n'est certainement pas pour prendre des photos... Une première solution : mettez votre tête animée sur le Web. Pour cela vous devez avoir installé Apache sur votre machine. Puis copiez le contenu de /usr/local/cgi-bin vers le répertoire des cgi d'apache (sur la Mandrake 7.2 c'est /var/www/cgi-bin, sur la 7.0 c'est /home/httpd/cgi-bin) :
cp -R /usr/local/cgi-bin/* /var/www/cgi-bin |
Puis, éditez le fichier : /var/www/cgi-bin/w3cam.cgi.scf. Ci-après vous trouverez le mien :
# SCFF/sh |
Puis lancez votre navigateur web préféré (je crois que cela ne fonctionne pas avec MS IE mais je n'ai pas pu essayer...) et tapez l'url suivante : http://localhost/cgi-bin/w3cam.cgi : ça y est ça bouge !
Pour acceder à votre webcam depuis le net il suffit, dans l'adresse ci-dessus, de remplacer localhost par votre ip (que l'on peut obtenir en faisant ifconfig ppp0 si l'on est connecté via pppd) et c'est tout. Note : Si l'image que vous voyez semble provenir de Canal+ sans décodeur, c'est souvant que vous demandez une capture dans une résolution qui n'est pas prise en charge soit par le pilote soit par la WebCam.
Motion
partie écrite par : Dimitri.
Vous suspectez des fantômes de venir hanter votre maison en votre absence sans jamais les avoir vus et bien voici ce qu'il vous faut. Motion permet de détecter les mouvements faits devant votre webcam et de les enregistrer. Plus d'infos:
http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome
Compilation et installation
L'auteur propose le rpm compilé ou les sources que l'on peut trouver ici: http://motion.technolust.cx/download/. Voici comment installer les sources :
$ tar zxvf motion-2.X.X.tar.gz $ cd motion-2.X.X $ ./configure (ajoutez ici : --prefix=/usr si vous voulez l'installer dans /usr et pas /usr/local comme c'est le cas par défaut) $ make $ su Password: xxxxxxx # make install |
Big Brother is watching You
motion s'installe par défaut dans /usr/local/bin
Pour tester le fonctionnement avec votre webcam, lancer:
[dimitri@micro quickcam]$/usr/local/bin/motion |
Motion crée à partir du répertoire où vous avez lancé l'exécutable (ici quickcam), une arborescence avec l'année, le mois, le jour, l'heure et la minute de l'enregistrement. A l'intérieur du dernier sous-répertoire on trouve les images jpeg datées avec en encadré les changements détectés. Exemples sur le site de Motion.
[dimitri@micro quickcam]$ ls -a 2001/05/26/09/57/ ./ ../ 36-00.jpg 36-01.jpg 36-02.jpg |
Maintenant que vous avez vu que tout fonctionne, vous allez pouvoir le paramétrer plus finement. Pour cela, vous avez 2 possibilités, par la ligne de commande (man motion) ou par un fichier de configuration 'motion.conf' à placer dans le même répertoire à partir duquel vous exécutez motion.
Exemple: Exécute motion sous forme de démon avec des images en ppm
[dimitri@micro quickcam]$ motion -D -p |
Vous trouverez un exemple de fichier de configuration dans le répertoire /usr/local/examples/motion-2.X.X .
Motion offre beaucoup de possibilités de configuration, comme stocker les évènements dans une base MySQL, vous envoyer des mails ou SMS pour vous prévenir, ou faire une vidéo des images capturées.
D'autres programmes
Ici, je vais mettre une liste de programmes qui peuvent utiliser votre WebCam.
- Xawtv : prévu pour regarder la TV avec Linux, ce programme fonctionne aussi parfois avec les WebCams (par exemple ça marche avec ma Trust Space Cam 300 mais pas avec ma Creative WebCam 3 !).
- vic : programme de video conférence sous Linux (existe sur la plupart des plateformes : Windows, Solaris, Mac, et...), sont fonctionnement n'est pas forcément évident mais il donne de bon résulat.
- ophone : programme de visiophone (non testé : un testeur ?).
- camstream : un bon remplacement pour XawTV (fonctionne avec toutes mes WebCams, mais c'est moins fluide).
- hasciicam : utiliser votre WebCam dans un terminal en ASCII (ça marche! et on se reconnait!)
- FreeWebFone : le nom parle tout seul (Dimitri : "J'ai testé le programme FreeWebFone sous Linux avec un ami qui était lui sous windows. Dans les 2 versions de ce produit, le processeur est pris à 100% lors de son utilisation, néanmoins l'application ne nécessite aucun réglage particulier et ne fonctionne pas trop mal.").
- qVix : <pierre-yves.b@wanadoo.fr> Pierre-Yves l'a testé mais n'a pas réussi à le faire fonctionner, moi non plus : peut-être faut-il attendre une meilleur version.
- Q-SeeMe : programme de video conférence utilisant le protocol CU-See-Me.
- ekiga : au départ c'est un clone de NetMeeting, mais c'est maintenant un softphone complet utilisant les protocoles sip et h263.
@ Retour à la rubrique Matériel
Copyright
© 2004 Fred, Dimitri Clatot
![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |