Table des matières

, ,

Faire fonctionner sa webcam en V4L

Avec l'arrivée du nouveau noyau dans Ubuntu 8.10 et supérieur, certaines Webcam ne fonctionnent plus. Souvent la raison pour laquelle ces logiciels ne fonctionnent plus est liée au fait que le nouveau kernel utilise par défaut V4L2, et que ces logiciels veulent utiliser V4L1.

Heureusement, un correctif existe.

Installation

Version simple

Rechercher le chemin par défaut de v4l1compat.so avec, par exemple, la commande

locate v4l1compat.so

Sur Jaunty Jackalope la bibliothèque se trouve dans

/usr/lib/libv4l/v4l1compat.so

Version évoluée (avec compilation)

On se place dans un répertoire de travail, qu'on crée pour l'occasion:

mkdir webcam
cd webcam

On télécharge les sources:

wget http://people.atrpms.net/~hdegoede/libv4l-0.5.9.tar.gz

on extrait le tout, en rendant exécutable:

tar -xzvf libv4l-0.5.9.tar.gz

on se déplace dans le nouveau répertoire

cd libv4l-0.5.9

et on installe le tout :

sudo make install
export LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so

Voilà c'est installé.

Utilisation

Version simple

Il vous suffit maintenant de remplacer dans vos lanceurs la commande,prenons Skype comme exemple, “skype” par la commande “LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype”

Pour ce faire: Clic droit sur “Applications”, on choisi “Editer les menus”, puis on va dans “Internet”, “Skype”, et on clique sur propriété.

Dans la ligne commande, on met la commande suivante:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Et c'est déjà fini!

Vous pouvez procéder de cette manière pour tout les autre logiciels de communication, pour amsn, il suffit de remplacer “skype” par “amsn”

Avec Natty Narwhal et une webcam Logitech, seule la commande suivante dans le lanceur fonctionne:

Exec=env LD_PRELOAD=/usr/local/lib/libv4l/v4l2convert.so skype

Version avec script (ancien)

Commande et script

Basiquement, il faut lancer la commande:

export LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so

Avant de lancer votre logiciel.

C'est un peu fastidieux, donc on va créer un script. Dans cet exemple, nous allons prendre Skype, et placer le script dans “/usr/local/bin/skype-wc” (pasque j'en ai ch*** pour trouver une solution). Vous pouvez bien entendu le placer ailleurs, ou remplacer “skype” par “amsn” ou autre.

création du script:

en console:

sudo gedit

on met dans le fichier:

## lancer skype avec la webcam
#!/bin/bash
export LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so
skype

Et en enregistre sous “/usr/local/bin/skype-wc”

on rend le tout executable:

sudo chmod +x '/usr/local/bin/skype-wc'

Maintenant, on a un petit script pour lancer Skype avec la webcam, on va donc le renseigner à la place de Skype dans le menu (et éventuellement vos lanceurs).

Lanceurs (Ancien)

Clic droit sur “Applications”, on choisi “Editer les menus”, puis on va dans “Internet”, “Skype”, et on clique sur propriété.

Dans la ligne commande, on met l'emplacement de notre script:

/usr/local/bin/skype-wc

En cliquant sur “Skype”, on lance donc le script,

Remplacer, dans le menu skype, la commande

skype

par

env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Et c'est fini!

Pour voir si sa marche, il suffit donc de tester la video dans les preferences.

RAPPEL

On prend Skype en exemple, mais c'est aussi valable pour amsn, etc… il suffit de remplacer “skype” par le nom de votre logiciel.


Contributeurs : stdt Basé sur Une réponse Launchpad[en]