Streaming de audio con la consola de Linux
Escrito por
ffuentes el Tuesday, 31 de January del 2012 a las 7:06
Supongamos que queremos alquilar un VPS baratillo y tener nuestra propia radio, para propósitos personales, comunitarios o para una necesidad puntual (durante el 15M recuerdo haber visto un par de streamings por ahi de las manifestaciones).
El problema es que lo que queremos en este caso es emitir usando sólo la consola, por la razón que sea. Hay varias alternativas para emitir radio por Internet pero no muchas nos permiten operar sólo con la consola. Una de las ventajas de operar desde la consola es que no necesitamos depender de otro ordenador más que el propio servidor, aunque podemos usar el nuestro si queremos. Algo muy útil y hasta necesario si lo que queremos es emitir 24 horas o de forma desatendida/automática.
Voy a hablar de dos programas, uno bastante conocido y otro no tanto. Para este artículo voy a presuponer que ya han trabajado con streaming de audio alguna vez antes.
El primero es por supuesto MPD. Music Player Daemon es su nombre real, y tal como indica, es un demonio que funciona en segundo plano.
MPD nos permite hacer bastantes cosas pero vamos a centrarnos en nuestro supuesto. Podemos emitir a un servidor shoutcast (propietario y que acepta mp3) o icecast (software libre) que acepta mp3 y ogg, pero también nos da la alternativa de emitir a través de su propio servidor.
MPD nos permite crear varias listas de reproducción y emitir a varios servidores a la vez (la misma señal).
Para utilizarlo debemos descargarnos en el servidor los paquetes mpd (el demonio) y mpc (el cliente con el cual vamos a controlar nuestra emisión). Tiene bastantes dependencias pero no demasiado pesadas.
Antes de ejecutar mpd tenemos que configurarlo, lo cual implica seguir estas instrucciones (la “Initial Configuration” y “Remote Playback”). Esto lo has de guardar en el archivo .mpdconf de tu usuario o en /etc/mpd.conf si necesitas que esté disponible para todos los usuarios del servidor.
Ahora podemos ejecutar “mpd” y al hacerlo nos saldrá una especie de aviso de que hemos empleado el puerto 6600, ahora bien, todavía nos queda algo que hacer.
Es el turno de mpc. Necesitamos actualizar la base de datos de mpd para que reconozca todas las pistas musicales o audios que tengamos que reproducir. Para añadir un archivo escribimos:
mpc add archivo.mp3
En el caso de que tengamos carpetas completas, vamos a la carpeta con música (con cd) y ejecutamos:
mpc ls | mpc add
O simplemente escribir mpc upgrade, con lo cual todas las pistas dentro de nuestra carpeta de usuario se incluirán en la biblioteca, si es que simplemente queremos tocar todas las pistas.
Luego:
mpc play
… para comenzar la emisión.
———————————————-
Lamentablemente tuve un par de problemas con mpd (una vez fue que cada vez que había una pérdida de la conexión, mpd no volvía a funcionar. La segunda debido a que usando Debian en un servidor, necesitaba emitir a un icecast en formato mp3 y no quise recompilar el programa) y aquello me llevó a probar con bastante éxito otro programa bastante interesante.
Este programa se llama ezstream y es bastante KISS, pero también es limitado comparado con MPD.
ezstream nos permite hacer lo mismo que MPD con algunas limitaciones pero de una manera bastante fácil.
A diferencia de MPD, ezstream no es un servidor, sólo un programa que lee una lista de reproducción y la emite a la red. Ezstream es capaz de recodificar archivos al vuelo al igual que MPD, sin embargo, no puede emitir sin un servidor.
Para configurarlo primero hemos de instalarlo y luego dirigirnos a esta carpeta: /usr/share/doc/ezstream/examples y buscar el archivo que más represente nuestras necesidades, son las posibles configuraciones de ezstream, por ejemplo, si sólo queremos emitir una señal de radio sin recodificar nada (emitiendo la música tal cual está) podemos coger el archivo ezstream_mp3.xml. Ahora tendremos que copiarlo, llevarlo a nuestra área de usuario (me refiero al /home/usuario) y editarlo para que se ajuste a nuestras necesidades.
Varias funciones que en MPD se pueden hacer a través del cliente, en ezstream requieren meter mano en este archivo.
Además, como ezstream no tiene una biblioteca, debemos crear un archivo de texto donde se encuentren las rutas de cada pista, una pista por línea, las cuales se tocarán en el mismo orden en que aparezcan. Una forma sencilla de generar el archivo es escribir el siguiente comando en la carpeta donde estén todas las pistas:
find /home/usuario/musica -name *mp3 | sort > /home/usuario/playlist.txt
La ubicación de nuestra lista de reproducción debe aparecer en nuestro archivo de configuración (el que mencionaba antes).
Ya hemos terminado lo más importante, ahora sólo queda emitir la señal.
ezstream -c ezstream_mp3.xml &
Eso es todo.
————————————–
Utilizo ezstream por su simpleza, sin embargo, una de sus carencias es que no se puede emitir una misma señal a través de varios servidores. Si sólo tienes un servidor y punto de montaje, no habrá problemas. Si necesitas emitir una misma señal a varios puntos de montaje, usa MPD.
Categoría: Multimedia |
No hay Comentarios »
Feed RSS







