Convirtiendo archivos AMR a MP3

Le ha pasado que sus usuarios reciben un archivo atachado en un e-mail que resulta haber sido enviado desde un Blackberry, iPhone o Andorid, que contiene un "importante" mensaje pero que según sus usuarios está corrupto porque no pueden abrirlo y culpan a tu servidor de correo, o le pides a alguien que te envié en nuevo mensaje de bienvenida para el PBX que sólo acepta WAV o MP3 como formato y reciber un archivo con extensión AMR. Pues a mi me ha estado pasando muy a menudo, así que he decidio escribir un mini-howto de como personalizar una versión de FFmpeg para soportar la conversión de AMR to MP3.

Por defecto FFmpeg no soporta ni AMR, ni MP3 en la mayoría de distros (en realidad las principales) por la sencilla razón de que ambos son formatos propietarios e incluirlos por defecto, más alla del hecho de que va contra el espiritu del Open Source, sería una violación de patentes y términos de licencia, que las comunidades que soportan dichas distribuciones no pueden hacer ya que se verían expuestas a demandas legales. Eso no quiere decir que para tu uso particular no puedas compilar desde las fuentes para obtener una versión de FFmpeg que tengas los codecs de ambos formatos.

Pues bien comencemos con el mini-Howto.

Primero, debemos descargar e instalar la librería x264 (Aquí sólo mostramos los comandos que debe tipear):

# cd /usr/src
# git clone git://git.videolan.org/x264.git
# cd x264
# ./configure
# make   
#make install
#ldconfig

Ahora, debemos descargar e instalar la librería que dará soporte al formato arm llamada opencore-amr:

# cd /usr/src
# wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fopencore-amr%2Ffiles%2F&ts=1285678081&use_mirror=surfnet
# tar -zxvf opencore-amr-0.1.2.tar.gz
# cd opencore-amr-0.1.2
# ./configure
# make all
# make install

Seguimos con los requerimientos, ahora a descargar e instalar la librería que da soporte al mp3 que se llama LAME:

 # cd /usr/src
# wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flame%2Ffiles%2Flame%2F&ts=1285677746&use_mirror=softlayer
# tar -zxvf lame-3.98.4.tar.gz
# cd lame-3.98.4
# ./configure
# make all
# make install

 Ya tenemos todas las dependencias ahora a instalar FFmpeg desde las fuentes y activando el soporte para AMR y MP3:

# cd /usr/src
# svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-svn
# cd ffmpeg-svn
# ./configure –enable-gpl –enable-pthreads –enable-libx264 –enable-libmp3lame –enable-version3 –enable-libopencore-amrnb –enable-libopencore-amrwb
# make all

Listo ya tenemos el binario que necesitamos, pero para evitar problemas y que esté en conflicto con otras versiones de ffmpeg que puedan estar instaladas le vamos a cambiar el nombre y luego moverlo manualmente a "/bin"

# mv ffmpeg ffmpeg+amr+mp3
# cp ./ffmpeg+amr+mp3 /bin

Listo ahora ya podemos convertir el formato de los archivoc de AMR a MP3 de la siguiente manera:

$ ffmpeg+amr+mp3 -i file_name.amr file_name.mp3

Espero les sea de utilidad este información.

Portal cautivo WifiDog

Internet se ha vuelto más ubicuo en los últimos años, el abaratamiento del acceso de banda ancha a través de ADSL y cable ha llevado Internet a casi cualquier rincon en una ciudad, si a eso le añadimos la proliferación de routers que traen incorporado el acceso wi-fi, es posible que en zonas densamente pobladas no haya un sólo centímetro cuadrado sin cobertura Internet, todo lo anterior sin considerar el continuo abaratamiento en los precios de acceso 2G y 3G a través de celulares.

Muchas empresas, especialmente aquellas que dependen del tráfico de público como restaurantes, cafés u hoteles, ofrecen acceso gratuito a sus access point a través de una contraseña que se entrega a los clientes, este método no siempre es el más apropiado ya que el hecho de que la contraseña no sea actualizada frecuentemente y que sea distribuida verbalmente abre la posibilidad de que esta sea usada potencialmente por personas que no usaran los servicios del establecimiento comercial.

WifiDogUna forma alternativa de controlar el acceso es através de portales cautivos, dentrol de los muchos que hay he encontrado que WifiDog es uno de los más completos y fáciles de implementar, además de ser uno de los pocos que permiten la administración de múltiples nodos a través de un sólo control panel.

Wifidog es un producto Open Source desarrollado por la comunidad de hotspots públicos de Quebec (Canadá)  Île Sans Fil ("Isla inalámbrica"). Cómo todo portal cautivo tiene dos partes, el servidor de autenticación y el gateway. El servidor de autenticación está hecho en PHP y usa PostgreSQL como su motor de base datos, además de estar desarrollado en base a Smarty, con lo cual es muy sencillo cambiar el look del site por defecto. El gateway está programado 100% en C y utiliza sólo llamadas estándar de Linux, con lo cual puede ser integrado en cualquier servidor que haga de firewall o routers compatibles con los proyectos DD-WRT, OpenWRT y Tomato. Yo lo he probado con DD-WRT v2.4 y funciona sin mayores problemas, ya que la parte gateway de Wifidog está ya incluída en la versión standard.

Una de las características interesantes de Wifidog, es que permite que sea el propio usuario que registrándose con su dirección de correo electrónico gane acceso al hotspot, además que nos permite definir cuantos usuarios concurrentemente deseamos soportar a través de cada nodo wifi (por defecto son 10). Ya que tenemos una dirección de correo electrónico podemos posteriormente enviarle ofertas y promociones a nuestros usuarios, además gracias a su muy detallado sistema de estadísticas podemos identificar los 10 usuarios más móviles, los 10 más frecuentes, los 10 que usan más ancho de banda, etc., con lo que la administración de múltiples hotspot se vuelve bastante sencilla. En dos palabras "super recomendable", para todo negocio que tenga más de un local comercial y un hotspot público en ella. Otra alternativa es que permite crear un red de hotspot federados de negocios independientes pero relacionados al mismo rubro que pueden promover sus actividades de manera conjunta a través de ofrecer el acceso público wifi, ya que una cuenta de acceso creado en WifiDog permite que el usuario se conecte en cualquiera de los nodos que forman parte de la misma red y en cada nodo verá el logo del negocio que le está brindando el acceso en una determinada ubicación geográfica.

Más allá del deseo

Aunque el título de este post pudiera parecer el de una película porno de finales de los setenta, en realidad deseo comentar sobre los múltiples fallidos intentos de la comunidad Linux de querer convertir a Linux en el sistema operativo de nuestro escritorio.

El último de tales intentos fue la migración de todas las PCs de la administración pública del cantón suizo de Soleura, que hace 9 años inició el ambicioso proyecto de desterrar Windows de los escritorios de su administración pública, el día de hoy a través de Slashdot, me enteré de que han decidido abandonar completamente el proyecto y volver a Windows 7 para el 2011.

Roconozco, que yo desde hace mucho también he sido uno de los que anunciaban la llegada de la era del pinguino a los escritorios, tal vez el momenton que más cerca estuvo Linux de ser un sistema operativo de masas fue con la llegada de las netbooks, a finales del 2007, pero las cosas han cambiado radicalmente y la misma supervivencia del PC (con Windows, Linux u OS X) está gracias a los smartphones y tables ahora en duda, si alguien lo duda les recomiendo que le den una lectura a las declaraciones de Bryan Dunn CEO de Best Buy (la cadena de almacenes de electrónica de consumo más grande en U.S.A.), que señala al iPad como una de las razones de la rápida caída en ventas de netbooks, según Wall Street Journal.

El querer que todos tengan en sus escritorios Linux como sistemas operativo y Open Office como su suite de escritorio, es como querer que todos manejemos un tractocamion, claro no hay cosa que no podamos remolcar, pero el entrenamiento suele ser largo y no todos están listos para tanto poder.

Los que hayan leído este blog sabrán que aunque soy un fan de Linux, no soy un taliban de Linux, es decir no soy un fundamentalista como Stallman que cree que el infiel debe convertirce o perecer. Linux es ante todo una tecnología como su mismo creador Linus Torvalds ha dicho repetidas veces, y como tal tiene un ciclo de vida.

Claramente hay una línea divisoria en las aplicaciones modernas, el cliente (casi siempre un browser o algo similar) y el servidor. Mientras Linux es y probablemente siga siendo el rey en el sector de los servidores web, por otro lado en el lado del cliente nos hemos estado moviendo del polifuncional PC a los smartphones primero y ahora con increíble rapidez a las tablets, de las cuales el iPad es sólo una de las muchas opciones que hay.

¿Podrá llegar Linux en algún momento a tomar el escritorio?, en estos momentos me parece una pregunta sin sentido, ya que la existencia misma del escritorio como lo conocemos está en duda. Al final si usas un Nexus One o un Samsung Galaxy Tab, estás usando Linux en última instancia. Aunque no uses ni las X, ni KDE o GNOME.

Es necesario más pragmatismo en las comunidades Open Source y menos fanatismo y sobervia, ya que actualmente los más activos "colaboradores" de proyectos Open Source, no son los tan valiosos y necesarios programadores sino los "Evangelizadores".

Google es oficialmente malévola

Según reportaba el blog tecnológico Gigaom, el día de ayer 15 de septiembre, Skyhook una empresa de software que ha desarrollado un producto que permite la geolocalización de celulares en base al hotspot wifi más cercano ha demandado a Google por presionar a Motorola para abandonar la inclusión del producto de Skyhook, en favor del producto Google equivalente. El móvil del chantaje, las decenas de millones de dólares que representa la colección de datos de geolocalización que pueden ser monetizados a través de anuncios personalizados en función a la ubicación geográfica, la herramienta de presión usada por parte de Google fue el retiro de la certificación Android en los celulares que fabrica Motorola.

Google EvilEn teoría Android es un sistema operativo abierto, la base para afirmar ello es que está basado en un kernel Linux, más algunos complementos desarrollados por Google, que es lo que no es libre en el sistema operativo para celulares de más rápido crecimiento en la actualidad. Lo mismo pasa con Google Chrome, que está basado en WebKit que es Open Source, pero que tiene extensiones desarrolladas por Google que no son libres, la alternativa libre es Chromium.

No creo que sea fácil para Skyhook probar sus acusaciones, porque básicamente necesitaría que Motorola declare que fue presionado por Google, algo que no creo ocurra. Por otro lado Google puede alegar que para certificar que un producto es 100% Android se deben cumplir ciertos requisitos mínimos que garantizan la estabilidad del sistema. Además Skyhook puede vender su producto como una aplicación más en el Android Market, pero la inclusión de su producto dentro del seteo inicial de los equipos es algo que compete al fabricante del equipo y el carrier, de alli que veo difícil que este caso en particular puede tener éxito en los tribunales.

Pero, dejando a un lado el problema legal, la simple sospecha de que Google actúe de esta manera ante un competidor mucho más pequeño, la vuelve muy parecida a otros gigantes de la industria TIC como son Microsoft o Apple. Si a lo anterior le sumamos el hecho de que hay serios cuestionamientos sobre como Google garantiza la privacidad de los datos de sus usuarios, gracias al reciente caso de David Barksdale, sugieren claramente que el lema de Google "Don’t be evil", es ya cosa del pasado en la empresa.

Una mente brillante no significa un buen corazón

La noticia más importante de los últimos días para mi, no está relacionada con la manipulación de las bolsas de valores, la destrucción del valor de la moneda a nivel mundial o Google Zeitgeist, sino la historia de David Barksdale, un ingeniero de Google que aprovechó su posición para acosar menores de edad (la motivación sexual no es clara, aunque no se descarta), espiando en su cuentas de Google Voice (telefonia/SMS) y Google Talk (chat). Aquí algunos links donde leer más sobre este asunto:

Algo interesante que he descubierto es que si se google por el nombre "David Barksdale", lo primero que encontraremos es un link de wikipedia a un líden de pandillas de Chicago conocido como King David, supongo que esto es debido a que esto es algo reciente y los autómatas de Google aún no registran todo el jaleo que hay debido al caso del otro David Barksdale, el ingeniero que tuvieron que despedir.

Google, siempre nos cuenta que su proceso de selección de personal está basado en un conjunto de filtros que garantizan que ellos contratan a lo mejor de lo mejor, es más ayer Don Dodge (ex-Microsoft y ahora ferviente Googler) en su blog "The next big thing", nos comenta extensamente lo meticuloso, extricto y a prueba de fallos que resulta el proceso de selección de Google. Lo cual me parece bien, ya que por su posición, cualquier persona que trabaje en Google tiene acceso a muy importante y muchas veces privada información.

Una golondrina no hace verano, cualquier ser humano o institución (que al final es un conjunto de seres humanos), puede cometer errores; en este caso Google se equivocó al contratar a una persona que podría ser tecnicamente capaz, pero emocional y moralmente disfuncional. Un caso no pueder ser usado como una prueba de que Google está lleno de sociópatas, pero es una llamada de atención al hecho de que ahora somos más dependientes que antes de servicios como Facebook, Google Voice, Gmail o GTalk, que no están regulados y por lo tanto estamos en las manos de las empresas que los proveen.

La moraleja que puedo extraer de esta historia es que necesitamos crear una regulación para este tipo de nuevas tecnología que permitan definir responsabilidades y proteger a los más débiles, en este caso los ciudadanos que confiadamente creen en los servicios de estas compañías.