Adobe AIR en Linux

Adobe AIR es un entorno de ejecución multi-plataforma que permite construir y ejecutar aplicaciones RIA (Rich Internet Applications) usando Adobe Flash, Adobe Flex, HTML, o Ajax, que pueden ser ejecutadas desde el navegador o bien como aplicaciones locales (sin navegador) en el escritorio. Cada día se está oyendo hablar más de aplicaciones AIR, y teniendo la posibilidad de probarlas en Linux, creo que es interesante aprender a hacerlo. Vamos a instalar el entorno y a continuación una aplicación, a través de un ejemplo paso a paso.

Lo primero es descargar el runtime de la página principal de Adobe AIR para Linux . A continuación, debemos darle permisos de ejecución al archivo.

$ chmod a+x adobeair_linux_a1_033108.bin

Y finalmente instalar:

$ sudo ./adobeair_linux_a1_033108.bin

Se creará un acceso directo en el menú Aplicaciones/Otros/Adobe Air.

Ahora podemos añadir al sistema aplicaciones AIR de forma muy sencilla. Por ejemplo, instalaremos Adobe AIRTube (una pequeña aplicación para descargar – y previsualizar – vídeos FLV de YouTube al escritorio). Obtendremos AirTube desde aquí. Lo guardaremos en el Escritorio. Para comenzar su instalación basta con hacer doble click sobre el archivo. Se abrirá la siguiente ventana:

Pulsamos en Install, y a continuación:

indicamos que queremos accesos directos a la aplicación y que el directorio de instalación sea /opt . Ahora es como en Windows (Siguiente/Siguiente/Siguiente). Nos pedirá password de administración (nuestro password si somos sudoers) y listo. Se lanzará la siguiente ventana (chromeless):

Desde ahí, arrastramos la URL de cualquier vídeo al widget AirTube y comenzará la descarga al pulsar el botoncito de la derecha (triángulo blanco), con barra de progreso incluída. El fichero caerá en el escritorio y se visualizará en el propio Airtube.

ffmpeg, codecs, libmp3lame, libxvid y otras hierbas

Quiero convertir un video descargado de YouTube a formato AVI (xvid, mp3). Lo primero: eso de mp3 es tabú para el conversor ffmpeg que viene de serie en Ubuntu. Hay que instalar el ffmpeg-sin-miedos del repositorio Medibuntu.

Una vez hecho, pasemos a la conversión:

$ ffmpeg -i pocoyo_bed_time.flv -s 320x240 -r 24 -acodec libmp3lame -vcodec libxvid -vtag XVID -f avi -qscale 3 -g 300 -deinterlace -ab 56k -ar 24000 -async 1 pocoyo_bed_time.avi ... .... Unknown codec 'libmp3lame'

Vaya por dios. ¿No hay soporte libmp3lame en ffmpeg? Pero ¿no era eso lo que precisamente aportaba la versión de Medibuntu?

Veamos:

juanan@morton:~/Desktop/zen$ ffmpeg -version FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al. configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-liba52 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr libavutil version: 1d.49.3.0 libavcodec version: 1d.51.38.0 libavformat version: 1d.51.10.0 built on Jul 29 2008 18:21:25, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7) ffmpeg SVN-rUNKNOWN libavutil 3212032 libavcodec 3352064 libavformat 3344896

Pues en el configure se ve claramente –enable-libmp3lame . ¿Qué ocurre? Que nos quieren volver locos con los nombres 🙂 Para averiguar el nombre del encoder necesario, hay que realizar el conjuro mágico:

$ ffmpeg -formats | grep -i mp3 </CODE</p> <p>Ahí, entre otras cosas, veremos:</p> <p>DE mp3 MPEG audio layer 3 DEA mp3 D A mp3adu D A mp3on4</p> <p>La D indica "decoder". La E indica "encoder". La A no sé qué indica :-O Es decir, podemos codificar (encode) si usamos la opción "-vcodec mp3 " y no "-vcodec libmp3lame" como estábamos haciendo.</p> <p>Si lo probamos:</p> <p><CODE> juanan@morton:~/Desktop/zen$ ffmpeg -i pocoyo_bed_time.flv -s 320x240 -r 24 -acodec mp3 -vcodec libxvid -vtag XVID -f avi -qscale 3 -g 300 -deinterlace -ab 56k -ar 24000 -async 1 pocoyo_bed_time.avi ... Unknown codec 'libxvid'

El error es otro… y ya sabéis cómo resolver. La orden final correcta sería: $ ffmpeg -i pocoyo_bed_time.flv -s 320x240 -r 24 -acodec mp3 -vcodec xvid -vtag XVID -f avi -qscale 3 -g 300 -deinterlace -ab 56k -ar 24000 -async 1 pocoyo_bed_time.avi

Automatizar la descarga de enlaces que cumplan patrón

Quiero descargar todos los enlaces de la página http://packages.medibuntu.org/pool/non-free/f/ffmpeg-debian/ que contengan i386 en el nombre. Por supuesto, de forma automática (si repites más de 2 veces el mismo gesto, y crees que en el futuro lo volverás a hacer, hay que automatizar):

juanan@morton:/tmp/fmpeg$ lynx -nonumbers  -dump http://packages.medibuntu.org/pool/non-free/f/ffmpeg-debian/| grep i386  | sed -e ‘s/^ *//’  | awk ‘{print $3}’ | wget -B «http://packages.medibuntu.org/pool/non-free/f/ffmpeg-debian/» -i –

lynx: navegador en modo texto

-dump : interpretar el HTML de la página y devolverlo por salida estándar

-nonumbers: mostrar los enlaces sin numerar

sed -e ‘s/^ *//’  : left trim  (recortar espacios en blanco, por la izquierda)

awk ‘{print $3}’ : quedarme con la tercera columna

wget -B URL   : URL base desde la que descargar

-i  –  : -i indica que le vamos a pasar un fichero a wget con las URLs de lo que queremos descargar. Como el filtro ya lo hemos hecho, y lo hemos enganchado a wget por un pipe, el fichero en sí no existe, sino que llega por tanto por entrada estándar (a través del pipe). Receta que usaré en más de una ocasión.

NavarParty 6: anímate a participar

X. Eizmendi nos invita a participar en la NavarParty 6: «En Pamplona se celebra desde hace 5 años una party pequeña y familiar. A diferencia de la Euskal en la que los de control están dentro de cajones y no los ves, aquí hasta puedes hablar con ellos si es necesario. Como fue la Euskal hace años, en la pantalla de la navar se pueden ver videos curiosos, graciosos, sexys y frikis a todas horas. Hay concursos de Fast 2D, retoque fotográfico, música, wild compo, Date el bit (concurso parecido al friki test) y muchos más. Además de competiciones de juegos, talleres, conferencias…

Y a todo eso hay que añadirle el Hack it! Un concurso que existe desde la primera edición y que desde la Navarparty 2 hasta ahora tiene un formato muy parecido al de la Euskal (está inspirado en él).

Si te gustó el Hack it de la Euskal, no lo dudes, ¡Navarparty 6 te espera!

NOTA: Apúntate rápido, las reserves de sitios comienzan el 18 de agosto. La party se celebra del 18 al 21 de septiembre.»

Atajo de teclado para cambiar motor de búsqueda en Firefox

Tengo instalados varios motores de búsqueda en Firefox. Entre ellos, Google (of course) y el de WordReference (traducción de palabras castellano < - > inglés. Uso mucho esos buscadores. Quería un atajo de teclado para cambiar rápido entre uno y otro. Y lo he encontrado: para entrar directamente a teclear la palabra en el motor de búsqueda: Ctrl-K . Una vez ahí, para cambiar de motor: Ctrl+FlechaArriba o Ctrl-FlechaAbajo.