Est-il possible de diffuser H.264 avec RTSP sur Raspberry Pi?

9

J'essaie de mettre en place un système de visioconférence en utilisant deux cartes Raspberry Pi.

Comment puis-je diffuser le protocole H.264 sur un protocole de streaming en temps réel via une connexion Ethernet?

Quel système d'exploitation dois-je utiliser pour développer sur la carte Raspberry Pi?

sujal
la source
nginx avec rtmp-module est vraiment décent mais CRTMPServer est également très décent et stable. J'ai réussi à obtenir des retards inférieurs à 1 seconde avec les deux solutions. Démontré dans mon livre ou partiellement sur mon blog
Piotr Kula
Vérifiez UV4L sur linux-projects.org . Il prend également en charge la vidéo encodée H264, en temps réel, plein fps, utilisation minimale du processeur.
prinxis

Réponses:

4

EDIT: Ce n'est pas avec RTSP mais peut vous aider

Vous pouvez essayer avec Comment diffuser de la vidéo et de l'audio à partir d'un Raspberry Pi sans latence .

Installez gstreamer1.0 sur le serveur vidéo Raspberry Pi:

  1. Dans /etc/apt/sources.list, ajoutez "deb http://vontaene.de/raspbian-updates/ . Main"
  2. sudo apt-get update
  3. sudo apt-get install gstreamer1.0

Commencez à diffuser la vidéo

  1. Dans le Raspberry Pi avec commande:

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

Commencez à recevoir des vidéos

  1. Sur votre PC, tapez la commande:

    gst-launch-1.0 -v tcpclientsrc host=VIDSERVERIP port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
    
inye
la source
Vous devrez également installer un logiciel sur votre client pour que cela fonctionne. Sous OS X:brew install gstreamer gst-libav gst-plugins-ugly gst-plugins-base gst-plugins-bad gst-plugins-good
ThomasW
1
Cela n'utilise pas RTSP.
Alistair Buxton
Quelle est techniquement cette utilisation?
Łukasz Zaroda
2

J'ai posté une solution possible sur le forum framboise en utilisant un simple serveur RTSP basé sur live555 alimenté par le pilote H264 V4L2 que vous pouvez trouver sur github h264_v4l2_rtspserver

mpromonet
la source
1

Il existe une source personnalisée appelée nginx-rtmp - Cela fonctionne très bien, mais vous devez faire beaucoup de choses avant que cela fonctionne. C'est génial car il a beaucoup de fonctionnalités intégrées et prend en charge d'autres protocoles de streaming, comme HLS ou l'intégration de MPEG-DASH dans des sites Web, pas seulement RTMP. Il est extrêmement efficace pour reconditionner le flux vidéo en flv ou mp4.

Voici un article de blog sur la façon de le faire fonctionner .

La seule condition préalable sérieuse est que ffmpeg doit être compilé sur Rasbpian (N'utilisez pas le repo, il est lent) à partir de la nouvelle fourche. Je pense que sur Arch, il a le bon ffmpeg. Cela prend 5 heures sur le Pi. Essayez de trouver une version compilée ou utilisez qemo pour effectuer une compilation croisée.

Mais en un mot en utilisant nginx 1.4.1 (vous pouvez essayer plus récent si vous en avez besoin)

 cd /usr/scr  
 #clone the latest version of rtmp module for nginx  
 git clone git://github.com/arut/nginx-rtmp-module.git  
 #download nginx source tested with- 1.4.1  but 1.5.0 is also supported
 wget http://nginx.org/download/nginx-1.4.1.tar.gz  
 tar xzf nginx-1.4.1.tar.gz  
 cd nginx-1.4.1  

Vous devez obtenir des dépendances (vérifiez le lien vers le blog) pour la construction et nginx. Ensuite, vous configurez la construction à l'intérieur du lien source nginx vers le module rtmp. La construction prend 10 minutes sur le Pi.

 ./configure --prefix=/var/www \  
             --sbin-path=/usr/sbin/nginx \  
             --conf-path=/etc/nginx/nginx.conf \  
             --pid-path=/var/run/nginx.pid \  
             --error-log-path=/var/log/nginx/error.log \  
             --http-log-path=/var/log/nginx/access.log \  
             --with-http_ssl_module \  
             --without-http_proxy_module \  
             --add-module=/usr/src/nginx-rtmp-module \  

La dernière version de Raspbian inclut le pilote UV4L qui corrige le PSIPS (l'intégration de la période de temps pour h264 qui a été rompue dans les pilotes raspivid d'origine).

Piotr Kula
la source
-1

Voici une recette pour vous aider à démarrer: Envoi et réception de vidéos PI Camera sur le réseau

hendry
la source
1
Les deux premières lignes de cet article expliquent comment diffuser de la vidéo en ligne de commande, ce qui est correct, mais pas vraiment robuste et n'explique pas beaucoup ce qui se passe avec tous les tuyaux! Mais le reste de l'article ne se rapporte pas vraiment à la question du PO. Les réponses courtes basées sur des liens sont également mal vues. Pensez à améliorer légèrement votre réponse. Les votes descendants peuvent être convertis en votes positifs après avoir modifié votre réponse.
Piotr Kula