V4L2 : driver officiel pour Raspberry Pi

Posté le par | Réponse(s) : 1

Depuis que j'ai reçu mon premier Raspberry Pi, j'ai testé de nombreuses manières d'utiliser une webcam, chose que je n'avais pas spécialement envie de faire avec un ordinateur de bureau. Puis est arrivée la RasPiCam, ce petit module que l'on raccorde à son RPi. Malheureusement, ce module vidéo n'était pas compatible avec le driver Video For Linux (v4l) et pénalisait les projets que l'on voudrait mettre en place comme avec une webcam classique. Il y a quelques temps, j'ai lu que des développeurs travaillaient sur la compatibilité du module vidéo avec v4l et, récement, je suis tombé sur un article posté sur le forum de la communauté Element 14 relayant une conversation sur le forum officiel de la Fondation Raspberry Pi.

Bonne nouvelle, un driver officiel à compiler (en version bêta test) vient d'être publié et parrainé par la Fondation Raspberry Pi ainsi que par les employés de Broadcom. Le module vidéo devient utilisable pour la plupart des logiciels conçus pour l'API v4l2. Çà c'est une bonne nouvelle! L'autre bonne nouvelle, c'est que je viens de la tester et je vais vous montrer comment mettre en place ce nouveau driver.

Je suis parti d'une Raspbian fraichement installée, OS et firmware mis à jour. Les différentes étapes de l'installation ont pris environ 45 minutes, soyez donc patient.

Installation du driver via git

S'ils ne sont pas déjà installés (pour une mise à jour du firmware, installer les paquets suivants :

sudo apt-get install ca-certificates git-core

Il va nous falloir d'autres paquets nécessaires (entre autre) à la compilation des sources :

sudo apt-get install autoconf gettext libtool libjpeg62-dev

Puis on va cloner la source git dans le répertoire /usr/bin/ :

cd /usr/bin/
sudo git clone git://git.linuxtv.org/v4l-utils.git
cd v4l-utils
sudo git add *

Passons maintenant à la compilation :

sudo autoreconf -vfi
sudo ./configure
sudo make
sudo make install

Il ne reste plus qu'à charger le module :

sudo modprobe bcm2835-v4l2

Pour charger le module bcm2835-v4l2 directement au démarrage, il suffit d'éditer /etc/modules et d'ajouter "bcm2835-v4l2" à la suite :

sudo nano /etc/modules

Quelques commandes pour bien commencer

# charger le module (rappel)
sudo modprobe bcm2835-v4l2

# viewfinder
v4l2-ctl --overlay=1 # activer viewfinder
v4l2-ctl --overlay=0 # disactiver viewfinder

# enregistrement vidéo (la seconde commande fonctionne bien)
v4l2-ctl --set-fmt-video=width=1920,height=1088,pixelformat=4
v4l2-ctl --stream-mmap=3 --stream-count=100 --stream-to=somefile.264

# capture jpeg (la seconde commande fonctionne bien)
v4l2-ctl --set-fmt-video=width=2592,height=1944,pixelformat=3
v4l2-ctl --stream-mmap=3 --stream-count=1 --stream-to=somefile.jpg

# définir le bitrate
v4l2-ctl --set-ctrl video_bitrate=10000000

# liste des formats supportés
v4l2-ctl --list-formats

Pour faire un test plus global et éventuellement affiner les réglages, on peut utiliser guvcview (en mode graphique). En bidouillant un peu, j'ai réussi à régler quelques paramètres et obtenir une très belle image.

Les tests effectués avec fswebcam et mjpg-streamer ont été couronnés de succès et fonctionne parfaitement bien (se référer à ce lointain article). La version définitive ne devrait pas tarder, cette bêta est plutôt stable pour ce que j'ai fait, reste à voir à l'usage. Bref, que du bon 🙂

À vos consoles!

Sources : Communauté Element 14, Forum Raspberry Pi.

 

 


Licence Creative Commons
Cet article, sauf mention contraire expresse, est publié sous licence Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Licence.

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :
Google Plus Twitter Facebook Linkedin Framasphere email Flattr !

Un commentaire sur “V4L2 : driver officiel pour Raspberry Pi

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *