[Jde-dev] ejemplo ice+gstreamer

Roberto Calvo rocapal en libresoft.es
Jue Nov 5 23:01:14 CET 2009


David,

entiendo que es esta ¿verdad?

http://svn.jde.gsyc.es/jde/jdec/branches/5.0/examples/ice/example5/varcolorviewgtkmm.cpp


El jue, 05-11-2009 a las 13:53 -0500, David Lobato escribió:
> 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
>                 
>                 
>         
> 
> 


-- 
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/20091105/9c194d32/attachment.pgp 


More information about the Jde-developers mailing list