É possível transmitir H.264 com RTSP no Raspberry Pi?


9

Estou tentando configurar um sistema de videoconferência usando duas placas Raspberry Pi.

Como posso transmitir o protocolo H.264 através de um protocolo de streaming em tempo real através de uma conexão Ethernet?

Qual SO devo usar para desenvolver na placa Raspberry Pi?


O nginx com rtmp-module é realmente decente, mas também o CRTMPServer é muito decente e estável. Consegui obter atrasos inferiores a 1 segundo com ambas as soluções. Demonstrado em meu livro ou parcialmente no meu blog
Piotr Kula

Verifique o UV4L em linux-projects.org . Ele também suporta vídeo codificado em hardware H264, tempo real, full fps, uso mínimo da CPU.
precisa saber é

Respostas:


4

EDIT: Isso não é com RTSP, mas pode ajudá-lo

Você pode tentar com Como transmitir vídeo e áudio de um Raspberry Pi sem latência .

Instale o gstreamer1.0 no servidor de vídeo Raspberry Pi:

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

Comece a transmitir o vídeo

  1. No Raspberry Pi com o comando:

    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
    

Comece a receber vídeo

  1. No seu PC, digite o comando:

    gst-launch-1.0 -v tcpclientsrc host=VIDSERVERIP port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
    

Você também precisará instalar o software no seu cliente para que isso funcione. No OS X:brew install gstreamer gst-libav gst-plugins-ugly gst-plugins-base gst-plugins-bad gst-plugins-good
ThomasW

11
Isso não usa RTSP.
Alistair Buxton

O que tecnicamente esse uso?
Łukasz Zaroda


1

Existe uma fonte personalizada chamada nginx-rtmp - isso funciona muito bem, mas você precisa fazer muitas coisas antes de funcionar. É incrível porque possui muitos recursos integrados e suporta outros protocolos de streaming, como HLS ou incorporação de MPEG-DASH em sites, não apenas RTMP. É extremamente eficiente para reembalar o fluxo de vídeo em flv ou mp4.

Aqui está uma postagem de blog sobre como fazê-lo funcionar .

O único pré-requisito sério é que o ffmpeg precisa ser compilado no Rasbpian (não use o repositório, pois é lento) a partir do fork mais recente. Eu acho que no Arch ele tem o ffmpeg correto. Isso leva 5 horas no Pi. Tente encontrar uma versão compilada ou use o qemo para fazer a compilação cruzada.

Mas, em poucas palavras, usando o nginx 1.4.1 (você pode tentar mais novo, se precisar)

 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  

Você precisa obter dependências (verifique o link do blog) para compilar e nginx. Em seguida, você configura a compilação dentro da fonte nginx vinculando ao módulo rtmp. A compilação leva 10 minutos no 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 \  

A versão mais recente do Raspbian inclui o driver UV4L que corrige o PSIPS (o período de incorporação do h264 que foi quebrado nos drivers raspividados originais). Portanto, isso deve corrigir muitos problemas de streaming agora.


-1

Aqui está uma receita para você começar: Enviando e recebendo vídeo da PI Camera pela rede


11
As duas primeiras linhas desse artigo são como transmitir vídeo em linhas de comando, o que é bom, mas não muito robusto e não explica muito o que está acontecendo com todos os canais! Mas o restante do artigo não está realmente relacionado à questão do OP. Respostas curtas e baseadas em links também são desaprovadas. Considere melhorar ligeiramente sua resposta. Os votos negativos podem ser convertidos em votos positivos depois que você editou sua resposta.
Piotr Kula
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.