Streaming de video con la RasPi


4 posts
by JMarco » Wed Oct 31, 2012 5:14 pm
Hola a todos,
En primer lugar me presento, soy Jose Marco y os escribo desde Barcelona y esta es mi primera intervención en el foro y me parece que no os lo voy a poner fácil ;)

Estoy comenzando un proyecto de decodificación multi-streaming y barajo la posibilidad de utilizar la RasPi como decodificador unitario de flujos de video ,como acabo de iniciarme en el apasionante mundillo de este dispositivo y hay mucha literatura sobre él todavía me falta mucho por aprender por eso he decido postear el en foro a ver si alguno de sus expertos puede darme una pista sobre problema que os detallo a continuación:

Estoy intentando decodificar con una RasPi de 512 con 375Kb libres un flujo de video RTSP (H264,fullHD de 4mb/s) procedente de una cámara IP.

El problema es el retardo o latencia de 8 o 9 seg, es decir el retraso entre el video visualizado y el video en tiempo real imposible de minimizar
ni por parámetro (-nocache) del mplayer o mediante el (mplayer.conf).

Esto es lo que estoy haciendo.

creo un pipe
mknod /home/pi/pipe.mkv

Recibo el flujo rtsp a través del mplayer que lo pasa al pipe
mplayer -benchmark -nosound -framedrop -nocache -dumpvideo rtsp://172.16.23.189/live.sdp -dumpfile /home/pi/pipe.mkv | omxplayer /home/pi/pipe.mkv

El Omxplayer que tiene soporte de aceleración hardware se encarga de decodificar y pintar el stream de video contenido en el pipe.mkv



¿Podría ser el pipe que actua como una FIFO el que está provocando el buffering?

Conocéis algún otro player que soporte de streaming para la RPi y que además tenga aceleración hardware ósea que utilice la el decoder de la GPU.

Sé que VLAN viewtopic.php?f=9&t=1439 está trabajando en ello pero no se como lo tienen.



También he visto que se podría hacer algo similar a esto desde Pyton pero exactamente como.

mplayer = subprocess.Popen(
['omxplayer', url.decode('UTF-8').strip()],
stdout = subprocess.PIPE, stderr = subprocess.PIPE)



Saludos cordiales
Posts: 2
Joined: Wed Oct 31, 2012 4:41 pm
Location: Barcelona, Spain
by ulysess » Mon Nov 05, 2012 1:00 pm
Tal vez esto te pueda ayudar:
[url]goo.gl/Pgr6y[/url]
Mis apuntes de...Raspberry Pi: http://misapuntesde.com
Google Docs RPi: http://goo.gl/Iwhbq
Posts: 233
Joined: Thu Aug 02, 2012 6:35 am
Location: Spain
by JMarco » Mon Nov 05, 2012 3:43 pm
Gracias Ulisses, buena guía.

Pero ya he encontrado el problema, lo que pasaba es que no estaba viendo correctamente al memoria instalada 512, ademas he ampliado la memoria comartida de la GPU a 128 y ya no lay latencia bueno solo lo habitual 500-1000ms.

Saludos cordiales
Posts: 2
Joined: Wed Oct 31, 2012 4:41 pm
Location: Barcelona, Spain
by ff35 » Tue Feb 05, 2013 9:03 am
Dear JMarco,

I have exactly the same problem, What did you do to solve the problem? Can you explain it? I have already split 128 MB memory for the GPU but I have still 7-8 second delay.

Thanks in advance,
Fikret
Posts: 2
Joined: Mon Feb 04, 2013 12:54 pm