Para poder probar todo lo contado en las anteriores entradas era necesario tener un elemento externo a los ya explicados que fuera el encargado de realizar la conexión entre los MMDevices.
Conectar dos MMDevices desde consola: argos_config
Servir una cámara Video4Linux 2 con Argos
Tras un parón en mis entradas, vuelvo a la carga para contar como servir cámaras (o cualquier otro dispositivo) que funcionen utilizando la librería Video4Linux 2 (v4l2). Dentro de este grupo se engloban tanto cámaras USB, tarjetas capturadoras de televisión, TDT...
- Gstreamer 0.10 (en Debian y similares, paquete libgstreamer0.10-dev)
- Gst-RTSP-Server 0.10 (en Debian y similares, paquete libgstrtspserver-0.10-dev)
- Ice.Default.Locator: el locator por defecto para la aplicación. Se utilizará para resolver nombres de proxies indirectos.
- Adapter.Endpoints: el endpoint que tomará el adaptador de objetos de la aplicación.
- Argos.MMDeviceDeployer: el proxy al servicio de negociación/creación de MMDevices comentado con anterioridad.
Sumidero en tu escritorio: RenderApplet
- Instala el programa bonobo-activation-sysconf. En sistemas Debian-based se encuentra en el paquete libbonobo2-bin.
- Ejecuta, como super-usuario, lo siguiente:
- Reiniciar la sesión de tu usuario
- "Matar" los procesos "bonobo-activation-server" y "gnome-panel". Durante unos instantes desaparecerán todos tus paneles, pero a los pocos segundos volverán, tranquilo :)
- Ejecución como applet: Sobre alguno de los paneles de Gnome pulsamos con el botón derecho del ratón en una zona libre y seleccionamos la opción "Añadir al panel". Se abrirá una ventana dónde podremos encontrar el "Argos Media Render Applet". Lo seleccionamos y le damos a "Añadir" y debería aparecernos un círculo rojo en nuestro panel (el applet).
- Ejecución como programa externo: vamos a la ruta del código fuente dónde está el programa o bien a la ruta de instalación (por defecto /usr/local/share/argos-render-applet) y ejecutar como un programa normal desde la terminal el fichero RenderApplet.py, pasándole como primer argumento la palabra "window". Aparecerá una nueva y pequeña ventana que incluye el mismo icono que podríamos ver en el panel si hubiéramos realizado la otra opción.
MMDeviceCreator: instalación y puesta en marcha
Como comenté en mi entrada anterior (Servicio de negociación), he escrito un servicio IceBox que proporciona, a aquellos clientes que lo necesiten, toda la negociación que puedan necesitar para realizar conexiones AVStream.
Etiquetas: ice, icebox, mmdevicecreator
Servicio de negociación
Etiquetas: avstreams, mmdevicecreator, mmdevicedeployer
[RECETA] Desplegar MediaServer para cámaras Axis
- El primero será en el que le especifiquemos a IceBox que librería cargar y una serie de configuraciones de administración de los servicios ejecutándose en ese IceBox.
- El segundo es el que IceBox pasará a la librería y que contendrá parámetros que utilizará el MediaServer para Axis para funcionar.
Final en Albacete y ¡premio!
Esta mañana nos hemos venido mi bien y fiel amigo Manuel y yo a Albacete a la final del Concurso y a las actividades relacionadas. Un día de software libre en plan hermandad, comilona por la cara y claro, la presentación del proyecto.
¡Finalista!
Escribo hoy, festivo en Ciudad Real, para deciros que me han seleccionado como finalista del Concurso Universitario de Software Libre de Castilla-la Mancha.
MediaRender: en dos sabores
Cuando terminé el MediaServer, que comenté hace unas cuantas entradas, empecé a desarrollar el MediaRender.
MediaRender pretendía ser algo muy parecido al MediaServer y que lo complementa: el MediaRender representaría de alguna forma en otro sitio lo que el MediaServer estaba distribuyendo.
Empecé a programarlo siguiendo una estructura casi igual que la del MediaServer: un servicio IceBox que, por un lado, anunciara en un canal de eventos al objeto y, por otro, lidiara con la representación del flujo. Conseguí hacerlo en poco tiempo, reutilizando mucho código del que estaba escrito para el MediaServer (aunque con bastantes arreglos menores) y conseguí poner en marcha un MediaRender basado en Gstreamer que fuera capaz de crear una ventana a pantalla completa y representar el flujo enviado por el MediaServer de Axis que ya tenía.
Documentación para el Concurso
Dentro de la evaluación del Concurso Universitario de Software Libre se pide una documentación sobre el proyecto, en la que se explique su filosofía, objetivos, puesta en marcha...
Publico aquí la documentación, por si alguien además de los evaluadores quisiera verla. Estoy abierto a todo tipo de comentarios. ¡Participad!
Documentación de Argos
Vídeo demostrativo
En el transcurso del vídeo, primero se observa el canal de anunciamientos, dónde tanto un sumidero como una fuente están enviando sus mensajes de anuncio.
Tras ello, se utiliza la propia herramienta como sumidero de vídeo para conectarse con la fuente que está funcionando. Por último, el vídeo muestra como conectar la fuente a otro sumidero, que se está ejecutando en la misma máquina, representando el flujo de vídeo en una ventana independiente.
Y a última hora...
Justo para la evaluación del concurso ha llegado la primera versión del "configurador" de flujos de Argos. Desde luego, no es ni mucho menos lo que espero que llegue a ser (por ahora solo es un programa en terminal), pero es el primer paso.
Media Render
aunque se me ha olvidado comentarlo, de forma paralela al desarrollo del Media Server se ha realizado el del Media Render.
Etiquetas: ice, mediarender
Despliegue de MediaServer en IceGrid
Como ya comenté hace algunas entradas, gracias a mi trabajo descubrí algunas herramientas avanzadas de Ice. Entre ellas está IceGrid, que permite realizar despliegues de aplicaciones de una forma sencilla. Además, aporta transparencia de localización y la activación automática de servidores.
Etiquetas: ice, mediaserver
Gran hito gran: MediaServer
Hoy voy a hacer una pequeña introducción al que va a ser uno de los grandes hitos de mi proyecto: el MediaServer.
Etiquetas: cámaras, ice, mediaserver, video
Asuntos laborales
Como ya comenté, compagino la elaboración de mi PFC con mi trabajo dentro del grupo ARCO, lo cual hace que, en ocasiones, pueda dedicarle menos tiempo del deseado al proyecto.
Anteproyecto aceptado
Bueno, parece que he tenido suerte y entregué el anteproyecto justo cuando la comisión académica iba a reunirse para estudiar las solicitudes.
Etiquetas: burocracia, pfc
Anteproyecto presentado
Tras un par de semanas escribiendo el anteproyecto para presentarlo en mi facultad, ya está hecho y presentado. La solicitud de estudio del mismo la presenté el 14 de Enero.
Etiquetas: burocracia, pfc