Radio online con Ubuntu

Esta entrada surgió de la necesidad que tenían en la Universidad donde estudio. Era necesario retransmitir a través de internet lo que la Radio Universitaria generaba en vivo. Googleando encontré lo que necesitábamos. Icecast.

Icecast es un software para streaming multimedia. Es un servidor que es fácilmente configurable. Lo que necesita es un cliente que le diga «qué reproducir». La verdad que existen varias aplicaciones que lo permiten, pero nos decidimos por Ices que es el cliente por defecto de Icecast.

Bien. Las dos aplicaciones se encuentran en los repositorios de Ubuntu (11.10 en mi caso) así que procedemos a instalarlas desde el terminal. Además instalamos vorbis-tools lo que nos va a permitir manipular formatos libres.

sudo apt-get install icecast2 ices2 vorbis-tools

El archivo de configuración de Icecast se encuentran en el directorio /etc/icecast2 para ello, lo modificamos con el siguiente comando

sudo vim /etc/icecast2/icecast.xml

vim es mi editor favorito dentro de consola. Pueden utilizar cualquier otro como vi o nano, o incluso gedit si se cuenta con entorno gráfico.

Dentro del archivo /etc/icecast2/icecast.xml editamos solo ciertas secciones importantes. Tenemos la sección <authentication> donde modificamos los siguientes valores:

<authentication>
<source-password>clavesource</source-password>
<relay-password>claverelay</relay-password>
<admin-user>usuarioadmin</admin-user>
<admin-password>claveusuarioadmin</admin-password>
</authentication>

Luego buscamos la sección <hostname> y allí ponemos el host del equipo o dirección IP

<hostname>hostdelserver.com</hostname>

Finalmente editamos el puerto por donde se van a escuchar las solicitudes. Por defecto es 8000.

<listen-socket>
 <port>8000</port>

Para poder arrancar el servicio es necesario habilitarlo en el archivo /etc/default/icecast2  dándole el valor true a la variable.

sudo vim /etc/default/icecast2

ENABLE=true

Y finalmente lo arrancamos.

sudo /etc/init.d/icecast2 start

Hasta este momento tenemos el servidor de streaming, pero aún no configuramos «qué va a escuchar».

Para configurar Ices es necesario copiar el archivo de configuración que vamos a usar. Existen varios archivos respecto a la fuente que vamos a usar: por ejemplo para un playlist usaremos el archivo ices-playlist.xml o en nuestro caso para usar audio que va a entrar por la tarjeta de sonido usamos ices-alsa.xml.

Entonces vamos a crear una carpeta y vamos a copiar el archivo antes mencionado, que se encuentra en los archivos de instalación de ices. Además le vamos a dar permisos de ejecución

sudo mkdir /etc/ices2

sudo cp /usr/share/doc/ices2/examples/ices-alsa.xml /etc/ices2/

sudo chmod +x  /etc/ices2/ices-alsa.xml

Luego editamos el archivo para configurarlo:

sudo vim /etc/ices2/ices-alsa.xml

El primer parámetro que hay que modificar es <background> que es para q se ejecute sin necesidad de que se quede abierto un terminal

<background>1</background>

Para personalización en la sección <metadata> editamos

<name>Nombre de la estación</name>
<genre>Varios géneros</genre>
<description>Ejemplo de descripción</description>

Luego en la sección <instance> configuramos

<hostname>hostdelservidor.com</hostname>
<port>8000</port>
<password>clavesource</password>
<mount>/arhivoreproductor.ogg</mount>

La dirección del servidor puede ir un dominio o una dirección ip (en nuestro ejemplo dominio). El puerto que por defecto es 8000.
El password de las fuentes es el mismo password que hemos puesto en /etc/icecast2/icecast.xmll

En <mount></mount> debemos elegir el ‘mount point’ que queramos para emitir. Es el que se va a abrir en el reproductor o navegador. Podemos poner algo descriptivo (sin espacios y acabado en .ogg), por ejemplo archivoreproductor.ogg

Finalmente arrancamos ices2 con el siguiente comando

sudo ices2 /etc/ices2/ices-alsa.xml

Enviándole como parámetro el archivo ices-alsa.xml. En caso que hubiéramos escogido otro archivo de configuración hubiera ido ese de parámetro.

Espero que les sirva este pequeño tutorial.

Deja un comentario