[Jde-dev] ejemplo ice+gstreamer
David Lobato
dav.lobato en gmail.com
Jue Nov 5 19:53:43 CET 2009
He subido al branch 5.0 el ejemplo modificado sin la clase application en el
cliente. Mira a ver si te haces con ello.
Probaste a modificar los parámetros de la cámara?
Un saludete.
David.
2009/10/23 David Lobato <dav.lobato en gmail.com>
>
>
> 2009/10/23 Roberto Calvo <rocapal en gsyc.es>
>
> El mar, 20-10-2009 a las 00:42 +0200, David Lobato escribió:
>> >
>> >
>> >
>> > Genial, también esta compilada una nueva versión de ffmpeg.
>> > Comprueba si
>> > funciona correctamente el gst-launch con gstreamer-ffmpeg que
>> > es el
>> > pluginque más dudas tengo que rule bien.
>> >
>> > He probado un pipe con ffmpegcolorspace, y funcionaba bien. Veremos si
>> > funciona correctamente si hacemos alguna codificación, aunque de
>> > momento no creo que lo usemos.
>> >
>> >
>> > Ayer envié el correo y se lo quedó la lista, y en ese momento
>> > no estaba
>> > gstreamer0.10-ffmpeg, pero ahora mismo si lo has instalado si
>> > está. El
>> > único que me queda es gstreamer0.10-nice que justo tiene que
>> > ver con
>> > ICE.
>> >
>> >
>> > No tengo ni idea de que hay dentro de ese paquete... has visto algo
>> > interesante??
>> >
>>
>> Estas librerÃas, casi na :-)
>>
>> /usr/lib/gstreamer-0.10/libgstffmpeg.so
>> /usr/lib/gstreamer-0.10/libgstffmpegscale.so
>> /usr/lib/gstreamer-0.10/libgstpostproc.so
>>
>>
>
> Pues va a ser que las necesitamos... ;)
>
>
>>
>> >
>> > > No me gusta mucho el asunto de tener que compilar todo eso,
>> > pero bueno. De momento tiramos asà y si vemos una manera mejor
>> > pues lo cambiamos.
>> >
>> >
>> > Ten en cuenta que es de la mejor forma que se pueden hacer
>> > estas cosas (al menos que yo conozca). Lo que cuesta es el
>> > hecho de compilar, pero eso ya está hecho :-) Aunque sea
>> > costoso este metodo, ganamos en que controlamos todos los
>> > paquetes y decidimos qué actualizar y qué no.
>> >
>> > Es mejor compilar 70-80 paquetes y tener un sistema estable
>> > (lenny), a tener 600 paquetes de testing :-) Además, al ser
>> > lenny muy reciente, no hay excesivos problemas para compilar.
>> >
>> >
>> > Ok, me parece bien. Si tu no ves problema. Yo es que es oir compilar
>> > cosas y me entra la pereza... Aunque entiendo que con debian es mas o
>> > menos automático.
>>
>> Si, si la pereza no nos la quita nadie. SerÃa diferente a si tuviéramos
>> que generar nosotros los paquetes y compilar. Pero con debian, te bajas
>> las fuentes, lanzas dpkg-buildpackage y cruzas los dedos :-)
>>
>>
> No se hablé mas.
>
>
>
>>
>> >
>> > Te adjunto el ejemplo que nos traemos entre manos. Ahora se saca el
>> > video directamente en YUV2 de la webcam y se transmite asÃ. El visor
>> > hace una transformación básica a escala de grises.
>> >
>> > Resultados, el servidor no sube del 2% y el cliente convirtiendo se
>> > pone al 15% y sólo recibiendo al 2%.
>> > Pruebalo cuando tengas un momento en la pico.
>>
>> El servidor arrancado, consume del 2% al 5% a 640x480 :-) y si conecto
>> el cliente en otra máquina, el consumo llega hasta el 12%-15%
>>
>>
> Perdona, los porcentajes que envié los saqué a 320x240 a 30fps. Probando a
> 640x480 30fps obtengo resultados parecidos.
>
>
>> Por cierto, en el cliente la imagen la obtengo con un poco de LAG, pero
>> visualmente si me parece que va cerca de los 25fps, sin embargo la GUI
>> muestra 7-8 (creo que es imposible).
>>
>>
> Si, yo también veo una latencia importante. Creo que gstremer tiene algo
> para ajustar estas cosas. De todas formas, bajando los fps a 15 es
> aceptable, no creo que transmitamos a 30fps, no?
>
> El contador de la GUI es mas robusto ahora, deberÃa dar la cuenta bien.
> Prueba a cambiar las condiciones de luz de la cámara y fijaté si varÃan los
> fps. Te sugiero que pruebes el modo de exposición automático, ajustandolo
> con el paquete que envié. Cambios?
>
>
>
>> El cliente ejecutado en la pico rondaba el 35% pero no es muy fiable,
>> porque lo ejecuto a través de vnc y el rendimiento gráfico asà es
>> penoso. Aunque tampoco importa mucho cuanto consume el cliente en la
>> pico, porque normalmente no se va a ejecutar.
>>
>
> La mayor parte de CPU se va en transformación YUV->RGB. Podemos evitar este
> paso usando la extension Xv del servidor X, que permite usar YUV
> directamente (está pensada para mostrar stream de video con alto
> rendimiento). Aunque no he dado con la manera buena de hacerlo con GTK.
>
>
>>
>> Creo que es una muy buena aproximación la que has hecho David :-)
>>
>> Me gustarÃa saber cuanto de costoso es en el cliente, pasar a RGB
>> mediante una tabla estilo libcolorspaces (o incluso hacer esta
>> conversión en el servidor). Por que si por ejemplo, si en el servidor
>> convertimos a RGB utilizando libcolorspaces, y eso sube un 5%, creo que
>> es asumible para que todos los componentes trabajen con RGB.
>>
>> ¿Cómo lo ves?
>>
>>
> Veo que habrÃa que justificar que necesitamos RGB, ya que por el momento
> YUV nos da alguna ventaja. La mas destacable es que YUV2, el formato que
> saca la cámara directamente, usa un 33% menos de datos que RGB para
> transmitir la misma información (la cámara no da RGB directamente), ya que
> obtenemos 2 pixels RGB (6bytes) por cada 4bytes YUV.
>
> Esto en local quizá no importe, pero si transmitimos por la red creo que es
> mejor solución.
>
> Lo dicho, habrá que ver los beneficios/contras de usar cada uno de los
> formatos.
>
>
> David.
>
>
> >
>> > Saludetes,
>> > David.
>> >
>> >
>> >
>> >
>> >
>> > >
>> > > Te comento cuando haga mas pruebas.
>> > >
>> > > David.
>> > >
>> > > 2009/10/15 Roberto Calvo <rocapal en gsyc.es>
>> > > David,
>> > >
>> > > Ya tengo algo, no lo tengo completo pero puedes
>> > hacer pruebas.
>> > >
>> > > Los tienes en [1] y con la siguiente linea lo añades
>> > al
>> > > source.list
>> > >
>> > > deb http://jde.gsyc.es/apt/ lenny gstreamer
>> > >
>> > > Como ves, hay casi 50 paquetes debian, ha costado el
>> > jodido
>> > > backport, es
>> > > la recursividad llevada al limite jeje. Lo único que
>> > me
>> > > preocupa es que
>> > > he tenido que compilar también la glib2.0, pero ha
>> > compilado
>> > > correctamente.
>> > >
>> > > Únicamente me queda por hacer el backport de:
>> > >
>> > > * gstreamer0.10-nice: tengo que buscar una
>> > dependencia que
>> > > tiene, que
>> > > no logro encontrar el paquete :-O
>> > >
>> > > * gstreamer0.10-ffmpeg: Este va a tener jaleo,
>> > porque
>> > > depende de
>> > > todas las librerÃas de ffmpeg pero creo que se puede
>> > > conseguir.
>> > >
>> > >
>> > > un saludo!
>> > >
>> > > [1]
>> > http://jde.gsyc.es/apt/dists/lenny/gstreamer/binary-i386/
>> > >
>> > >
>> > > El mié, 14-10-2009 a las 12:41 +0200, Roberto Calvo
>> > escribió:
>> > >
>> > >
>> > > > El mar, 13-10-2009 a las 18:20 +0200, David Lobato
>> > escribió:
>> > > > > Ya tengo un debian lenny andando para empezar
>> > con pruebas.
>> > > > > Roberto, sacaste los paquetes de gstreamer para
>> > lenny?? Si
>> > > los tienes
>> > > > > ponlos por algún lado para ponermelos.
>> > > > >
>> > > >
>> > > > Los he conseguido compilar en lenny, pero
>> > justamente al
>> > > final falla a la
>> > > > hora de generar los paquetes debian.
>> > > >
>> > > > Dejame echarle un ojo más, a ver si veo algo.
>> > > >
>> > > > un saludete!
>> > > >
>> > > >
>> > > > >
>> > > > > Saludetes.
>> > > > >
>> > > > > 2009/10/6 Roberto Calvo <rocapal en gsyc.es>
>> > > > >
>> > > > > Grachie David!
>> > > > >
>> > > > > Hemos estado haciendo unas pruebas con
>> > David en la
>> > > picoITX
>> > > > > (sobre SID),
>> > > > > recordad que es un procesador de 1Ghz.
>> > > > >
>> > > > >
>> > > > > Component Frames
>> > > Resolution
>> > > > > Porcentaje CPU
>> > > > >
>> > >
>> >
>> -----------------------------------------------------------------------
>> > > > > varcolorserver 25fps
>> > 320x240
>> > > > > 20-25%
>> > > > > varcolorserver + envio 25fps
>> > 320x240
>> > > > > 28-32
>> > > > >
>> > > > > varcolorserver 25fps
>> > 640x480
>> > > >
>> > > > > 95 %
>> > > > >
>> > > > >
>> > > > > Hemos visto que el problema parece estar
>> > en que
>> > > gstreamer
>> > > > > siempre hace
>> > > > > una recodificación si lo que queremos
>> > obtener es
>> > > RGB (cosa que
>> > > > > no
>> > > > > deberÃa ya que video4linux2 no lo hace),
>> > > > >
>> > > > > La buena noticia es que hemos visto que
>> > utilizando
>> > > gstreamer y
>> > > > > obteniendo las imágenes en YUV (320x240
>> > y
>> > > 640x480), el
>> > > > > procesamiento de
>> > > > > la CPU ronda entre 3% y 6%
>> > > > >
>> > > > > Los siguientes pasos serán ver si se
>> > puede
>> > > optimizar el
>> > > > > pipeline de
>> > > > > gstreamer para obtener RGB con un bajo
>> > coste de
>> > > CPU, y
>> > > > > estudiar la
>> > > > > posibilidad de trabajar siempre en YUV.
>> > > > >
>> > > > > un saludete!
>> > > > >
>> > > > > El mar, 06-10-2009 a las 13:05 +0200,
>> > David Lobato
>> > > escribió:
>> > > > >
>> > > > > > Roberto,
>> > > > > >
>> > > > > > Te adjunto el ejemplo del que
>> > hablabamos. Una
>> > > vez compilado
>> > > > > genera dos
>> > > > > > ejecutables, varcolorserver y
>> > varcolorviewgtkmm.
>> > > > > > Ejecutalos pasando a cada uno su
>> > configuracion
>> > > con
>> > > > > > --Ice.Config=<fichero>
>> > > > > > Usa los cfg con los mismos nombres que
>> > los
>> > > ejecutables.
>> > > > > >
>> > > > > > Si tienes cualquier problema
>> > comentamelo.
>> > > > > >
>> > > > > > Saludetes.
>> > > > >
>> > > > > >
>> > _______________________________________________
>> > > > > > Jde-developers mailing list
>> > > > > > Jde-developers en gsyc.es
>> > > > > >
>> > > > >
>> > >
>> >
>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>> > > > >
>> > > > >
>> > > > > --
>> > > > > Roberto Calvo Palomino | Libre
>> > Software
>> > > Engineering
>> > > > > Lab (GSyC)
>> > > > > Tel: (+34) 91 488 85 23 |
>> > Universidad Rey
>> > > Juan Carlos
>> > > > > Tel: (+34) 91 488 81 05 | Edif.
>> > > Departamental II -
>> > > > > Despacho 116
>> > > > > rocapal en gsyc.es |
>> > c/Tulipán s/n
>> > > 28933 Móstoles
>> > > > > (Madrid)
>> > > > > http://libresoft.es/
>> > > > >
>> > > > > GPG-KEY:
>> > http://gsyc.es/~rocapal/rocapal.gpg
>> > > > >
>> > > > >
>> > > > >
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > Jde-developers mailing list
>> > > > Jde-developers en gsyc.es
>> > > >
>> > >
>> >
>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>> > >
>> > >
>> > > --
>> > > Roberto Calvo Palomino | Libre Software
>> > Engineering
>> > > Lab (GSyC)
>> > > Tel: (+34) 91 488 85 23 | Universidad Rey
>> > Juan Carlos
>> > > Tel: (+34) 91 488 81 05 | Edif.
>> > Departamental II -
>> > > Despacho 116
>> > > rocapal en gsyc.es | c/Tulipán s/n
>> > 28933 Móstoles
>> > > (Madrid)
>> > > http://libresoft.es/
>> > >
>> > > GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
>> > >
>> > >
>> > > --
>> > > Roberto Calvo Palomino | Libre Software
>> > Engineering
>> > > Lab (GSyC)
>> > > Tel: (+34) 91 488 85 23 | Universidad Rey
>> > Juan Carlos
>> > > Tel: (+34) 91 488 81 05 | Edif.
>> > Departamental II -
>> > > Despacho 116
>> > > rocapal en gsyc.es | c/Tulipán s/n
>> > 28933 Móstoles
>> > > (Madrid)
>> > > http://libresoft.es/
>> > >
>> > > GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
>> > >
>> > >
>> > >
>> >
>> >
>> >
>> > --
>> >
>> > Roberto Calvo Palomino | Libre Software Engineering
>> > Lab (GSyC)
>> > Tel: (+34) 91 488 85 23 | Universidad Rey Juan Carlos
>> > Tel: (+34) 91 488 81 05 | Edif. Departamental II -
>> > Despacho 116
>> > rocapal en gsyc.es | c/Tulipán s/n 28933 Móstoles
>> > (Madrid)
>> > http://libresoft.es/
>> >
>> > GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
>> >
>> >
>> >
>>
>>
>> --
>> Roberto Calvo Palomino | Libre Software Engineering Lab (GSyC)
>> Tel: (+34) 91 488 85 23 | Universidad Rey Juan Carlos
>> Tel: (+34) 91 488 81 05 | Edif. Departamental II - Despacho 116
>> rocapal en gsyc.es | c/Tulipán s/n 28933 Móstoles (Madrid)
>> http://libresoft.es/
>>
>> GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
>>
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20091105/7d938132/attachment-0001.htm
More information about the Jde-developers
mailing list