Le Raspberry Pi est un petit ordinateur vendu pour une trentaine d’euros et qui permet, grâce à son port GPIO de commander divers appareils et circuits électronique. Vous pouvez également y brancher un caméra, soit la caméra « officielle » nommée « Raspberry Pi Camera Board », soit une webcam USB.
Si comme moi, vous souhaitez diffuser l’image de la caméra branchée sur Raspberry Pi, ce tutoriel est fait pour vous.
Installation et configuration du paquet permettant de diffuser le flux vidéo
Tout d’abord, nous allons avoir besoin d’installer le paquet « subversion » pour pouvoir récupérer les sources utiles au fonctionnement du « streamer ».
Pour cela, exécutez les commandes suivantes :
sudo apt-get update sudo apt-get install subversion
Installez ensuite libjpeg8-dev et imagemagick comme ceci :
sudo apt-get install libjpeg8-dev sudo apt-get install imagemagick
Une fois cette action terminée, allez dans votre dossier personnel comme ceci
cd /home/pi
Il faut ensuite télécharger le streamer. Pour cela, nous allons utiliser « mjpg-streamer ».
Téléchargez-le en exécutant la commande suivante :
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
Compiler le paquet avec les commandes suivantes :
cd mjpg-streamer make
Une fois l’opération terminée, vous devriez pouvoir déclencher le streaming sur votre camera.
Si votre caméra est une webcam branchée en USB vous devriez pouvoir l’utiliser directement. Si la caméra est celle du Raspberry Pi (Raspberry Pi Camera Board), vous devriez avoir une erreur.
Pour en être sûr, exécutez la commande suivante :
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
Si l’erreur « ERROR opening V4L interface: No such file or directory » apparait, cela signifie que la caméra n’a pas de drivers et ne peux pas être utilisée comme cela. Si jamais vous n’avez pas utilisé la caméra du Raspberry Pi mais une webcam USB, vous ne devriez pas voir apparaître cette erreur (sauf si votre webcam n’est pas compatible). Passer alors au dernier point de ce tutoriel
Installation du driver de la caméra « Raspberry Pi Camera Board »
Il faut tout d’abord installer UV4L, pour cela, nous allons commencer par la clé du dépôt. Exécutez alors la commande suivante :
wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc
Ensuite, avec votre éditeur préféré, il va falloir aller modifier le fichier « /etc/apt/sources.list ». Dans l’exemple suivant, je vais utiliser « vi », mais « joe », « nano » ou un autre éditeur feront également l’affaire :
sudo vi /etc/apt/sources.list
Ajoutez alors dans à la fin de ce fichier la ligne suivante :
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
Pour les utilisateur de « vi », quittee en appuyant sur « Esc » ou « Echap » sur votre clavier et en tapant « :wq! » puis validez en appuyant sur « Entrée »
Mettez à jour vos paquets grâce à la commande suivante :
sudo apt-get update
Puis installez le paquet uv4l et uv4l-raspicam :
sudo apt-get install uv4l uv4l-raspicam
Le drivers est maintenant installé, il manque cependant un nouveau paquet qui permettra de lancer automatiquement ce driver au démarrage du Raspberry Pi. Pour cela, exécutez la commande suivante :
sudo apt-get install uv4l-raspicam-extras
Il ne reste plus qu’à redémarer le service uv4l_raspicam grâce à la commande suivante :
sudo service uv4l_raspicam restart
Vous pouvez maintenant relancer votre serveur de streaming grâce à la commande :
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
Si cela ne fonctionne toujours pas (comme c’était le cas pour moi), vous pouvez exécuter la commande de mise à jour du Raspberry Pi:
sudo rpi-update
Puis terminer par un « reboot » pour redémarrer le Raspberry Pi.
Au redémarrage, vous devriez pouvoir utiliser votre Raspberry Pi avec la caméra :
cd /home/pi/mjpg_streamer ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
Vous accéder maintenant à votre flux en lançant sur votre navigateur préféré sur la page suivante « http://IP_de_votre_Raspberry:8080 »
Egalement dans VLC en ouvrant un flux réseau à l’adresse suivante : « http:// IP_de_votre_Raspberry:8080/?action=stream »
Vous remarquerez que l’action exécutée en invite de commande sur le Raspberry Pi est bloquante. Pour quitter le streaming vidéo, il vous suffit simplement de faire « CTRL + C » sur votre clavier et le streaming est stoppé instantanément. Vous reprenez alors la main sur votre Raspberry Pi.
Pour les adaptes du Raspberry Pi, je ne saurais que vous conseiller le blog Framboise314