jeudi 23 janvier 2014

Streaming vidéo avec la camera raspberry pi

La base:


Le streaming en temps réel:


Résumé:


Commande a exécuter sur le Raspberry Pi:

raspivid -t 999999 -h 720 -w 1080 -fps 25 -b 2000000 -o - | gst-launch-0.10 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=192.168.0.11 port=5000

Flux vidéo de la camera | gstreamer ! parse le flux h264 ! encode le flux h264 dans le protocole rtp ! charge le contenu du buffer de protocole ( rtp) ! envoie ce contenu en tcp

Commande a exécuter sur le PC sous linux:

 gst-launch-0.10 -v tcpclientsrc host=192.168.0.11 port=5000  ! gdpdepay !  rtph264depay ! ffdec_h264 ! autovideosink sync=false

Flux vidéo du socket tcp ! charge le contenu du buffer de protocole ( rtp) ! decode le flux h264 du protocole rtp ! décode le h264 | affiche

Pour aller plus loin:

http://blog.nicolargo.com/2013/05/streaming-depuis-la-raspberry-camera.html 

http://www.mybigideas.co.uk/RPi/RPiCamera/

http://gstreamer.freedesktop.org/

http://blog.nicolargo.com/2009/01/introduction-a-gstreamer-le-framework-multimedia.html

http://blog.nicolargo.com/2009/02/jai-streame-avec-gstreamer.html

Le streaming vers Qt:


Je n'arrive pas encore a lire le flux vidéo sous Qt avec les commandes ci dessus.
Cependant, j'y parviens en utilisant vlc à la place de gstreamer pour envoyer le flux:

  raspivid -o - -t 9999999 |cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:5000/}' :demux=h264

Mais là, c'est clairement un problème de performance qui se pose.



Aucun commentaire:

Enregistrer un commentaire