Etiquetas

jueves, 15 de marzo de 2012

Cómo extraer ("ripper" o rip) audio de YouTube

YouTube, entre otros servicios de flujos de video a demanda, se han constituido en un archivo audiovisual de la Humanidad.
En sites como YouTube hay mucho material cuyo audio es de buena calidad, por ejemplo de emisiones televisivas, en algunos casos incluso audiciones o presentaciones históricas.

Para los que preferimos archivarnos el audio y poder escucharlo donde sea, en casa, en el vieje en subte, en el auto resulta muy práctico transformar el flujo de video flv en un archivo de audio ogg o en su defecto mp3.
Sigue aquí un paso a paso o, para los apurados, una línea de consola que hará todo el trabajo.


El programa que encontré más rápido y directo es clive, que permite descargar videos de YouTube desde la consola.
Manos a la obra:

aptitude install clive

Hay que verificar que la versión de clive sea más o menos actual. En Debian Squeeze actualizado la versión probada es:

$ dpkg -l | grep clive
ii clive 2.2.13-5+squeeze4 video extraction utility for YouTube, Google Video and others
ii clive-utils 2.1.6-1 additional utilities for clive


clive son una serie de scripts Perl que permiten extraer un archivo flv desde YouTube. Tan simple como esto:

$ clive -f best URLDELVIDEO

Obs.: Con la opción -f best clive intentará obtener el video de mejor calidad disponible. Asombroso.

Y en el directorio de trabajo obtendremos el archivo URLDELVIDEO.flv

Finalmente se puede convertir el video flv a audio con ffmpeg

ffmpeg -i VIDEO.flv nombrearchivo.mp3

Ahora bien, de leyendo de la página de manual de clive pude obtener algunos parámetros interesantes. Para los que están apurados sigue la forma de hacer todo el trabajo en una sola línea de consola, lo que llaman un "oneliner":

Oneliner para extraer el audio en ogg:
clive --exec="ffmpeg -vn -i %i -acodec libvorbis %i.ogg;" -e -f best http://URLDELVIDEO

-vn producirá que no se extraiga el video.
-f best indica a clive tratar de obtener el stream de mejor calidad

Oneliner para extraer MP3 de la mejor calidad disponible:
clive --exec="ffmpeg -i %i %i.mp3;" -e -f best http://URLDELVIDEO

Si acaso no nos gusta el formato flv, también podremos convertir el video y guardar el video podemos hacerlo en ogg:

clive --exec="ffmpeg -i %i -acodec libvorbis %i.ogg;" -e -f best http://URLDELVIDEOENYOUTUBE

Continuar »

jueves, 8 de marzo de 2012

Finalmente ¿Cómo escuchar Vorterix desde la consola?

Actualización: ver este artículo:
Luego de algunos cambios en la forma que difunden su stream de audio vorterix parece haberse decidido por el uso de octoshape www.octoshape.com. La buena noticia es que, si bien no es un estándar abierto, ni mucho menos open source, el fabricante brinda soporte para Linux/GNU. Brevemente, para los que quieran escuchar esa radio sin "malgastar" recursos en el navegador con incrustaciones de flash y todos esos "accesorios".

Obs.: Ver actualización más reciente de este post:

Hoy lunes 12 introdujeron otra modificación en el site. Siguen, los pasos con los enlaces actualizados que se necesitan para poder escuchar la radio:

Soft requerido: mplayer o en su defecto vlc. Unzip se requiere para la instalación inicial.

1) Descargar el soft desde el site del fabricante:
2) Con el mismo usuario del sistema que se usará para oír el streaming dar permisos de ejecución y se descomprimirán los programas.
$ chmod u+x octosetup-linux_i386.bin
3) Se creará un directorio llamado octoshape. Desde allí ejecutando OctoshapeClient de la siguiente forma podremos iniciar el stream de Vorterix:
./OctoshapeClient -url:octoshape://streams.octoshape.net/sion/live/audio_2_64k

Se iniciará un proceso de mplayer que conectará a 127.0.0.1:6498, el socket que abre octoshape.
Por suerte esta vez, el fabricante brinda buen soporte para Linux/GNU, aún siendo un soft propietario y cerrado.


Obs.: Otro requerimiento que encontré es que en redes que utilicen proxy, por si acaso conviene anular el proxy en el shell que corra octoshape, de esta forma:

export http_proxy=""

O bien:

unset http_proxy




El motivo de esto es que Octoshape abre un socket en localhost:6498. Deshabilitar la variable del entorno http_proxy evitará que la conexión del programa cliente (mplayer o vlc) acaso intente conectar vía Internet.
Continuar »

Aplicaciones: háganlas más verdes

 Una parte del mundo, incluida la Argentina, desterró las lámparas de tungsteno por considerar a la invención de Edison un artefacto que contribuía a la contaminación debido a su baja eficacia eléctrica.
¿Acaso el mismo paradigma no debiera aplicarse nuevamente a las aplicaciones de software? Después de todo, ciclos de CPU desperdiciado por aplicaciones que despilfarran recursos contribuyen a aumentar el consumo eléctrico. En este artículo, algunos ejemplos que muestran que en el desarrollo de software por ahora, el camino elegido es el inverso.
El progreso está lleno de ejemplos de lo que Umberto Eco llamó "pasos de cangrejo". A veces ciertos desarrollos empujan a la humanidad hacia adelante, pero en ciertas ocasiones algunos avances traen también con ellos algunos pasos hacia atrás.
Hubo un tiempo, cuando las computadoras tenían mucho menos poder de cómputo de lo que tienen hoy en día, que los programadores tenían que ingeniárselas para escribir código que cuidara al máximo los ciclos de CPU, es decir el tiempo que la unidad central de proceso debe destinar a la aplicación, para no comprometer el proceso de otras que corren de manera concurrente.
El progresivo aumento del poder de computación de los procesadores permitió que paulatinamente la preocupación por el "consumo" de CPU fuera cayendo en el olvido.
Este problema no es ajeno a las páginas web. Para un ejemplo basta abrir la página inicial del diario Clarin (www.clarin.com) y verificar la cantidad de recursos incrustados "multimedia" y la cantidad de memoria y cpu utilizada para mostrarlos en la pantalla. Con todo, en PCs actuales la página se ve cargar rápidamente... En muchas ocasiones, el despilfarro de estos recursos web viene dado por el uso de herramientas que no son estándares de la industria, sino software desarrollado por ciertas compañías que por su recurrencia en el uso se han vuelto estándares de facto. Acaso el advenimiento de html5 venga a reestablecer el equilibrio -en palabras Jedi- en el universo web.
La energía consumida por los procesadores -las computadoras- es proporcional a los ciclos de CPU "consumidos", que se pueden verificar como "porcentaje" de CPU utilizada en los gráficos de los monitores del sistema o en utilidades como top en los sistemas *nix. Por lo tanto hacer aplicaciones más eficientes, contribuiría directamente a reducir el consumo eléctrico. A escala de los individuos uno podría pensar... "no cambia nada", pero a la escala de grandes agregados. Es la misma historia que las bombitas incandescentes. Si su salida contribuyó a la reducción del consumo, entonces hacer aplicaciones y estándares eficientes debería hacerlo también.

¿Por qué no volver a la filosofía UNIX? Aplicaciones modulares, que hagan su tarea y sólo su tarea per de la mejor manera posible

Hace pocos días dediqué algo de tiempo a un proyecto de fin de semana.
Como los equipos de audio hogareños se volvieron horribles salvo que uno disponga del dinero suficiente como para equipos de alta gama (el segmento llamado "high-end"), decidí hacer un "media" center de audio. Sólo un nombre complicado para una "caja" con un linux embebido (sin teclado ni monitor) capaz de reproducir los principales formatos de audio: CD, audio comprimido (flac, mp3, ogg, aac, etc) y streaming de radios en internet. Todo, controlable desde un control remoto infrarojo o desde un smartphone.
Una vez más, al menos para mí, Linux y los sistemas open source me permitió "ponerle diversión al audio hogareño", tal como reza el excelente lema de DistroWatch.
En breve, voy a tratar de anotar todo lo que pueda y liberar bajo GPL para que el que quiera pueda instalarse y mejorar esta caja de audio.
El punto fuerte de los sistemas embebidos o como quiera llamarse un artefacto como este es no utilizar interfaz gráfica, simplemente porque la idea es no usar monitor sino algún otro dispositivo de salida como un display lcd.
Dediqué un tiempo a agregar scripts para reproducir las estaciones de flujos de radio (streaming) preferidas. Con la mayoría el trabajo fue fácil. Con la nueva Vorterix costó un poco de trabajo.
Para el streaming de radio ellos eligieron una solución propietaria llamada Octoshape. La buena noticia para el mundo Linux es que el fabricante de dicho soft ofrece soporte para GNU/Linux como para Mac OS http://www.octoshape.com/?page=get_octo/get_octo, además el fabricante da soporte rápidamente a consultas.
Según las palabras de sus productores, Vorterix es más que una radio. Es algo así como una plataforma multimedial. Eso está perfecto, hacer radio más imagen sin convertirse en televisión. Mi única y modesta opinión es que sin dejar de ser multimedia no se olviden de los que quieren escucharla como si fuera una radio, es decir sin tener que cargar en el navegador y desperdiciar recursos que no quieren utilizar en ese momento.
Finalmente, fue posible usar Vorterix desde la consola, esos detalles para un próximo post.
Continuar »