Raspberry Pi – Emission d’un flux vidéo pour une lecture sur Android

Raspberry Pi flux vidéo AndroidLe 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

Android – Communication avec un Raspberry Pi

Un tutoriel sur la communication entre un terminal Android et un Raspberry Pi. Vous en rêviez, le voici !

Le but de ce tutoriel étant de diffuser un flux caméra depuis le Raspberry Pi et le visualiser sur le terminal Android. Vous pouvez accéder au tutoriel de diffusion du flux vidéo en cliquant ici

Dans un second temps, il y aura également le déclenchement d’actions (sur les broches GPIO) sur le Raspberry Pi depuis le terminal Android. – Publication à venir