");r.document.write("");r.document.close();};chr.sandbox=function(w){};chr.callback=function(id){var r=chr.requests[id];var data=chr.parse(r);r.callback(data);window.setTimeout(function(){var r=chr.requests[id];try{r.iframe.parentElement.removeChild(r.iframe);}catch(e){};delete chr.requests[id];},0);};chr.parse=function(r){var data=[];try{var rules=r.document.styleSheets[0].cssRules||r.document.styleSheets[0].rules;for(var i=0;i&""''])/g,function(m,c){switch(c){case"<":return"<";case">":return">";case"&":return"&";case'"':return""";case"'":return"'";} return c;});};})();jQuery(document).ready(function() { //After the deadline $j = jQuery; $j('textarea#comment').before("
"); if (aec_frontend.atd == 'true') { AtD.rpc_css_lang = aec_frontend.atdlang; $j('textarea#comment').addProofreader(); $j("#submit").click(function() { $j(".AtD_edit_button").trigger("click"); }); var spellcheck = $j("#AtD_0").clone(true); $j("#AtD_0").remove(); $j("#aec_edit_options").append(spellcheck); } if (aec_frontend.expand == 'true') { //Don't show this option on a mobile device try { var uagent = navigator.userAgent.toLowerCase(); if (uagent.search('iphone') > -1) { return true; } if (uagent.search('ipod') > -1) { return true; } if (uagent.search('webkit') > -1) { if (uagent.search('series60') > -1) { if (uagent.search('symbian') > -1) { return true; } } } if (uagent.search('android') > -1) { return true; } if (uagent.search('windows ce') > -1) { return true; } if (uagent.search('blackberry') > -1) { return true; } if (uagent.search('palm') > -1) { return true; } } catch(err) { } //AEC Expand Comment Option $j("#aec_edit_options").append(""); $j(".aec_expand").colorbox({title: aec_frontend.title,iframe: true,href: aec_frontend.url, width:"90%", height:"90%", opacity: 0.6, onOpen: function() {$j(".AtD_edit_button").trigger("click");}}); } });

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
Partager cet article avec:
  • Twitter
  • Facebook
  • del.icio.us
  • Google Bookmarks
  • Scoopeo
  • Digg
  • Wikio FR
  • Netvibes
  • FriendFeed
  • Suggest to Techmeme via Twitter
  • Ping.fm

Related posts:

  1. Flash Player 10 Pre-release
  2. Extension Safari : Youtube5 va vous faire oublier le Flash
  3. EeePC 900 ou EeePC 700 ?
  4. EeePC : retour sur 2 mois et 2 semaines d’utilisation…
  5. Synergy : un clavier, une souris, et un EeePC en deuxième écran…
11 commentaires
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….

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… :D

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… :)

[...] correction du fameux bug de certaines Webcams sous Linux en Flash : bin c’est pas corrigé du tout… et c’est bien dommage : il va encore [...]

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

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…

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

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 …

@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

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) »

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

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 !

Laisser un commentaire

(requis)

(requis)