webcam et mjpg-streamer
Par Cyril le lundi 21 avril 2008, vers 18:24 - Ubuntu - Lien permanent
Edit le 12/11/09 : Depuis Ubuntu Karmic (9.10) au moins, la webcam n’est plus un problème pour le portable Packard-Bell BG-46-P-018.
Ce billet est en rapport avec les billets sur le portable Packard-Bell BG-46-P-018. Sur ce portable, la webcam qui n’accepte pas les drivers v4l mais uniquement v4l2, supportés par peu de logiciels, est montée 9 fois sur 10 à l’envers. Ce qui peut être gênant. :)
Pour utiliser la webcam en streaming, j’ai fabriqué un script maison qui utilise vlc. Ça marche plutôt bien, même s’il faut que je finalise certaines choses avant de le mettre en ligne (ce sera fait durant l’été). Le fait est que, en attendant que vlc 0.9 sorte enfin (avec le support natif de v4l2), il ne peut opas récupérer l’image de la webcam.
Il faut installer pour l’instant un petit logiciel appelé mjpg-streamer (anciennement uvc-streamer). Il n’y a pas de paquet tout fait, il faut télécharger (onglet download) le .tar.gz le plus récent, l’extraire dans un endroit correct comme /usr/local/src/, aller dans le répertoire que l’on vient de créer, et effectuermake && sudo make install
Ça devrait fonctionner comme cela.
Mjpg-streamer permet beaucoup plus que simplement récupérer l’image de la webcam, il ouvre un serveur web qui permet à d’autres personnes de « venir vous voir ». Attention d’ailleurs au niveau sécurité, pensez que n’importe qui peut vous voir… Pour savoir comment ça fonctionne, tout se passe en ligne de commande, l’aide est assez bien faite, tapez mjpg_streamer -h pour l’obtenir. Par exemple, moi je dois entrermjpg_streamer -i "/usr/local/src/mjpg_streamer/input_uvc.so -d /dev/video0 -r 640x480 --yuv" -o "/usr/local/src/mjpg_streamer/output_http.so -w /usr/local/src/mjpg_streamer/www -p 8080"
pour que cela fonctionne correctement. Pour voir si tout fonctionne, allez dans votre Firefox adoré et entrez http://127.0.0.1:8080. Pour arrêter le serveur, un ctrl+C dans la console est suffisant.
Les utilisateurs n’ont plus qu’à entrer l’adresse http://IP:8080/?action=stream où IP est votre adresse IP. Si vous préférez un autre port que 8080, il suffit de le changer dans la ligne de lancement. Pensez que votre firewall doit avoir ce port ouvert si vous voulez que l’on vous voit.
[Je suis preneur de toute remarque :) ]