Si te gusta este blog...
¡Visita mi blog en inglés!
Varias personas me han preguntado cómo hice los screencast (grabación de audio y vídeo de lo que va sucediendo en pantalla) de los vídeos con los que presenté el proyecto final de carrera. Estos vídeos son una grabación del funcionamiento de las aplicaciones con audio y video a 1024x768.
Resultó más complicado de hacerlo en Linux de lo que pensaba. La manera clásica de capturar lo que ocurre en la pantalla es xvidcap. Este programa come muchisimos recursos al capturar vídeo fluido y mi portatil no era capaz de mover las aplicaciones al mismo tiempo. Buscando por internet encontré una alternativa más moderna: Recordmydesktop.
No sé cómo funcionará internamente RecordMydesktop pero es mucho más rápido que xvidcap y permite grabar audio y vídeo simultáneamente sin saltos. Además genera archivos usando formatos abiertos: theora para vídeo y vorbis para el audio.
Ya puestos en materia, RecordMyDesktop nos genera archivos de nombre out.ogg.x. Para evitar problemas (yo perdí archivos) sugiero cambiar ese nombre genérico a algo más descriptivo como video_[aplicacion]_[dia].ogg
El mayor problema que me encontré a la hora de usar estos ficheros es que la versión de Recordmydesktop que estaba en debian (testing) en aquel momento (v0.3.4) generaba oggs corruptos y no estaba documentado en ningún sitio. La consecuencia es que los archivos se podían abrir para verlos pero no para editarlos. Tras mucho tiempo perdido en ensayos de prueba y error decidí que lo mejor era hacer un paso intermedio para convertir los archivos OGG a AVI mediante mencoder: mencoder -ovc lavc -oac pcm video_aplicacion_dia.ogg
Mencoder nos genera un fichero test.avi por defecto.
El siguiente paso, algo necesario salvo que uses un micrófono de buena calidad, es editar el audio para borrar ruidos y sobre todo para quitar el ruido estático de fondo. Para esto necesitamos extraer el audio del vídeo en un fichero independiente. Yo lo hice con mplayer -vo null -vc dump -ao pcm:file=audio.wav test.avi
Ahora ya podemos abrir el audio.wav con un editor como Audacity y editar el sonido. Una vez con el audio limpio y el vídeo ya podemos pasar a editar el vídeo.
¿Y para montar el vídeo final en Linux? No encontré ningún editor de vídeo no lineal open source capaz de manejar una resolución 1024x768. Kino esta preparado exclusivamente para DV y Cinelerra no supe hacerlo funcionar. La falta de tiempo y la necesidad me obligó a tragarme el orgullo y usar una herramienta comercial en Windows...
En julio presenté mi proyecto final de carrera titulado "Integración de aplicaciones en redes telefónicas IP" pero aún no lo había colgado en esta página para ponerlo a disposición pública.
Un breve resumen del proyecto:
Algunos datos:
El PFC lo podeis descargar libremente. Si también queréis las fuentes originales en LaTEX para usar mi PFC como base para el vuestro, podéis pedírmelas por email.
En los últimos meses he estado trabajando en mi PFC titulado "Integración de aplicaciones en redes telefónicas IP". El proyecto tiene dos partes diferenciadas. Por un lado se habla de voz sobre IP de forma teórica, exponiendo aspectos técnicos como los protocolos de VoIP (Sip, H.323, Jingle, IAX) y mostrando las nuevas empresas que gracias a Internet están creando un mercado telefónico alternativo y comiendo parte del pastel de las operadoras telefónicas tradicionales. En esta parte también se habla de la evolución en la que las operadoras están inmersas en la actualidad, pasando sus redes telefónicas de la conmutación de circuitos clásica a redes IMS completamente IP basadas en conmutación de paquetes.
Es bonito ver que las razones de esta convergencia hacia IMS responde a mejoras tecnológicas pero también a cambios sociales. Los operadores avanzan hacia IMS porque una red unificada IP es mucho mejor en el sentido de que acarrea menos costes, es más sencilla de gestionar y proporciona mayor funcionalidad. También es una respuesta a los cambios en la sociedad, que cada vez usa más la red telefónica (fija y móvil) para transmitir datos.
En la segunda parte del proyecto se trata sobre la integración de voz sobre IP en aplicaciones convencionales. Comento las diferencias que existen entre la la telefonía IP y la telefonía tradicional y después expongo diversas maneras de construir una aplicación capaz de ofrecer pequeños servicios de telecomunicación.
El planteamiento original del proyecto incluía la programación de un prototipo de aplicación. Quería desarrollar un pequeño software de gestión con integración telefónica, pero al final he preferido partir la aplicación en dos partes diferenciadas. Por un lado se ha desarrollado un prototipo de gestión aprovechando el código que programamos el verano pasado Javier Nuño y yo. Este prototipo ilustra cómo se construye una pequeña aplicación web y muestra la arquitectura moderna de una aplicación web en Java siguiendo el patrón MVC y con persistencia de objetos en una base de datos. El segundo prototipo es un proof of concept de un servicio telemático click-to-call similar a lo que ofrece Jajah. Esta programado en Java usando Asterisk como plataforma telefónica.
Para ver este video necesitas el reproductor flash.
Vídeo de demostración del funcionamiento del prototipo 1. (5:35)Para ver este video necesitas el reproductor flash.
Vídeo de demostración del funcionamiento del prototipo 2. (3:02)Ahora estoy ocupado preparando la presentación del PFC porque esta semana tengo prevista la defensa ante un tribunal. Si todo sale bien, tendré el título de ingeniero bajo el brazo y será el fin de mi etapa universitaria.