[Jde-dev] ejemplo ice+gstreamer
Roberto Calvo
rocapal en libresoft.es
Vie Nov 6 01:36:51 CET 2009
Solucionado!
Entre Eclipse y Java me estaban volviendo loco, y no incorporaba el .jar
de IceAndroid, en la compilación final. Vamos si compilaba, pero no
enlazaba correctamente y al ejecutar en el movil ... crash!
Ya consigo ejecutar sin heredar de App, y lo mejor de todo es que
consigo establecer comunicación con tu servidor David, además he añadido
un print para cuando hacen un getData() y todo OK! Aunque aún no he
mostrado la imagen, recibo en pixelData un tamaño de 153600 (320*240*2)
¿correcto?
Lo mejor de todo, es que todas estas pruebas de Ice y Android, están
hechas con la última versión de Android, la 1.6 :-))
A dormir!!
El vie, 06-11-2009 a las 00:06 +0100, Roberto Calvo escribió:
> Me esta dando un error muy feo justo al hacer lo siguiente:
>
> [Código en JAVA, que estamos mirando la integración en Android]
>
> Ice.Communicator communicator = Ice.Util.initialize();
>
>
> y el error:
>
> 11-05 23:43:36.351: ERROR/AndroidRuntime(848): Uncaught handler: thread main exiting due to uncaught exception
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): java.lang.VerifyError: com.pentalo.apps.security.Main
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at java.lang.Class.newInstanceImpl(Native Method)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at java.lang.Class.newInstance(Class.java:1472)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2186)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.app.ActivityThread.access$1800(ActivityThread.java:112)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.os.Handler.dispatchMessage(Handler.java:99)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.os.Looper.loop(Looper.java:123)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at android.app.ActivityThread.main(ActivityThread.java:3948)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at java.lang.reflect.Method.invokeNative(Native Method)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at java.lang.reflect.Method.invoke(Method.java:521)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
> 11-05 23:43:36.371: ERROR/AndroidRuntime(848): at dalvik.system.NativeStart.main(Native Method)
>
>
> Muy raro ... voy a intentar basarme en el esqueleto que funciona del
> HelloWorld ... pero me suena raro
>
>
> El jue, 05-11-2009 a las 17:10 -0500, David Lobato escribió:
> > SIp, perdona, se me olvido decirte que era el ejemplo 5.
> >
> >
> >
> >
> > 2009/11/5 Roberto Calvo <rocapal en libresoft.es>
> >
> > 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
> >
> >
> >
> > _______________________________________________
> > Jde-developers mailing list
> > Jde-developers en gsyc.es
> > http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
> _______________________________________________
> 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
------------ 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/20091106/aa5be817/attachment-0001.pgp
More information about the Jde-developers
mailing list