Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/11/2008, à 01:20

FAWTS

V4L2 webcam

Bonjour,

Je vais tenter de faire un tuto debuging v4l2 / webcam pour ubuntu 8.10 (Intrepid Ibex).

Dans le cas de la 8.4 (Hardy Heron), vous ne devriez pas rencontrer de difficulté, à part que vlc est en version 0.8.x qui ne prend pas en charge v4l2. Vous pouvez vous amusez à compiler la 0.9.x, mais le but (pour moi) est d'éviter au maximum ce type de manipulation.

Bref, dans un premier temps, comment savoir si votre webcam supporte le v4l2 (ou le v4l ou rien du tout).

1) sur la boite de la webcam ou dans la doc, il est écrit "Universal Video Class (UVC)", c'est un standard qui augmente très fortement les chances de compatibilité de votre webcam sous linux.

2) tests logiciel :

- camorama : si votre webcam fonctionne parfaitement avec le logiciel camorama, elle utilise v4l (et non v4l2), vous ne devriez rencontrer aucun problème avec d'autres logiciel, il suffira juste de préciser qu'il faut utiliser v4l et non v4l2 en cas de problème (et le périphérique /dev/videox avec x le numéro de l'interface si vous avez en plus une carte TV ou quoi). camorama ne supporte pas v4l2 (il est actuellement en version  0.19).

- mplayer : avec ma webcam (Logitech Quickcam E 3500 plus), je suis obligé de préciser le nombre d'images par secondes (30 fps), si ça ne fonctionne pas, essayez avec 10 :

mplayer tv:// -tv driver=v4l2 -v -fps 30

Cette commande devrait aussi vous permettre d'en apprendre un peu plus sur votre webcam, comme sa définition :

v4l2: get width: 640
v4l2: get height: 480

Le format qu'elle utilise :

v4l2: set format: YUYV
v4l2: set input: 0

Ou encore :

Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)

Ceci peut être utile pour d'autres logiciels et confirme que votre webcam utilise v4l2.

- luvcview : si je lance luvcview sans la moindre option, la diode de la webcam s'allume bien, camera monitor m'indique bien que la webcam est en cours d'utilisation, mais rien n'apparait à l'écran et tuer le processus implique l'utilisation des méthodes les plus barbares.
Mais avec quelques options inspirées des information fournies par mplayer, on arrive à un résultat correct sans être obligé de réduire la définition de l'image au minimum :

luvcview -cC -f YUYV -s 640x480

l'option -cC indique qu'il faut utiliser le format RAW, l'option -f YUYV, le format YUYV et -s, la définition de l'image (même si cette dernière option ne me semble pas toujours prise en compte.

- cheese : ce logiciel prend en charge v4l2 et fonctionne parfaitement sous la 8.4 (Hardy Heron), mais pour ubuntu 8.10 (Intrepid Ibex), on est obligé de réduire la définition à 176x144, sinon, comme avec luvcview sans option, tout semble fonctionner mais rien ne s'affiche et le processus est difficile à terminer. D'après ce que j'ai pu lire, il semblerait que le problème vienne de gstreamer (actuellement en version "GStreamer Core Library version 0.10.21"). Je n'ai pas encore trouvé comment utiliser cheese avec une définition correcte...

- vlc : ce logiciel est ma référence en matière de multimédia. Le passage de la version 0.8.x à la version 0.9.x a apporté la prise en charge de v4l2 mais aussi une toute nouvelle interface avec laquelle je bataille encore, même si la victoire est proche...

Ce que je n'ai jamais réussi a faire avec cette version, c'est d'ouvrir simplement ma webcam, mais j'ai trouvé une astuce, je diffuse!

Donc on fait :
1) lancer vlc
2) Média
3) Diffusion (ctrl + s)
4) Périphérique de capture
5) Diffuser (vous pouvez avant aller dans options avancées pour préciser le device, supprimer le son...)
6) cocher "Jouer en loca"l pour vous voir sur votre PC et vous refaire une beauté et/ou HTTP pour diffuser (vérifier la redirection de port de votre routeur et que le port choisi (8080 par défaut) est bien autorisé par votre firewall), puis utilisez le profil Ogg / Theora (c'est celui qui fonctionne le mieux sur mon PC)
7) Cliquer sur Stream.

Et là, on se retrouve avec une faible définition (généralement 320x240, mais ça peut être pire).

Je n'ai pas encore trouvé la cause (et n'essayez pas de forcer la définition, vous aurez un "unknow option" dans les messages et le même résultat), mais j'ai trouvé une autre astuce : mplayer...

Lancer cette commande :

mplayer tv:// -tv driver=v4l2 -v -fps 30

Puis arrêter mplayer et relancer vlc avec les même étapes que précédemment, et, ho miracle, le flux diffusé est bien en 640x480.

- w3cam : c'est une application cgi qui permet de diffuser sa webcam via un serveur web (il vous faut donc installer apache). Je n'ai pas encore réussi à la faire fonctionner avec une webcam v4l2, mais aucun problème avec les périphérique utilisant v4l.

- amsn : normalement, vous ne devriez rencontrer aucun problème

Enfin, une dernière remarque, l'utilisation processeur : La bête tourne avec un monstre :

d'après mplayer

CPU: AMD Sempron(tm)   2600+ (Family: 6, Model: 8, Stepping: 1)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0

Et c'est bien ça...

Et en fonction du logiciel utilisé, l'utilisation du processeur n'est pas du tout la même :

- mplayer : en moyenne 15% avec des pointes à 35%

- luvcview : oscille entre 15 et 50%

- chesse : en seulement 176x144 entre 12 et 25%

- vlc : entre 45 et 70% en 640x480 avec les codecs Ogg / Theora (d'ailleur si quelqu'un pouvait nous préciser quel est le codec le plus gourmand en processeur, quel est le codec le plus gourmand en bande passante..., je suis preneur!).

Voilà, cet article ne résoudra peut être pas tout vos problèmes de webcam, mais j'espère qu'ils vous aidera à les débugger. Toute précision est la bienvenue, je tâcherai de mettre cette partie à jour.


FAWTS

Dernière modification par FAWTS (Le 28/11/2008, à 01:30)

Hors ligne

#2 Le 25/12/2008, à 20:08

fazer1k

Re : V4L2 webcam

big_smile Merci beaucoup pour ce récap... Mais qui me conforte sur l'achat un peu inutile pour l'instant que j'ai fait avec la Logitech Quickcam E 3500 plus sad . J'avais suivi la doc ubuntu sur les webcam mad . Je voulais utiliser ZoneMinder ou un autre logiciel afin que sur mon site web interne, je puisse jeter un oeil chez moi... Mais le flux n'est donc pas reconnu.

Amsn, semble bien fonctionner, avez vous un moyen de rediriger le flux sur un fichier par exemple ?


Ubuntu 16.04 en dualboot avec W10 sur un lenovo x260 Ram 8go SSD 500go
Jeedom sur HP client léger
Zibase en relais

Hors ligne

#3 Le 26/12/2008, à 10:14

FAWTS

Re : V4L2 webcam

Ou alors, tu peux utiliser vlc en mode diffusion http sur le port 8080

Hors ligne

#4 Le 28/12/2008, à 09:07

fazer1k

Re : V4L2 webcam

Merci de cette réponse. J'ai un peu cherché, et j'ai trouvé mjpg_streamer qui fonctionne comme indiqué sur le site http://blog.cyril-ravat.fr/post/2008/04 … g-streamer et http://blog.guiguiabloc.fr/index.php/20 … zoneminder . Malheureusement, la page ne veut pas s'afficher comme si le fichier ou la redirection ne voulait pas s'écrire dans le dossier www que je choisis. J'ai le message "404: Not Found! Could not open file". Parfois j'ai envie de monter un serveur windows 2003! Puis je reviens à la raison, c'est trop facile et ca plante tout le temps:lol:

Dernière modification par fazer1k (Le 28/12/2008, à 19:12)


Ubuntu 16.04 en dualboot avec W10 sur un lenovo x260 Ram 8go SSD 500go
Jeedom sur HP client léger
Zibase en relais

Hors ligne