Mandar transmisión de video por UDP

1,276 views
Skip to first unread message

franco f

unread,
Jan 17, 2014, 11:28:58 AM1/17/14
to rsp...@googlegroups.com
Buenas gente de la comunidad, estuve viendo que para transmitir datos por la red desde el RPi se lo puede hacer con los protocolos TCP y UDP, pero que este ultimo es mas eficiente respecto del uso del ancho de banda y la comunicacion es mas rapida. Necesito mandar video y poder visualizarlo en una página Web, pero lo quiero hacer por UDP unicamente, estoy medio perdido, estuve viendo como mandar texto desde la RPi a una PC pero no se como seria para video y con Windows. Saludos

Roberto J. R.

unread,
Jan 17, 2014, 11:54:06 AM1/17/14
to rsp...@googlegroups.com
Hola franco. Creo que la mención a UDP se refiere en realidad a RTSP, que utiliza UDP por udp por debajo para el video, y TCP para las señales de control. Yo hice una prueba de transmisión de video vía USTREAM, la recetita la dejé documentada (como nunca!), así que te paso el link:

http://porsiserompeeldisco.blogspot.com.ar/2014/01/live-streaming-en-ustream-con-raspberry.html

Saludos.


El 17 de enero de 2014, 13:28, franco f <francof...@gmail.com> escribió:
Buenas gente de la comunidad, estuve viendo que para transmitir datos por la red desde el RPi se lo puede hacer con los protocolos TCP y UDP, pero que este ultimo es mas eficiente respecto del uso del ancho de banda y la comunicacion es mas rapida. Necesito mandar video y poder visualizarlo en una página Web, pero lo quiero hacer por UDP unicamente, estoy medio perdido, estuve viendo como mandar texto desde la RPi a una PC pero no se como seria para video y con Windows. Saludos

--
Comunidad de usuarios Raspberry Pi en Argentina
 
Web: raspberrypi.com.ar
FB: facebook.com/RaspberryPiAr
Twitter: twitter.com/raspberrypi_ar
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad Raspberry Pi en Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rspi-ar+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--

Roberto Paz

franco f

unread,
Jan 25, 2014, 10:59:08 AM1/25/14
to rsp...@googlegroups.com
Gracias por la respuesta Roberto, el tema es que yo no tengo la cámara de la fundación, sino una webcam usb, asi que estoy viendo para hacer el stream con este tipo de camaras, saludos 

Luciano Giovannini

unread,
Jan 25, 2014, 3:24:40 PM1/25/14
to rsp...@googlegroups.com
Podes usar el paquete Motion.
Acá tenes mas información: http://sirlagz.net/2013/02/12/quickie-getting-motion-working-on-the-raspberry-pi/

Luciano

2014/1/25 franco f <francof...@gmail.com>
Gracias por la respuesta Roberto, el tema es que yo no tengo la cámara de la fundación, sino una webcam usb, asi que estoy viendo para hacer el stream con este tipo de camaras, saludos 

El viernes, 17 de enero de 2014 13:28:58 UTC-3, franco f escribió:
Buenas gente de la comunidad, estuve viendo que para transmitir datos por la red desde el RPi se lo puede hacer con los protocolos TCP y UDP, pero que este ultimo es mas eficiente respecto del uso del ancho de banda y la comunicacion es mas rapida. Necesito mandar video y poder visualizarlo en una página Web, pero lo quiero hacer por UDP unicamente, estoy medio perdido, estuve viendo como mandar texto desde la RPi a una PC pero no se como seria para video y con Windows. Saludos

--

Roberto J. R.

unread,
Jan 25, 2014, 11:02:50 PM1/25/14
to rsp...@googlegroups.com
Hola Franco. Si tenés una webcam, el principio de funcionamiento es el mismo, salvo que en ese caso la fuente de video es "/dev/video0". Si te fijás en las referencias del blog, en una de ellas utiliza justamente la fuente de la webcam para realizar la transmisión hacia Ustream. Yo solo lo adapté para utilizar la RPi camera board.

Teniendo en cuenta que solo cambia la fuente, la parte de transmisión es idéntica: via rtsp, o vía web generando tramos de video que lo podés embeber en una página web, aunque esto no sería exactamente en tiempo real. Lo más parecido a eso es el mecanismo por VLC o Ustream.

Saludos.

--

Roberto Paz

Fantasma Ghost

unread,
Jan 27, 2014, 5:34:23 PM1/27/14
to rsp...@googlegroups.com
Hola gente, gracias por lo compartido en este post. Estoy esperando aún mi camara que pedí para la Rpi y mientras tanto usé una vieja camara web Genius USB que funcionó de maravillas transmitiendo para Ustream (gracias a los pasos de Roberto y a cambiar la fuente a "/dev/video0")

Mi pregunta ahora es sobre el AUDIO. Esta cámara tiene un microfono y permitiría transmitir audio hacia Ustream junto con el video pero al conectar el conector plug 3.5 en el jack de la Raspberry no pasa el audio. Obviamente estoy solo haciendo stream de video y no del audio.
?Alguien logró hacer esto y me puede dar una mano?

saludos!
Diego

Roberto J. R.

unread,
Jan 27, 2014, 7:39:17 PM1/27/14
to rsp...@googlegroups.com
por lo que se ve de la página de manual del avconv, es similar a ffmpeg, por lo cual las entradas tanto de video como de audio se pasan con "-i", y el programa solo se da cuenta del tipo de entrada que es, o bien uno le puede especificar el tipo de audio que ingresa por el dispositivo. Supongo que una entrada de audio se puede especificar como "-i /dev/snd/<algo>".

Luciano Giovannini

unread,
Jan 27, 2014, 8:58:32 PM1/27/14
to rsp...@googlegroups.com
Interesante aporte.
Te consulto, que resolución estás usando y que ancho de banda de Upstream te consume la transmisión de datos a Ustream?

Gracias
Luciano

2014-01-27 Roberto J. R. <rjr...@gmail.com>

Fer Juarez

unread,
Jan 27, 2014, 9:14:53 PM1/27/14
to rsp...@googlegroups.com
El tema Diego es que el jack de audio es de salida. Si no me equivoco la raspi no tiene entra de audio.
La webcam viene con un conector de audio? podrias usar una de las que traen el mic incorporado por usb, o usar un mic usb.
Aprovecho para preguntar, alguien sabe si puede bajarse la calidad de raspivid para hacer streaming por vlc y que se vea "decente"?. La calidad es zarpada pero tiene un retardo importante.
Saludos!


El 27 de enero de 2014, 19:34, Fantasma Ghost <ern...@gmail.com> escribió:

Roberto J. R.

unread,
Jan 27, 2014, 10:04:51 PM1/27/14
to rsp...@googlegroups.com
avconf hace la conversión de la entrada de video a formato flv, y recién lo manda a Ustream, así que el ancho de banda consumido es razonable (es como "subir" un video de youtube, operación inversa a la que uno habitualmente hace). Yo usaba la misma conexión para subir video y bajar el resultado paralelamente en un navegador, claro que el enlace qu utilicé para las pruebas es un Fibertel de 8Mb, pero compartido en una red empresarial que usamos varios (jdownloader a full).

Por otra parte, si bien el jack de audio es efectivamente de salida, creo que se podría hacer las pruebas con algún micrófono USB.

Saludos
Message has been deleted

Roberto J. R.

unread,
Jan 28, 2014, 10:23:49 AM1/28/14
to rsp...@googlegroups.com
Hola. Creo que si. La variante con una webcam está bien descripta en:

http://techzany.com/2013/09/live-streaming-video-using-avconv-and-a-raspberry-pi/

El primer "-f video4linux2" indica el tipo de video que es la fuente de video (lo que entra por /dev/video0), y el segundo "-f flv" indica en que formato de video se va a transcodificar lo que enviás a ustream (para salvar ancho de banda, como se mencionó en una entrada anterior). Una entrada adiciona de audio se indicaría también con un parámetro "-i".

El url de ustream al que tenés que apuntar, te lo indica el mismo Ustream cuando creas el canal, en la parte "Dashboard->Remote->RTMP URL".

Saludos.



El 28 de enero de 2014, 12:05, franco f <francof...@gmail.com> escribió:
Hola Roberto, la instrucción entonces para mi caso seria algo asi:

avconv -f video4linux2 -s 640×360 -r 10 -b 350k -i /dev/video0 -f flv  "

En el lado del Raspberry Pi.

En el lado de Ustream tendria que poner la siguiente url:


No se si estoy bien encaminado, saludos 

--
Comunidad de usuarios Raspberry Pi en Argentina
 
Web: raspberrypi.com.ar
FB: facebook.com/RaspberryPiAr
Twitter: twitter.com/raspberrypi_ar
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad Raspberry Pi en Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rspi-ar+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--

Roberto Paz

Fantasma Ghost

unread,
Jan 28, 2014, 12:52:52 PM1/28/14
to rsp...@googlegroups.com
Gracias Roberto por el dato...leí la documentación de AVConv y efectivamente se debe tratar el audio con -i (más otras opciones).

Por otro lado, tal como dijeron el jack de audio es de salida. Voy a probar con una placa de audio USB que compré hace tiempo a ver que sale (Gracias Fer por esta aclaración del jack, no lo había notado).

Luciano, yo estoy usando resolución de de 640x480, transmitiendo solo video a 15fps y me implica unos 150kbits/s

Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 200 kb/s, 1k tbn, 14 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> flv)
Press ctrl-c to stop encoding
frame=  251 fps=  4 q=2.3 size=    1114kB time=62.57 bitrate= 145.8kbits/s dup=0 drop=4

Esto es lo que estoy enviando para realizar la transmision:

 avconv -f video4linux2 -s 320x240 -r 14 -b 350k -i /dev/video0 -f flv rtmp://1.5717947.fme.ustream.tv/ustreamVideo/5233422/"Ustream_Key"

Saludos.

franco f

unread,
Jan 28, 2014, 4:07:31 PM1/28/14
to rsp...@googlegroups.com
Al parecer no tengo dentro del repositorio de raspbian el programa avconv. Estuve mirando que necesito instalar ffmpeg pero no se bien como, alguien que me pueda dar una mano? salulos 


El viernes, 17 de enero de 2014 13:28:58 UTC-3, franco f escribió:

Roberto J. R.

unread,
Jan 28, 2014, 4:32:33 PM1/28/14
to rsp...@googlegroups.com
Es parte del paquete "libav-tools". A mi me aparece listado e instalable vía apt-get.


--
Comunidad de usuarios Raspberry Pi en Argentina
 
Web: raspberrypi.com.ar
FB: facebook.com/RaspberryPiAr
Twitter: twitter.com/raspberrypi_ar
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad Raspberry Pi en Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rspi-ar+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--

Roberto Paz

franco f

unread,
Jan 29, 2014, 8:38:31 AM1/29/14
to rsp...@googlegroups.com
Buenas, hoy puede hacer el stream a USTREAM pero tiene un retraso bastante grande, yo pensaba utilizarlo para una transmisión en tiempo real. Seguramente tiene mucho que ver mi conexión a Internet. bueno seguiré buscando alternativas, saludos 




El viernes, 17 de enero de 2014 13:28:58 UTC-3, franco f escribió:

franco f

unread,
Jan 29, 2014, 8:43:13 AM1/29/14
to rsp...@googlegroups.com
De todas formas me pareció un método muy practico y  le veo la gran ventaja de que se puede utilizar para monitoreo remoto desde cualquier lugar. Habria que ver si se puede hacer esto mismo pero en vez de subirlo a Internet, hacerlo dentro de la LAN seguramente la velocidad va a ser otra, saludos 

Fer Juarez

unread,
Jan 29, 2014, 9:02:15 AM1/29/14
to rsp...@googlegroups.com
Alguien uso vlc para hacer streaming en local? hay alguna manera de bajarle la calidad a raspivid? O recomiendan otro medodo?
Estoy haciendo unas pruebas por vlc en local para consumir desde un cliente Android y tiene un retraso enorme


--

Roberto J. R.

unread,
Jan 29, 2014, 9:17:48 AM1/29/14
to rsp...@googlegroups.com
Hola. Efectivamente Ustream tiene retraso, y por la poca experiencia que tengo viendo algún que otro programa por esa vía, creo que es "normal". Inclusive puede suceder que ese retraso vaya aumentando con el tiempo, y mientras uno no reinicie el acceso a la página con el browser, ese tiempo no se recupera.

La forma de acercarse al tiempo real, es mediante conexión con VLC con rtsp. La forma de bajar la calidad, es haciéndolo en origen, ya sea bajándole la resolución a un tamaño manejable, así también como transcodificando el video a un formato más eficiente, como flv. Se puede utilizar "avserver", que es un utilitario asociado a avconv, el cual puede funcionar como servidor. Yo no he usado "avserver", sino "ffserver" (parte de ffmpeg), pero asumo que se utilizan de manera similar. Avserver debidamente configurado te proveerá de un puerto de rtsp al cuál te podrás conectar con tu cliente VLC.





--

Roberto Paz

Roberto J. R.

unread,
Jan 29, 2014, 9:19:46 AM1/29/14
to rsp...@googlegroups.com
Acá hay un ejemplo de alguien que hace exactamente eso:

http://coytar.wordpress.com/2012/08/14/rpi-streaming/

Saludos.
--

Roberto Paz
Reply all
Reply to author
Forward
0 new messages