Konk_Gwin

Retourner l'image de sa webcam

Catégories:
Étiquettes:
Logiciels évoqués:

En utilisant des outils de visioconférence pour des réunions de mon fablab, j’apparais avec la tête à l’envers.
Mon ordinateur tourne sur un système gnu/linux et plus précisément une distribution debian. Naturellement, si je pique l’ordinateur de mon épouse qui (pas mon épouse, l’ordinateur) tourne sur Windows 7, je n’ai pas ce problème. Naturellement.
Voici donc le récit d’un fiasco.

L’option vflip est la solution espérée

J’ai vu sur Internet qu’une façon élégante de traiter le sujet était l’option vflip du programme qui pilote la caméra. Il faut donc d’abord identifier ce programme. Pour ce faire nous utilisons la commande udevadm et la couplons à grep :

udevadm info --query=all --name=/dev/video0 | grep DRIVER

Je constate ainsi que mon driver (le pilote de ma caméra) est uvcvideo. Ce n’est pas une mauvaise chose, c’est un pilote très réputé et répandu sous Linux.

Cependant, il ne supporte pas l’option vlip.

Pour le confirmer, il me suffit d’utiliser le programme v4l-info du package v4l-conf. En tapant, sans autre précision,

v4l-info

j’obtiens entre autres la liste des paramètres sur lesquels je peux jouer : Brightness, Contrast, etc. Mais pas de vflip.

Saperlipopette !

Utiliser v4l2 ?

Le même article propose alors d’exporter une valeur pour l’orientation verticale de l’image à travers la librairie v4l2 qui gère l’acquisition vidéo sous Linux.

Il serait alors possible de retourner l’image en tapant

export LIBV4LCONTROL_FLAGS=3

ou, alternativement,

export LIBV4LCONTROL_FLAGS=1

puis de vérifier le résultat à travers le programme guvcview. Cependant avant même de toucher aux LIBV4LCONTROL_FLAGS, je lance

guvcview

et là, mon image est à l’endroit !

La fièvre me gagne. Les mains tremblante, je lance le programme

cheese

et j’ai la tête à l’envers.

Incroyable ! Je tape encore

xawtv -c /dev/video0

et j’ai la tête à l’endroit !

Désespéré, je tape

vlc v4l2:// :input-slave=alsa:// :v4l-vdev="/dev/video0"

et la tête est encore à l’endroit. (J’aurais pu aussi utiliser l’option ouvrir un périphérique de capture dans le menu Media de VLC.)

Je tente alors

mpv av://v4l2:/dev/video0

et la tête est à l’envers.

Sapristi !

Je résume en restant perplexe :

programme tête à l’envers tête à l’endroit
guvcview oui
cheese oui
xawtv oui
vlc oui
mpv oui

Voyons ce qui se passe si je fais varier LIBV4LCONTROL_FLAGS à 1 ou à 3 :

programme flag à 1 flag à 3
guvcview envers endroit
cheese envers envers
xawtv envers endroit
vlc envers endroit
mpv envers envers

Ainsi, que LIBV4LCONTROL_FLAGS soit à 1 ou à 3, mon image sera toujours à l’envers pour cheese et mpv.

Pour les autres programmes (guvcview, xawtv et vlc), un flag à 1 donne une image à l’envers tandis qu’un flag à 3 donne une image à l’endroit.


Comme tout ceci est lassant ! Je n’avais pas ces problèmes avec ma HP-34C, il m’en souvient. Allez,

isel eo an douar

comme on dit dans l’Assimil. Et bonne journée.

Menu