S'il est encore besoin de la présenter, une webcam est une petite caméra notamment utilisée pour les visioconférences.
Le support des Webcam sous Linux est plutôt bon et en règle générale les webcams intégrées sont reconnues dès l'installation.
Si vous devez acheter une webcam externe (USB), choisissez de préférence une webcam compatible UVC (USB Video Class).
Vous trouverez ici une liste de webcams testées par la communauté et le niveau de leur compatibilité. Et ici une liste des matériels supportés . L'identifiant USB de votre webcam s'obtient via la commande :
lsusb
Utile pour trouver facilement votre webcam dans le tableau.
Par défaut, sous Ubuntu, c'est le module uvcvideo qui gère la webcam. Mais tous les logiciels ne supportent pas certaines webcams, même si le système la reconnaît par la commande lsusb. Vous pouvez utiliser cheese qui semble bien reconnaître les webcams installées.
Sur Ubuntu GNOME utiliser le logiciel cheese
Pour les néophytes, la solution la plus simple et rapide est de tester sa webcam par un site web
Avec mpv, on peut tester la webcam avec la commande suivante :
mpv --profile=low-latency --untimed /dev/video0
Avec ffmpeg/ffplay, on peut tester la webcam avec la commande suivante :
ffplay -fflags nobuffer -flags low_delay -framedrop -i /dev/video0
et pour afficher les résolutions supportées par la webcam, on peut taper la commande suivante :
ffmpeg -list_formats all -i /dev/video0
Parmi ceux auxquels on ne pense pas forcément, mais qui sont pourtant très utiles pour les tests, figurent aussi mplayer avec la commande suivante :
mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480
ou vlc .
XawTV :
xawtv -nodga
Iriun est un petit logiciel qui permet d'utiliser son téléphone Android comme webcam. Pour l'utiliser :
sudo apt install linux-headers-$(uname -r)
droidcam
Voir la page visioconférence.
Le plus facile reste actuellement d'utiliser VLC pour modifier les paramètres de votre webcam. Pour cela :
vlc v4l2://
Les paramètres que vous modifiez sont conservés à la sortie du logiciel. Pour les réinitialiser utilisez le bouton en bas de la fenêtre des Préférences Rétablir les préférences.
Le paquet dov4l est un programme qui permet de définir et d'interroger les paramètres de périphériques video4linux (luminosité, saturation…) comme les webcams.
Reportez-vous à la page setpwc.
Si votre logiciel de webcam vous retourne le message device video0 not found
, vous pouvez demander à celui-ci d'ouvrir une webcam précise, en exécutant cette commande (en adaptant le nom de l'application) :
cheese -d /dev/video1
(attention, le chiffre à la fin n'est que indicatif, il peut changer.) Toujours valable sur des versions récentes d'Ubuntu? Si rien ne fonctionne, créez ce périphérique avec les commandes:
sudo mknod /dev/video0 c 81 0 sudo chmod 666 /dev/video0 sudo ln -s /dev/video0 /dev/video
Attention, pour ceux qui pensent avoir une image webcam inversée, sachez qu'une image inversée est une image miroir. Donc si l'image de votre webcam donne une image à l'écran comme dans un miroir alors vous avez bien une image inversée.Dans le cas contraire vous n'avez pas de problèmes. Cela peut vous permettre d'éviter de nombreuses heures de recherches inutiles pour des soucis qui n'existent pas… Donc, si vous avez la tête à l'envers sur votre webcam, reportez-vous aux indications de la page sur V4L1.
Si vous avez plusieurs matériels liés à la vidéo, il peut y avoir des "conflits". En effet, un numéro leur est attribué aléatoirement au démarrage. Ce qui fait que si vous avez par exemple une carte tuner et une webcam, elles peuvent se voir attribuer /dev/video0 et /dev/video1 à un démarrage, et l'inverse à un autre, ce qui peut être assez agaçant à l'usage…
Dans les navigateur basé sur Chromium, vous devez selectionner l'entrée vidéo à chaque démarrage de Ubuntu via le lien chrome://settings/content/camera ou manuellement via :
Une solution est de créer des liens définitifs, /dev/tuner et /dev/webcam par exemple. Voici comment procéder :
udevadm info -a -p /sys/class/video4linux/video0 | grep -e vendor -e device
(ou video1, selon où est située votre carte)
# Persistent symlinks for webcam and tuner KERNEL=="video*", ATTRS{idProduct}=="AAAA", ATTRS{idVendor}=="BBBB", SYMLINK+="webcam" KERNEL=="video*", ATTRS{device}=="0xCCCC", ATTRS{vendor}=="0xDDDD", SYMLINK+="tvtuner"
en prenant soin de remplacer AAAA et BBBB par les identifiants de votre webcam (cf. Prérequis), et CCCC et DDDD par le valeurs que vous venez d'obtenir.
Si vous obtenez une image noire et que dans /var/log/messages vous avez un message d'erreur du genre :
Dec 7 15:20:20 cosmos kernel: [ 2174.210525] /build/buildd/linux-ubuntu-modules-2.6.24-2.6.24/debian/build/build-generic/media/gspcav1/gspca_core.c: init isoc: usb_submit_urb(0) ret -28
Essayez de brancher la webcam sur un autre port USB, au besoin en en libérant un.
Si la webcam est désactivée dans le BIOS/UEFI, elle peut ne pas apparaître dans la liste des périphériques. Il faut donc l'activer dans le BIOS/UEFI si on souhaite la voir apparaître dans le liste des périphériques et l'utiliser.
Sur un portable il est possible que la webcam soit désactivée par les touches "Fn".
Tout d'abord la commande magique, cette commande soit liste vos webcams, soit vous charge le module uvcvideo:
lsmod | grep uvcvideo || sudo modprobe uvcvideo
si vous n'avez pas eu de message alors tester à nouveau votre webcam voir section 1.
Vous pouvez utiliser ces commandes pour les montrer sur un post du forum officiel:
lsusb # permet de lister les appareils USB sudo apt install hwinfo && sudo hwinfo --usb # vous pourrez supprimer hwinfo après utilisation
Si en réalisant la commande suivante vous avez un retour en sortie, allez voir ce post
ls /etc/modprobe.d/uvcvideo.blacklist.conf
Voir le portail "sécurité".