panda-9c.jpg

Les webcams sous Ubuntu

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

Via le navigateur

Pour les néophytes, la solution la plus simple et rapide est de tester sa webcam par un site web

  • OnlineMicTest : permet de tester sa webcam sur le "canal" par défaut
  • webcamtests.com : permet de tester sa webcam en choisissant le "canal" si on a plusieurs périphériques vidéos. Si vous avez plusieurs périphérique, Les webcams sous Ubuntu section Plusieurs entrées vidéos / définir un numéro d'attribution /dev/xxx fixe pour plus de détail

mpv

Avec mpv, on peut tester la webcam avec la commande suivante :

mpv --profile=low-latency --untimed /dev/video0

ffmpeg/ffplay

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

VLC ou mplayer

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 :

xawtv -nodga

avec Iriun

Iriun est un petit logiciel qui permet d'utiliser son téléphone Android comme webcam. Pour l'utiliser :

  • Installer les dépendances nécessaire à Iriun: v4l2loopback-dkms
  • Télécharger Iriun sur le site officiel et installez-le.
  • Télécharger également Iriun sur votre smartphone via le Plays Store.

avec DroidCam

  • Installer un client Android de webcam. Ex : droidcam
  • Installer DroidCam
    • Installer les entêtes de noyau s'ils ne sont pas installé : sudo apt install linux-headers-$(uname -r)
    • Installer DroidCam manuellement, en suivant les instructions sur le site officiel (en anglais) (à partir de l'étape 3)
  • Lancer DroidCam sur Android
  • Lancer un terminal et tapez
droidcam
  • Suivre les dernières indications… et enjoy…

via IP Webcam

  • Sur Android : installer le client de webcam IP Webcam et lancez-le.
  • Sur Ubuntu, tapez l'adresse ip fournie par IP Webcam dans votre navigateur et utilisez votre webcam.

Webcam pour messagerie instantanée

Voir la page visioconférence.

Prendre des photos/vidéos avec la webcam

  • Cheese : Programme permettant de prendre des photos et vidéos avec une webcam.
  • VLC : Programme de lecture vidéo capable de capturer votre webcam et de réaliser des captures instantanées (menu Vidéo)
  • guvcview : capture vidéo et audio, intéressant pour les webcams qui ne sont pas reconnues par Cheese
  • XawTV : Programme souvent utilisé pour tester les webcams !
  • TvTime : Programme pour regarder la télévision à partir d'une carte tuner, mais qui peut également utiliser votre webcam comme source.
  • Kamoso: Programme KDE permettant de prendre des photos et vidéos avec une webcam.
  • CamStream: Programme KDE permettant de faire beaucoup de choses avec sa webcam (prendre des photos, vidéos, les envoyer par FTP, vidéo conférences, …).
  • wxCam : logiciel qui permet de filmer et de prendre des photos il gère le déclenchement de mouvement.

Autres

  • Motion, camserv, zoneminder : Logiciels permettant d'utiliser sa webcam en vidéo surveillance et comme détecteur de mouvements.
  • webcamstudio : logiciel permettant de simuler une webcam, de lui ajouter des effets,streamer une vidéo où encore de faire fonctionner des webcams réfractaires avec flashplayer ! (Equivalent de ManyCam, WebcamMax, fake webcam).
  • eViacam : contrôler la souris avec des mouvements de la tête.
  • Cameramonitor : surveiller l'état (en marche ou non) de sa Webcam, pour l'installer il suffit d'installer le paquet cameramonitor.
Sous Ubuntu 16.04, il faut télécharger et installer python-support avant d'installer cameramonitor.

Pour tous les modèles

VLC

Le plus facile reste actuellement d'utiliser VLC pour modifier les paramètres de votre webcam. Pour cela :

  • Lancez l'application avec la commande :
    vlc v4l2://
  • Allez dans Outils → Préférences,
  • Cochez en bas à gauche de la fenêtre Paramètres → Tous,
  • Puis dans Lecture et Codecs → Modules d'accès → V4L. Modifiez les paramètres souhaités.

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.

dov4l

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.

Pour les Philips

Reportez-vous à la page setpwc.

Video0 not found

Parfois il suffit d'activer la webcam via la touche fonction + webcam de votre clavier pour que cette dernière fonctionne

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.) FIXME 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

Webcam à l'envers

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.

Plusieurs entrées vidéos / définir un numéro d'attribution /dev/xxx fixe

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…

Gérer plusieurs entrées vidéos

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 :

  1. Aller dans les paramètres
  2. Aller dans Paramètres du contenu
  3. Aller dans Appareil photo
  4. Selectionner l'entrée vidéo

Créer un nouveau numéro/lien fixe

Une solution est de créer des liens définitifs, /dev/tuner et /dev/webcam par exemple. Voici comment procéder :

  1. grâce à la commande suivante, notez soigneusement les champs device et vendor :
    udevadm info -a -p /sys/class/video4linux/video0 | grep -e vendor -e device

    (ou video1, selon où est située votre carte)

  2. Puis créez avec les droits d'administration le fichier /etc/udev/rules.d/83-duplicate_devs.rules en y plaçant :
# 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.

Peut etre faut il faire quelque chose pour prendre en compte les modifications ?

Problème avec le port USB

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.

Webcam n'apparaissant pas dans la liste des périphériques

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

Déboguer la webcam

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
  • webcam.txt
  • Dernière modification: Le 05/02/2024, 10:59
  • par 82.66.39.172