Streamer la caméra Raspberry sur Windows

La caméra Raspberry

J’utilise une caméra Raspberry Pi officielle dans sa version 2.1.

Lentille : focus fixe
Résolution : 8 mégapixels
Résolution photo : 3280 x 2464
Résolution vidéo : 1080p30, 720p60 et 640x480p90
Taille : 25mm x 23mm x 9mm
Poids : 3g
Connecteur : Nappe
Interface : CSI

Installation et activation

Par sécurité, la caméra doit être installée alors que le Raspberry Pi est éteint et hors tension.
La nappe doit être insérée dans le connecteur situé entre la prise jack et le port HDMI. Le côté bleu se situe du côté de la prise jack.

Démarrer maintenant le Raspberry Pi. La caméra n’est pas activée par défaut. Dans le menu sudo raspi-config, choisir l’option 5 Interfacing Options

Choisir P1 Camera

Puis placer le curseur sur Yes

La caméra est maintenant activée ! Redemarrer le Raspberry Pi quand ce sera demandé.

Source :

https://www.pihomeserver.fr/2014/01/09/raspberry-pi-home-server-installer-facilement-la-camera-raspberry-pi/

Test de la caméra

Pour tester si la caméra est bien installer, il est possible de prendre une photo qui sera enregistrée dans le Raspberry Pi. Pour cela, on se sert de la commande raspistill.

raspistill -o image.jpg

On peut également enregistrer une vidéo via la commande raspivid.

raspivid -t 5000 -md 5 -o mavideo.h264

L’option -t indique un temps de 5 000 ms.
L’option -md permet d’indiquer le mode 5 (1296×730 / 16:9 / 1-49fps) qui est surtout non zoomé, contrairement à la commande sans cette option. Tous les modes disponibles ici.

Source :

https://www.raspberrypi.org/documentation/raspbian/applications/camera.md

Stream de la vidéo avec Gstreamer

L’intérêt de la caméra installée sur le robot est de récupérer la vidéo en temps réel sur un ordinateur sur Windows 10 (personne n’est parfait). Il existe pour cela des dizaines de logiciels possibles, mais ce qui m’intéresse est d’avoir la latence la plus faible. Une grande partie des internautes semblent valider le choix de gstreamer dans ce but.

Installation sur Raspbian

Il suffit d’installer les paquets suivants :

sudo apt-get update
sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav

Installation sur Windows 10

Récupérer le fichier d’installation .msi correspondant à l’architecture de l’ordinateur sur le serveur de téléchargement de gstreamer. Choisissez la version la plus récente, 1.14.2 à l’écriture de cet article. Mon ordinateur ayant une architecture 64 bits, c’est le fichier https://gstreamer.freedesktop.org/data/pkg/windows/1.14.2/gstreamer-1.0-x86_64-1.14.2.msi

À l’installation, choisissez d’installer tous les composants. On est des oufs.
Dans mon cas, le programme s’est installé dans le répertoire D:/gstreamer/. Pour exécuter les commandes il faudra se placer dans REPERTOIRE_D_INSTALLATION/1.0/x86_64/bin à l’aide de la commande cd

Début du stream

Sur le Raspberry, commencer par lancer la commande

raspivid -t 0 -w 1280 -h 720 -fps 25 -b 2000000 -o - | gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 ! udpsink host=IP_ORDINATEUR_WINDOWS port=5000

en remplaçant IP_ORDINATEUR_WINDOWS par l’IP de la machine Windows. Elle peut se trouver avec ipconfig
Pour éviter de taper la commande à chaque fois, on peut la placer dans un alias.

Ensuite, sur Windows, se rendre dans le dossier des binaires et exécuter cette commande

d: 
cd gstreamer\1.0\x86_64\bin
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false

Pour éviter de taper la commande à chaque fois, on peut l’écrire dans un fichier .bat

Sources :

http://robogoby.blogspot.com/2014/01/raspi-camera-gstreamer-10-w-windows-7.html
https://bentek.fr/pirobot-p7-pirobot-gstreamer/

Laisser un commentaire

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