EeePC, Webcam et site en Flash

La webcam de l’EeePC marche nickel avec Skype.

Mais pas avec les site en Flash sous Firefox… C’est à cause d’une incompatibilité entre certaines Webcams sous Linux et le plugin Flash de chez Adobe : ce dernier connaît le protocole V4L. Ce protocle est considéré comme obsolète et certaines webcam sont déjà passées en V4L2

Le plugin Flash n’étant pas un logiciel libre, on ne peut pas le modifier et le recompiler pour qu’il fonctionne avec le nouveau protocole V4L2… et c’est bien dommage… (encore un argument en faveur des logiciels libres…)

Heureusement, Linux ça se bidouille… 🙂

Il y a une solution de contournement : créer un loopback video (une sorte de webcam “virtuelle”) : ce loopback va prendre le flux vidéo de la webcam de l’EeePC (en V4L2 donc), le convertir à la volée en V4L, et créer un device utilisable par le plugin flash qui n’y verra que du feu.

Cette solution est décrite en détail sur Swift Humors. L’article concerne tous les systèmes Linux. Il explique comment il faut faire pour récupérer les sources du projet FlashCam, et compiler un module à rajouter dans le noyau Linux… Trop facile hein ? 🙂

Manque de bol, ce qui nécessite 3 clics et 2 lignes de commandes sur une Ubuntu classique l’est beaucoup moins sur la Xandros de mon EeePC : déjà les sources du noyau ne sont pas fournies en standard, il faut aller les chercher sur un dépôt à part, trouver la bonne version, etc… Ensuite, il faut compiler le bazar… Bref après plusieurs heures d’essais divers, et d’erreurs de compil, j’étais à 2 doigts de virer la distrib Xandros pour une Ubuntu… et là, je suis tombé sur Wayne D’s blog

Tout le boulot est déjà fait pour l’EeePC : il suffit de télécharger le fichier fourni (déjà compilé), le dézipper, et lancer le script vlback.sh (video loopback) :

Et hop, le voyant vert de la webcam de l’EeePC s’allume. Il faut laisser ce processus en execution pendant toute la durée d’utilisation de la webcam (CTRL + C pour tuer le process quand on a fini d’utiliser la webcam).

Il suffit ensuite de changer la config dans le plugin Flash, pour choisir “Video loopback output” :

Un petit test à partir du site Swift Humor pour vérifier :

Et ça roule… Excellent ! 🙂

Voilà… les portes de l’audio et de la vidéo sur les sites en Flash viennent de s’ouvrir à partir de mon EeePC… par exemple :

  • Visioconférence en Flash chez Tokbox
  • Des jeux avec la Webcam (du même genre que l’EyeToy de la PS) : Newrounds Games et iViewGames. L’écran de l’EeePC est un peu petit pour ça… la CPU a un peu de mal à suivre, mais ça marche.
  • Et mon préféré : transformer sa chetron en temps réel sur Bonvga.net
Share this article on :

10 Responses to EeePC, Webcam et site en Flash

  1. Eric M says:

    Excellent bonvga.net !
    mes filles vont adorer !

    Et félicitation pour ton blog, aussi bien pour le contenu que pour la forme.
    Le look est peut etre un peu trop classique/sérieux quand meme….

  2. Stéphane says:

    Bonvga, c’est le genre de truc à envoyer à quelqu’un pour lui faire perdre une soirée, perso, j’ai passé 1h à bidouiller ma tête… 😀

    Coté blog, merci pour les encouragements, c’est vrai que le thème est super classique, mais dès que j’ai un peu de temps je me fais mon propre Thème pour wordpress… 🙂

  3. tigermick says:

    ça c trop un tuto à rajouter sur la documentation ubuntu…ce que je vais m’empresser de faire 😀
    merci pour cette superbe astuce

  4. Stéphane says:

    Pas de problème… 🙂
    Je n’avais pas pensé à la doc ubuntu, car dans mon esprit ça ne pouvait intéresser que les utilisateurs d’EeePC…
    Mais effectivement le problème Plugin Flash + Webcam en V4L existe aussi pour n’importe quelle distrib Linux…

  5. Vincent says:

    Merci beaucoup. Pour les sites de rencontre c’était indispensable !

  6. julien says:

    salut j’ai fait toutes les manips mais dès qu’il s’agit de taper sur enter après avoir ecrit./vlback.sh on me marque permission non accordée donc si tu a une solution …

  7. Stéphane says:

    @julien : un problème de droits ? C’est bizarre… le script vlback.sh ne contient que les 5 lignes suivantes :
    sudo chmod 666 /dev/video
    sudo echo 1 > /proc/acpi/asus/camera
    sudo insmod vloopback.ko inminor=9
    sudo ln /dev/video0 /dev/video
    /home/user/vloopback/flashcam-l -l /dev/video9

    Les 4 premières sont lancées avec un “sudo”, donc pas de problème de droits normalement. Ça ne peut venir que de la dernière ligne (le “ln”).

    Qu’est ce que tu as dans ton repertoire /dev au niveau device “video” ?
    Ca te donne quoi comme résultat si tu tapes la commande suivante ? :
    # ls -l /dev/vid*

    Sinon, contacte moi directement, j’essaierai de jeter un coup d’oeil

  8. madeinelsass says:

    merci pour cette astuce que je recherchais depuis longtemps…mais en tant que neewbee linuxien je ne comprend po “…et lancer le script vlback.sh (video loopback)”

  9. Stéphane says:

    @madeinelsass : Hello… “lancer le script” ça veut dire que tu dois ouvrir une fenetre de commande, et taper ./vlback.sh (avec le “.” et le “/” devant), comme dans la copie d’écran dans l’article.

  10. bingo says:

    je suis nul en linux, mais un peu obstiné, j ai remplacé video9 par video2 (car j avais vu que le script en appelait un aute vloopback et dans ce script là,il y avait une ligne avec video2)
    et ça marche !

Leave a Reply