sábado, 11 de enero de 2014 (Hace 113 dias)

Si necesitáis hacer videoconferencia con algo más de calidad de imagen de la que suelen ofrecer las webcams comerciales standard una opción a tener en cuenta es usar nuestra cámara de fotografía ó videocámara.

JVC y su conector VGA

Casi todas las cámaras digitales modernas, incluso las de gama baja, disponen de una conector salida VGA con la que podemos enviar la imagen a cualquier dispositivo grabador/reproductor como el televisor ó nuestro PC si este dispone de capturadora de vídeo ( si no tenéis tarjeta capturadora en Ebay podéis conseguir modelos PCI muy básicos y perfectamente válidos por 10-15 euros).

Para ver la imagen de cámara (GNU/Linux, openSuse 11.4) simplemente conecta el cable de la cámara a la tarjeta capturadora y en un terminal escribesmplayer tv:// -tv device=/dev/video1:driver=v4l2:width=320:height=240

Aplicar filtros y convertir V4l2 a V4l

Si en algún momento te pierdes hecha un vistazo a este apunte anterior: V4lo2loopback para Linux.
Una vez tengo la cámara conectada al PC cargo el módulo v4l2loopback_dcsudo modprobe v4l2loopack_dc Sigue leyendo…

viernes, 22 de noviembre de 2013

Para GNU/Linux. La idea es sencilla: un script BASH que mediante el uso de ADB (Android Debug Bridge) mantenga una o varias carpetas sincronizadas entre nuestro Android y el ordenador de tal manera que siempre dispongamos de una copia en nuestro disco duro y esta se realice de manera automática (sin más intervención manual que conectar el teléfono al USB para cargarlo) y rápida.
En el siguiente vídeo se ve como funciona y como la sincronización es bastante rápida.

Idealmente esto lo empecé para mantener a mano en el ordenador las fotografías y vídeos que grabo con mi móvil (un Android – HTC Wildfire S) pero en realidad nada impide que esto puede ser usado para sincronizar otros contenidos ó simplemente como un modo cómodo de traspasar archivos al teléfono habitualmente para usarlo como pendrive.

La alternativa más evidente a este uso de ADB para sincronizar dos carpetas sería el montaje del teléfono como unidad de disco duro externo y a continuación usar alguna aplicación como sync para la sincronización, pero hay un par de ventajas a favor de ADB abismales: en el tiempo que tarda el teléfono en desmontar y montar en el PC la nueva unidad como un disco duro de nuestro ordenador he acabado yo de transferir alrededor de 200 Mg de archivos. La velocidad de transferencia es idéntica pero la conexión en inmediata (un par de segundos. Actualmente mantengo sincronizados 15 carpetas que contienen 250 archivos. Desde que conecto el teléfono al USB y aparece el diálogo informando de “No es necesaria la sincronización” pasan aprox. 6 seg).
Además de la velocidad, al no estar la tarjeta del teléfono montada como un disco duro/pendrive se gana en seguridad frente a archivos corruptos o desmontajes inapropiados. Si tienes que irte de improviso simplemente desconectas el teléfono y te lo llevas.

El único engorro es instalar ADB que viene con el kit de desarrollo de Android distribuido por Google. Si no las tienes ya instaladas simplemente sigue los pasos que se indican en la sección “Descargar Android SDK

Preparar el móvil

La única preparación o instalación en el teléfono móvil es dejar activa por defecto la depuración USB de tal manera que siempre que se conecte esté accesible de forma inmediata para la aplicación ADB. Para activar la depuración usb, en tu teléfono busca y activa: Ajustes->Aplicaciones->Desarrollo->Depuración USB

Sigue leyendo…

lunes, 28 de octubre de 2013

Desde hace muchas versiones atrás que Digikam dejó obsoletos mis scripts para geolocalización de fotografías.

Desde su versión 2.0 la integración con GoogleMaps, Marble, OpenStreetMap y similares es uno de los aspectos que más ha atenciones ha recibido y actualmente mantener geolocalizadas y referenciadas todas las fotografías de nuestra colección es súmamente sencillo.

¿Y para que sirve tener las fotos geolocalizables?
Pues lógicamente como información anexa si se trata de fotografía con algún valor científico (flora, fauna), como recordatorio de algún lugar remoto que visitamos hace años y (sobretodo) como herramienta de búsqueda si el gestor de fotos (caso Digikam) dispone de alguna aplicación con la que localizar imágenes a partir de la navegación por áreas de un mapa.
&>sqlite3 -list /home/album/Fotografia/digikam4.db "SELECT COUNT(id) FROM images"
52387 fotografías salen en mi álbum de fotografías de Digikam, que hay que sumar las fotografías de Merche. Lógicamente localizar aquí una fotografía empieza a tener una dificultad considerable, pero si sabes donde se hizo y puedes coger un mapa y listar las fotografías que se hicieron en un área restringida pues la tarea es entonces notablemente más sencilla.

Geoetiquetado masivo de fotografías

(Nota 1: actualmente estoy usando una versión antigua de Digikam 2.1.1 – actualmente 3.3. Doy por hecho que lo que explicado aquí es igualmente válido para versiones posteriores y ha sido mejorado, pero no puedo confirmarlo.).
(Nota 2: la aplicación Geo-location no se instala por defecto al instalar Digikam).

El siguiente vídeo es bastante auto-explicativo sobre el modo de geoetiquetar una pila de imágenes, que básicamente consiste en

Sigue leyendo…

lunes, 30 de septiembre de 2013

Parecía una tontería, pero me costó encontrar el modo de averiguar cuanto tiempo lleva el escritorio innactivo, básicamente lo que hacen los salvapantallas para lanzarse.
La instalación standard (hasta donde sé) de openSuse no dispone de ninguna aplicación que directamente indique los segundos ó milisegundos que el escritorio (KDE ó GNOME) llevan sin recibir actividad por el teclado ó el ratón. Hay modos indirectos, a traves del comando WHO (who -a) ó consultado /proc/interrupts (cat /proc/interrupts).
Al final opté por compilar una mini-applicación que encontré naufragando por internet y que hace eso mismo: imprimir el tiempo de inactividad en el escritorio gracias a las librerías de salvapantallas (cambié un par de líneas).

Copia estas líneas a un archivo:#include <X11/extensions/scrnsaver.h>
#include <stdio.h>
main() {
XScreenSaverInfo *info = XScreenSaverAllocInfo();
Display *display = XOpenDisplay(0);
if (display != NULL) {
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
printf("%u\n", info->idle); }
}
y guardalo como innactivo.c.
Ahora compilalo haciendo gcc -o innactivo innactivo.c -lXss
Copia el binario a /usr/bin y hazlo ejecutablesudo cp innactivo /usr/bin/innactivo
sudo chmod +x /usr/bin/innactivo

Listo. Ahora en cualquier consola al escribir innactivo se imprimen los milisegundos que lleva el sistema innactivo. En mi caso son siempre 8-9 los milisegundos que transcurren entre que ejecuto la orden y se imprime en pantalla.

martes, 10 de septiembre de 2013

El otro día criticaba un comportamiento en KDE que me exasperaba, como para compensar no sé muy bien qué cosa otro comportamiento que me ha sorprendido gratamente alguna vez (suele ocurrir de forma no intencionada y siempre te quedas diciendo:hostias!! que sorpresa!) y que os presento a modo de adivinanza visual con un GIF animado cortado justo antes de destaparse la pista fundamental.

El directorio misteriosoEl directorio misterioso

No hay que tener grandes conocimientos de Linux para leer lo que ocurre en pantalla, pero para comodidad lo describo:
– estoy en /home/trebol-a
– creo un directorio (el nombre es indiferente): mkdir AA
– entro en el nuevo directorio: cd AA
– ahora estoy en /home/trebol-a/AA: pwd
– retrocedo al directorio padre: cd ..
– cha-chan!! ya no estoy en /home/trebol-a
– sino en uno llamado “files
– ¿como lo hice? :-)

En el GIF completo la animación acaba haciendo PWD y desvelando el misterio (a poco que se conozca el sistema archivos de Linux). Obviamente hay truco, y este es el que muestra un comportamiento que decía curioso de Linux.
Si nadie lo descubre en un rato incluyo en los comentarios un enlace al GIF completo.

Desde que actualicé a KDE4 creo que he puesto el plasmoid “Marco de imágenes” (Frame) varias veces en el escritorio y siempre lo acabo quitando unos días después, tiene un problema: lleva fatal que la imagen mostrada se actualice/cambie a intervalos, al hacer esto el plasmoid sobreimprime sobre la imagen (mala decisión) una advertencia avisando y aunque la imagen exista e incluso se esté mostrando correctamente debajo de la advertencia este aviso ya no desaparece del widget.
Esto obviamente inutiliza el widget para, por ejemplo, mostrar una imagen de cualquier de mis cámaras u otras webcams, imágenes de satélite, etc. Es muy molesto así es que lo acaba quitando.

Hace unos días lo volví a poner en el escritorio olvidando el fallo, excepto que esta vez al verlo de nuevo me decidí a corregirlo ¿van viendo las ventajas del software open-source?.

Plasmoid FRAME antes y despuésPlasmoid FRAME antes y después

El arreglo es una chorrada ya que básicamente consiste en editar el código fuente del plasmoid ( archivo: picture.cpp ) y cambiar la función que comprueba que la imagen ha sido cargada, en la línea 156 pone:
if ( newImage.isNull()) {
emit pictureLoaded(defaultPicture(i18n("Error loading image. Image was probably deleted.")));
} else {
emit pictureLoaded(newImage);
}

que ponga solo
emit pictureLoaded(newImage);

Una vez hecho el cambio se recompila el plasmoid y se obtiene el archivo plasma_applet_frame.so. Este archivo debería reemplazar al archivo /usr/lib/kde4/plasma_applet_frame.so (obviamente haciendo una copia de seguridad antes).
Si no queréis/sabéis compilar podéis descargar este widget “Marco de imágenes” modificado desde este enlace: plasma_applet_frame.so. No tiene ninguna modificación más y está probado en openSuse 11.4/KDE 4.6 pero casi con seguridad funcionará igualmente en KDE4 posteriores.

Cuaderno de campo es un blog desarrollado y mantenido por Trebol-a y en el que escriben Trebol-a, Miguel, Merche y Mónica
Si quieres saber algo más sobre los autores acude a la página acerca-de, si quieres contactar con alguno de nosotros hazlo a través de contactar ó de Google+

Creative Commons: Todo el contenido de la web (imágenes, textos, vídeos, a excepción de aquellas obras de otros autores enlazados por Cuaderno de Campo) se acoge a los términos expresados en la licencia Creative Commons