domingo, 3 de marzo de 2013 (Hace 278 dias)

Spotify en openSuse/KDE4

La aplicación Spotify seguro que la conocéis ya hace mucho, no es mi caso. Obviamente conocerla la conozco pero no había tenido oportunidad de probarla hasta hace apenas un mes que tengo el Android.
No existe versión de escritorio de Spotify para GNU/Linux (la versión vía Wine ni me interesa ni la cuento). Mejor dicho, no existía. Hay una versión experimental nativa para Linux/Debian pero no para Fedora/openSuse. Ni se me había ocurrido probar el DEB en openSuse 11.4, y mira tu por donde funciona bien y de manera razonablemente sencilla.
A continuación reproduzco los pasos para instalarlo y hacerlo funcionar (sobre 2.6.37.1-1.2-default, openSuse 11.4 y KDE 4.6.0)

Descarga

Del repositorio de Spotify descarga la última versión del DEB disponible para tu sistema (32 ó 64bits) y guarda el DEB en una carpeta. En mi caso usé: spotify-client_0.8.8.323.gd143501.250-1_i386.deb

Descomprime DEB e instala

Nos movemos a la carpeta donde descargaste el DEB y hacemos
mkdir spotify; ar p spotify-xxxx.deb data.tar.gz | tar xz -C ./spotify
Esto creo una carpeta spotify que contiene dos carpetas /opt y /usr que debes mover a tu sistema.
sudo mv ./spotify/opt/spotify/ /opt/
sudo mv ./spotify/usr/bin/spotify /usr/bin/spotify

Instalamos el archivo .desktop en el sistema
sudo cp /opt/spotify/spotify-client/spotify.desktop /usr/share/applications/

Ejecutar Spotify

Con lo anterior ya tendrías instalado Spotify en tu GNU/Linux aunque es más que probable que no arranque por falta de alguna librería. Prueba a lanzarlo y procúrale las librerías que vaya diciendo que no encuentra, normalmente tendrás las equivalentes, en otra versión ó con otro nombre. En mi caso bastó con crear los siguientes enlaces. Esto puede variar de una máquina a otra, depende de los paquetes que tengas o no instalado.
su
cd /usr/lib
ln -s libcrypto.so libcrypto.so.0.9.8
ln -s libssl.so libssl.so.0.9.8
ln -s libnss3.so libnss3.so.1d
ln -s libnssutil3.so libnssutil3.so.1d
ln -s libsmime3.so libsmime3.so.1d
ln -s libplc4.so libplc4.so.0d
ln -s libnspr4.so libnspr4.so.0d

jueves, 21 de febrero de 2013 (Hace 288 dias)

Al poco de tener el Android te das cuenta de una limitación importante: al descargar un programa este se instala en la memoria del teléfono, que es escasa (unos 150Mg en mi caso) y solo unas pocas aplicaciones se pueden mover a la tarjeta SD (2Gb en mi caso), que es más generosa. El resultado es predecible, a los 4 días la memoria del teléfono está saturada.
No tenía ganas de andar rooteando el teléfono recién estrenado así es que controlé un poco qué/donde instalaba y arreglado. En cambio la solución es muy sencilla y viene de las Android SDK publicadas por Google y un programita llamado ADB. No hay que saber coreano ni tener el teléfono rooteado para hacer lo siguiente.

Descargar Android SDK

En la página de Google http://developer.android.com/intl/es/sdk/index.html, de la sección SDK Tools only descarga el archivo ZIP para tu sistema operativo (Mac, Windows, Linux) (los siguientes pasos los hice para Linux, pero veréis que son muy sencillos y no debería haber ningún problema repitiéndolos en cualquier otro sistema), en mi caso es android-sdk_r21.1-linux.tgz.
Extrae el archivo comprimido y entra en la carpeta android-sdk-linux/tools. Ejecuta android y te aparecerá una ventana como la siguiente

SDK AndroidSDK Android

De la lista de herramientas que te ofrece a instalar selecciona para instalar Android SDK Platarform-tools (si estás en Windows creo que necesitarás también Google USB Driver, al final).
Instala los paquetes.

Montar unidad en modo depuración

Una vez hechos el paso anterior tendrás una nueva carpeta dentro de la anterior android-sdk-linux, llamada plataform-tools y en ella una aplicación adb (android debugger builder).

Sigue leyendo…

jueves, 7 de febrero de 2013 (Hace 302 dias)

V4l2loopback es un módulo para el kernel linux que llevaba tiempo buscando. Desde hace ya años vengo usando su versión obsoleta para V4L (y seguiré usando todavía bastante) y que permite acceder a un stream de vídeo de algunas de las webcams que tiene «secuestradas» Motion.
Hacía tiempo que busca la versión V4L2 pero aunque encontré algunos proyectos interesantes (este es el más desarrollado) por una cosa o por otra no acaban de funcionar. Mira tu por donde encontré un módulo que funciona perfectamente probando la aplicación Droidcam para el telefono.

Nota: aunque las anotaciones siguientes están probadas y comentadas para Linux (opensuse 11.4) todo es usable tanto en Windows como Mac, teóricamente.

Droidcam es una aplicación para Android que permite usar el teléfono como webcam innalambrica. Activas la cámara del teléfono y accediendo a ella desde el ordenador usarla para emitir videoconferencias (Skype) por ejemplo. Funciona sorprendentemente bien y es un esquema muy sencillo: Al lanzar Droidcam en el movil se inicia un servidor en el teléfono que se pone a la escucha tras mostrarnos una http://ip:puerto de conexión. A continuación iniciamos una mini-aplicación de escritorio que tras indicarle la referida http://ip:puerto de nuestro movil conecta con el teléfono, inicia la cámara y comienza a descargar el streaming de vídeo de su cámara volcandolo al dispositivo virtual de nuestro ordenador (/dev/video0 , por defecto).
Una vez hecho esto solo tenemos que decirle a Skype (u cualquier otra aplicación) que conecte con /dev/video0 para emitir la imagen captura desde el móvil como si una webcam innalámbrica se tratase.

Este dispositivo virtual /dev/video0 se crea en el momento que cargamos el módulo v4l2loopback
sudo modprobe v4l2loopback
y este módulo podemos descargarlo desde la web del desarrollador de Droidcam, solo es necesario descargar y hacer
make && sudo make install

¿que para que sirve v4l2loopback?
pues básicamente para reutilizar el streaming de vídeo de algún dispositivo ó archivo en otro dispositivo o archivo. Podemos, por ejemplo, volcar el contenido de una webcam pública rtmp://… en un /dev/video3 local y acceder a él como si se tratase de un dispositivo propio ó bien emitir en skype una película AVI de vídeo como si fuese nuestra webcam o hacer un streaming en nuestra web con nuestro álbum de fotos del viaje. En definitiva jugar de forma indefinida con un flujo de vídeo manipulando y aplicando efectos.
yuv4mpeg_to_v4l2 < /tmp/tuberia & mplayer /home/usuario/mis-películas/Skyfall.avi -vf scale=320:240 -vo yuv4mpeg:file=/tmp/tuberia
La líneas anteriores hacen uso de yuv4mpeg_to_v4l2 que podéis descargar y compilar desde aquí y lo que hacen es volcar a un archivo fifo temporal una película y a continuación pasar este streaming a un dispositivo que yuv4mpeg_to_v4l2 reconoce como gestionado por el módulo v4l2loopack (por eso no hay que indicar /dev/video0 en línea) y desde vide0 es ya accesible para otros programas. Un método identico al que ya usamos aquí y que podriamos usar para coger un streaming de internet y volcarlo como si fuese nuestra webcam.

Conectando la cámara del teléfono con Droidcam y v4l2loopback y accediendo a ella desde el escritorio con mplayer para mostrar lo que captura la videocámara conectada a /dev/video9 conseguimos un bonito bucle de pantallas.

martes, 15 de enero de 2013 (Hace 325 dias)

Como ya alguno habrá notado por mis últimos tweets los pasados reyes majos se portaron bien conmigo y desde primeros de mes ando estrenando mi flamante nuevo HTC Wildfire S.

Alguno dirá «pues ya era hora!» y con toda la razón, y es que personalmente el tema móviles y todo el boom más reciente de los smartphone simplemente pues me dejaba frio. Y mira que me gusta andar trajinando con chismes y buscando la manera de que al tirar de la cadena un dispositivo fotografíe a los gorriones que se espantan del comedero por culpa del ruido del agua de la cisterna… pero con mi cacharro anterior al que le he hecho todas las perrerías habidas y por haber me bastaba y me sobraba.

Pero claro, llega el SO Android encabezado por Google y la tentación de llevar un mini-Linux en el bolsillo es muy tentadora y para rematar la tentación un oferta navideña HTC Wildfire S: 145€, esto empieza a ser un precio razonablemente adsequible (siempre hablando de dispositivos libres. Funciono con tarjeta prepago y mi consumo ronda los 5-10 € cada 2 meses. No he encontrado una tarifa que reduzca ese consumo)

La verdad es que el cacharro es fantástico. Todavía estoy alucinando con la efectividad del reconocimiento de voz, los 3 mts precisión del gps, la calidad de los 5Mg y su postproducción fotográfica, la grabación de vídeo, los sensores de movimiento y aceleración, las conexiones wifi-bluetooth-3G, grabación de audio, reproducción de vídeo/mp3, etc… en fin, todo un mundo nuevo, incluido el de la batería 24h de recarga diaria, todo un mundo.

En estos días he estado probando aplicaciones de todo tipo. Gracias (una vez más) a la libertad y código abierto que ofrecen los SO Linux las posibilidades son extensísimas: más de 700.000 aplicaciones listas para descargar y subiendo, de las cuales el 75% son gratuitas. Obviamente hay de todo lo que te puedas imaginar.
Desde una recientísima versión tributo a un viejísimo juego como Deep Scan a cargo de nuestro lider local de desarrollo Java Sr. XX-Terror, a las famosas hasta el hartazgo WhatApps o TweckDeck

     
  Bajando de noche por la rambla  
  Bajando de noche por la rambla  

Iré probando de todo y seguro dejando por algún comentario por aquí, pero sin duda una de las aplicaciones estrella y que instalé pocas horas después de tener el teléfono se puede ver indirectamente reflejada en la fotografía de arriba (Y directamente reflejada en la foto también la segunda).
Sky Maps es una pequeña aplicación desarrollada y liberada por Google que nos permite reconocer de un plumazo las principales estrellas, nebulosas y constelaciones del firmamento, pero haciendolo tan fácil que resulta un encanto: basta con iniciar la aplicación y dirigir hacia el cielo el teléfono, hacia la zona que queremos examinar/identificar, el programa detecta via GPS nuestra posición y gracias a los sensores y niveles del dispositivo también la orientación/inclinación hacia la que apuntamos el teléfono mostrando en pantalla los nombres y figuras de las constelaciones que tenemos detrás del aparato. Es impresionante lo sencillo y bien que funciona. Apenas tiene más menues que el de activar o desactivar las constelaciones.

Asi que mientras bajábamos este domingo de Peñas Blancas y ya bien anochecido y con los zorros cantando pudimos recrearnos un rato en el cielo, confirmando lo que ya conocíamos y/o descubriendo cosas nuevas. Luego más tarde y queriendo aprovechar el cielo de invierno tan espléndido que teníamos hice la foto de arriba haciendo uso de otro widget para el teléfono, Tiny Flashlight, que permite usar el flash de la cámara como linterna.

jueves, 27 de diciembre de 2012

Tengo un script que descarga a intervalos la última imagen satélite a gran resolución de la página de la NASA y la coloca en el escritorio. De forma esporádica el servidor web devuelve una imagen en negro ó con un área de la península en negro, no hay datos del satélite, imagino. Obviamente como imagen no valen nada, pero ¿como detectar automáticamente que una imagen es negra en uno 50%,80% o 90% y así poder desecharla?
Con Imagemagick hay un truquillo
if [ $(convert imagen.jpg -resize 64x64\! txt:- | grep black | wc -l) -gt 2048 ]; then echo "La mitad de la imagen es negra"; fi

Es decir: reescalamos la imagen a 64×64 (4096 píxels) y convirtiendolo a texto (txt:- ) contamos aquellos que son negros (blanco, amarillo, ponga usted el RGB que quiera), si son más de 2048 (50%) más de la mitad son negros y la imagen se desecha, fácil ¿no?

lunes, 1 de octubre de 2012 (Hace más de 2 meses)

Acabo de terminar y publicar una extensión para Firefox: Firefox2Bash Contexto (solo Linux/Mac). Es una sencilla extensión con una función muy simple: remitir datos de los elementos del navegador a un script en BASH desde donde ejecutar acciones según el contexto.

Funcionamiento

Crea un script bash con este contenido:
#!/bin/sh
kdialog --msgbox "Localizacion es $1\nElemento es $2\nDatos es $3\nid es $4\nclase es $5"
guardalo como /home/tu-user/bin/firefox2bash.sh.
Hazlo ejecutablechmod +x /home/tu-user/bin/firefox2bash.sh

Instala la extensión desde su página en Addons Mozilla, reinicia el navegador. Una vez instalado y reiniciado Firefox abre en este Herramientas > Complementos, busca en tu lista de complementos Firefox2Bash Contexto y pulsa en Preferencias, entra la ruta al script anterior : /home/tu-user/bin/firefox2bash.sh

Sigue leyendo…

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