Instalar un servidor de streaming audio con Icecast2 en Ubuntu 14.04

Instalar un servidor de streaming audio con Icecast2 en Ubuntu 14.04

Icecast es un servidor de streaming multimedia que soporta Ogg y Mp3. Con programas tales como Winamp o Xmms, cualquier usuario se puede conectar a tu computador y escuchar contenidos de audio en tiempo real y así poder tener tu radio por internet.

Ahora bien, Icecast por si solo no hace mucho, ya que a lo sumo permite entregar archivos ogg o mp3 de forma directa, tal cual como lo haría Apache. Para hacer que funcione como una radio, necesitamos lo que se llama un cliente de streaming, que entregue contenidos a Icecast para que funcione. Haciendo una analogía con la radio, Icecast es la antena, en tanto que el cliente es la consola que tiene conectados los micrófonos y el reproductor de CD.

Entramos a la consola y escribimos:

  sudo aptitude install icecast2 ices2 vorbis-tools
  

 

Una ves instalado, aparece en la pantalla para configurar el icecast2. Le decimos que si, y colocamos el nombre del servidor (en mi caso localhost) y luego colocamos el password.

En caso que quieras volver a configurar de forma manual, escribimos en la consola:

  sudo gedit /etc/icecast2/icecast.xml
  

 

Buscamos la sección  y configuramos los siguientes parámetros PASSWORD_FUENTES, PASSWORD_RELAY, ADMINISTRADOR, PASSWORD_ADMINISTRADOR

<authentication>
	<source-password>PASSWORD_FUENTES</source-password>
	<relay-password>PASSWORD_RELAY</relay-password>
	<admin-user>ADMINISTRADOR</admin-user>
	<admin-password>PASSWORD_ADMINISTRADOR</admin-password>
</authentication>
  

 

Buscamos la sección Indicamos el nombre del servidor que vamos a utilizar. Si emitimos desde nuestro equipo en local ponemos localhost

  <hostname>localhost</hostname>
  

 

Buscamos la sección Indicamos el puerto desde el que emitimos. Si emitimos desde nuestro equipo en local podemos dejar el 8000

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

 

Ahora guardamos los cambios y luego lo cerramos.
Volvemos a entrar  ala consola y escribimos:

sudo gedit /etc/default/icecast2

 

Ir a donde dice:

  # Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script

 

Cambiamos a:

  ENABLE=true
  

 

Ahora guardamos los cambios y luego lo cerramos.
Volvemos a entrar  ala consola y escribimos:

    sudo /etc/init.d/icecast2 start
    

 

Nos aparece por la pantalla:

Starting icecast2:

 

Si ahora nos vamos a la barra de direcciones de nuestro navegador favorito (en mi caso Mozilla Firefox) y escribimos
http://localhost:8000.

Icecast en Ubuntu 13.04

Icecast en Ubuntu 13.04

Podemos observar que no tenemos ningún Active Mountpoints, lo cual conseguiremos tras instalar el cliente ices2 y establezcamos las “lista de canciones“.

Icecast en Ubuntu 13.04

Icecast en Ubuntu 13.04

Volvemos a entrar a la consola y escribimos:

sudo mkdir /etc/ices2
sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/
sudo chmod +x /etc/ices2/ices-playlist.xml

 

Luego editamos el archivo y lo configuramos, escribimos en la consola:

  sudo gedit /etc/ices2/ices-playlist.xml
  

En la parte <background> cambiamos el 0 por 1, de esta forma evitaremos que se mantenga la terminal abierta hasta que lo cerramos.
<background>1</background>

 

En la parte <metadata> cambiamos:

<metadata>
<name>Proyectos Beta</name>
<genre>De Todo</genre>
<description>Es una prueba</description>
</metadata>

  

 

En la parte <input> cambiamos:

<param name="file">/home/proyectosbeta/playlist.txt</param>
<param name="random">1</param>
<param name="once">0</param>

 

OBS:

  • Colocamos la ruta del archivo que contiene la lista de canciones. En mi caso sería: /home/proyectosbeta/playlist.txt.
  • Random: indicamos si queremos que la reproducción de los archivos sea secuencial (0) o aleatoria (1).
  • Once: Indicamos si queremos que la emisora deje de emitir al terminar la lista de reproducción (1) o que continúe emitiendo sin interrupción (0).

En la parte cambiamos:

<hostname>localhost</hostname>
<port>8000</port>
<password>PASSWORD_FUENTES</password>
<mount>/lista_de_reproduccion.ogg</mount>

 

OBS:

  • La dirección del servidor: localhost  (en mi caso lo tengo en local).
  • El puerto: por defecto trae 8000.
  • El password de las fuentes: PASSWORD_FUENTES (es el mismo password que hemos puesto en /etc/icecast2/icecast.xml).
  • En debemos elegir el ‘mount point’ que queramos para emitir. Podemos poner algo descriptivo (sin espacios y acabado en .ogg), por ejemplo lista_de_reproduccion.ogg.

Ahora guardamos el archivo y luego lo cerramos. Volvemos a escribir en la consola:

sudo mkdir /var/log/ices
sudo chmod 777 /var/log/ices

 

Volvemos a entrar a la consola para agregar la lista de las canciones.

  sudo gedit /home/proyectosbeta/playlist.txt
  
 

 

Agregamos:

/home/proyectosbeta/BytePodcast372.ogg

 

Ahora guardamos el archivo y luego lo cerramos. Volvemos a escribir en la consola:

  sudo ices2 /etc/ices2/ices-playlist.xml &
  

Si ahora nos vamos a la página (en este caso http://localhost:8000 veremos que aparece el enlace http://localhost:8000/lista_de_reproduccion.ogg , con el que podemos conectarnos a la radio.

 

Icecast en Ubuntu 13.04

Icecast en Ubuntu 14.04

Icecast en Ubuntu 13.04

Icecast en Ubuntu 14.04