Eye sur PC : Linux et VLC

Deuxième partie de mes manipulations de lancement de la caméra sur le PC mais sur Linux et plus précisement dans mon cas, Ubuntu 8.10 Intrepid Ibex. Contrairement à Windows XP, sur Ubuntu le même driver est utilisé quelque soit le modèle de caméra Eye Toy ce qui simplifie les recherches. Il existe un driver par défaut fourni avec la distribution mais il n’est pas compatible v4l ce qui limite son champ d’action.

Pour voir si votre caméra est déjà trouvée sur votre machine, lancez :

[bash]lsusb[/bash]

et si vous voyez une ligne du type …

« Bus 002 Device 002: ID 054c:0155 Sony Corp. »

… c’est gagné, vous pouvez passez à la suite.

La procédure d’installation est un peu longue, mais très bien expliquée donc, je ne vais pas copier-coller les explications, à vous de lire sur cette adresse :

http://www.rastageeks.org/ov51x-jpeg/index.php/Main_Page

Si vous êtes allergique à l’anglais, pour les ubuntiens, il existe la page de documentation française.

En gros, l’idée, c’est de désactiver le module ov511 d’origine qui n’est pas bon, et de mettre le module ov51x-jpeg pour que la caméra fonctionne correctement. La lecture du site « officiel » en dit plus sur le problème.  Le point important, c’est que pour tester la caméra, le site officiel conseille wxcam dont le paquet debian est disponible ici : paquet debian wxcam.

Si après l’installation de la caméra, cela fonctionne avec wxcam, alors cela marchera dans toutes les applications utilisant v4l dont vlc.

Sous VLC, il suffit d’ouvrir le périphérique vidéo (/dev/video ou /dev/videoX, X étant un numéro entier) sauf que rien ne s’affiche. Oui, car il faut préciser dans video input chroma format la mention « JPEG » et il faut fixer une taille de capture de la caméra, car elle ne le fait pas tout seul (640×480).

Pour simplifier utilisons la ligne de commande pour lancer la caméra dans VLC :

[bash]vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp1" :v4l-chroma="JPEG" :v4l-samplerate=44100 :v4l-width=640 :v4l-height=480[/bash]

Si en plus, on veut lancer ce flux en streaming sur l’ip 192.168.1.11:9101 alors, on fait :

[bash]vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp1" :v4l-chroma="JPEG" :v4l-samplerate=44100 :v4l-width=640 :v4l-height=480 –sout=’#transcode{vcodec=theo,vb=1000,scale=1,acodec=vorb,ab=128,channels=1}:duplicate{dst=std{access=http,mux=ogg,dst=192.168.1.11:9101}}’ –sout-keep[/bash]

Et comble du fin, on peut lancer le streaming sans l’interface VLC en utilisant cvlc à la place de vlc.

C’est dans la poche. La caméra est un peu plus floue que sous Windows XP, mais elle fonctionne très bien.