Lo común es realizar la detección de movimientos sobre un dispositivo conectado al ordenador y grabando en tiempo real, pero imagina que ya tienes la grabación, un archivo de vídeo de 12 horas de grabación continua: a ver quien es el guapo que zampa esas 12 horas en busca de alguna actividad.

El otro día un amigo me comentaba esta posibilidad: con la idea de obtener unas secuencias con una calidad mejor de las que puede ofrecer una triste capturadora+cámara+cctv, usar una cámara de vídeo “standard” para “grabar todo, a lo bruto” y a continuación pasar sobre ese (mega) video resultante un “detector de movimientos“.

Por supuesto, la aplicación utilizada para detectar movimientos es Motion, sinembargo Motion no viene preparado para tomar como fuente de datos un simple archivo de vídeo, asi es que lo he hecho es emitir el streaming en localhost del archivo de vídeo con la ayuda de VLC y a continuación lanzar Motion diciendole que dicho streaming es una cámara en red.

Preparar y lanzar Motion

Primero creamos un archivo sencillo de configuración para Motion donde le indicamos la ruta de la cámara que crearemos posterior con VLC. Este archivo contiene los parametros de detección de movimiento habituales: threshold, despeckle, post_capture, etc… sigue …

Rastro del ratón en Linux

29 de Enero, 2010

El otro día estaba viendo un set de fotos en Flickr creado a partir de las imágenes resultantes de seguir el movimiento del ratón en el escritorio durante un periodo de tiempo determinado. Las imágenes están aqui.
Es una chorrada lo sé, pero quise probarlo, pero “oh! dios mio!” la aplicación solo está disponible para Windows y Mac. Maldita sea, aquí me han tocado los la moral.

Pero ete aquí las bondades del open source, un par de vueltas por internet hasta llegar aquí, ya tenemos el 90% hecho: una mini-aplicación que muestra las coordenadas del ratón en una ventanita QT. Solo falta hacer un pequeño extra para que los datos de las coordenadas se vuelquen a un fichero y a partir de este generar una imagen del rastro seguido por el ratón durante el tiempo que queramos.

Si te quita el sueño tener tu propio mouse pointer track, compila tu propio programa en 3 comodos pasos, tal y como sigue (nota: no tengo ni pajolera idea de C, simplemente he añadido 2 lineas extras al código original de CPP para producir la salida en consola. Si teneis que partirle las piernas a alguien no mireis para acá ) sigue …

No suelo usar mucho VLC, ya que para todo lo referido a reproducción/codificación de videos con Mplayer/Mencoder me apaño de sobra, pero hay que reconocer que para algunas cuestiones, como la emisión de streamings de vídeo/audio, VLC les lleva mucha ventaja. Llevaba tiempo buscando algo parecido a esto, y el otro día leyendo sobre la siguiente versión de VLC descubrí que disponía de un plugin, Mosaic, que permite mostrar varios vídeos en una sola ventana a modo de mural de video. Ya sea simplemente para ver varias webcams al mismo tiempo, para volcarlas a un archivo nuevo ó para hacer streaming con ellas es un función muy interesante.

Ejemplo 1, cuatro cámaras compartiendo espacio.

Mosaic VLC IEn un archivo ejemplo.conf definimos 4 fuentes de vídeo procedentes de 4 dispositivos (en este caso 4 de las webcams que tengo ejecutandose en casa, pero pueden ser flujos de vídeo de internet, ficheros AVI, 4 carpetas de fotografías, etc…), a continuación creamoa una pista nueva (llamada FAKE, basta un simple jpeg) a la que aplica un filtro mosaic sobre el que se “proyectan” las cuatro pistas creadas anteriormente.

En este ejemplo la imagen de fondo solo es visible por un momento durante la ejecución del programa, siendo ocultada rápidamente por los 4 vídeos superpuestos, por lo el contenido de “fondo” es indiferente. sigue …

¿ editar vídeo desde una consola de texto ? Si, suena algo raro y poco amigable, pero en algunas ocasiones puede resulta muy cómodo y útil, algún ejemplo:

- han terminado las fiestas, tienes 200 vídeos de tu sobrino comiendo mazapanes y te gustaría reescalarlos a 320 pixels y saturar al máximo los colores antes de subirlos a youtube.
- ademas, quieres hacer un vídeo con las 2000 fotos, con bonitas cortinillas de estrella entre cada foto y todo esto para verlo en el DVD cuando tu sobrino se recupere.
- La webcam graba cada día un vídeo y te gustaría crear un script que cada mañana coja ese vídeo, le sobreimprima un título en movimiento y le aplique un ligero desenfoque-romantic-gaussians.

Video BLIP.tv Vaya, para cualquier tarea susceptible de ser automatizada y especialmente dañina, caso de hacerlo a mano, podeis usar MLT (melt, en su ejecutable de consola), un framework opensource y que es usado por muchos programas gráficos de edición de vídeo, KdeNLive por ejemplo.

La lista de ordenes/opciones de melt, al contrario de lo que pudiera parecer, son poco más de 20 (sin contar las clásicas -version, -help, -debug, etc.. ), pero dada la flexibilidad y las posibilidades de combinación los resultados pueden ser realmente impresionante. sigue …

Plasmoid para KDE4

16 de Diciembre, 2009

Probablemente sean los plasmoids de las novedades más llamativas de KDE4 con respecto a KDE3 (ahora es cuando se oye rechinar los dientes de algún programador).
Los plasmoid son a KDE4 lo que los widgets de superKaramba eran a KDE3, pero con algunas bastantes mejoras, la mas importante sin duda: lo que antes era un escritorio con algunos gadgets visuales ha pasado a convertirse todo en un conjunto de gadgets. Tanto es así que casi podriamos decir que hoy por hoy el escritorio y sus componentes son todo plasmoides, de tal manera que lo que tradicionalmente permanecía “anclados” a la barra de tareas se pueden instalar en el escritorio y viceversa. En KDE4 es posible instalar la bandeja del sistema en el escritorio ó duplicarla en otro panel, podemos sacar el reloj de la barra de tareas y escalarlo en el escritorio, mover la calculadora del escritorio al panel, etc, etc. Hasta el propio escritorio no deja de ser un gran widget contenedor de widgets (¿habeis probado de hacer zoom out al escritorio? no me preguntes para que sirve esto…) sigue …

Una de las “peculiaridades” que quería activar el ordenador remoto que tenemos instalado en el campo y que os comentaba el otro dia era la de que fuese el propio ordenador el que informase de eventos, es decir: en lugar de tener yo que conectarme a él via ssh para comprobar logs, grabaciones, crontabs, etc… que fuese la propia máquina remota la que informe cuando algo suceda. A parte de ser mucho más descansado es bastante más lógico y eficaz que andar comprobando “que tal vá la conexión wifi”. Y para hacer esto que mejor que usar un servicio de mensajería tipo GoogleTalk-Jabber.

Tras dar unas vueltas encontré Mcabber, un cliente Jabber de consola, muy ligero y con un par de particularidades interesantes: 1) el programa permite crear un archivo tubería (fifo) a través del cual enviar comandos a la instancia de mcabber en ejecución de tal manera que resulta muy facil programar el envio de mensaje y otros comportamientos desde el exterior del propio programa y 2) permite la ejecución de comandos en el ordenador remoto desde la ventana de tu programa de mensajeria preferido con solo enviar un mensaje.
Nota tontamente obvia: Ni que decir que esta última opción, mal usada, es potencialmente peligrosa.

Instalación y configuración de Mcabber

Descarga, instala y edita el archivo ~/.mcabber/mcabberrc. En este archivo indicas los parámetros de conexión a tu cuenta y algunas de las características del programa que se pueden resumir en 4 lineas sigue …

Esta es una de esas chorradillas a las que te acostumbras y cuando las pierdes andas como loco buscando “… como era aquello para…¿?”.
Google dispone de un modo de búsqueda filtrando por fechas, una especie de “buscar termino en la web modificada durante los últimos X dias” consiste en añadir a la cadena de búsqueda la variable as_qdr seguida de un valor, p.ejem, 2m para dos meses.
Para facilitar la tarea (ojo: solo Firefox) sin tener que andar introduciendo a mano la variable, basta con:

Selecciona el siguiente código y arrastra el contenido a tus favoritos ó pegalo en la barra de dirección:

javascript:var%20cadena="";%20cadena=prompt("T%C3%A9rmino%20a%20buscar%20en%20Google\n(para%20%C3%BAltimo%20m%C3%A9s)",%20"");document.location="http://www.google.es/search?hl=es&q="+cadena+"&as_qdr=m1";

Una vez insertado en tus favoritos simplemente cliquea sobre él para buscar en Google filtrando resultados del último més.

Puedes ajustar el filtro de fechas cambiando el valor de as_qdr con alguno de estos valores, utiliza:
as_qdr=m1, para buscar en los últimos 30 dias
as_qdr=m3, para buscar en los últimos 3 meses
as_qdr=d7, para buscar en los últimos 7 dias
etc….

Fácil ¿no?

Más apuntes anteriores en la categoria Hacks