[Jde-dev] ejemplo ice+gstreamer

Roberto Calvo rocapal en gsyc.es
Vie Oct 23 11:01:44 CEST 2009


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


>         
>         > 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 :-)


> 
> 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%

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).

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.

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?

> 
> 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 mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 198 bytes
Descripción: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
 digitalmente
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20091023/3013d0f4/attachment.pgp 


More information about the Jde-developers mailing list