Instalar y configurar Icecast 2 en Ubuntu 18.04

Instalamos y configuramos el servidor de transmisión de audio y vídeo llamado Icecast, sobre un servidor GNU/Linux con Ubuntu 18.04 Así que empecemos.

A propósito de “tot plegat”

Aunque tengo un poco abandonado el tema del pocast por falta de tiempo, prácticamente desde primavera, siempre tengo en mente grabar uno nuevo y volver por la senda del samurái de las ondas hercianas. La cuestión es que tengo la suerte de participar del grupo de Kill All Radio, con grandes figuras del podcast. Es justo en conversaciones con ellos, que me hablaron de Icecast, de Mixxx, y de otras herramientas de transmisión de audio.

Y nada, como ahora tengo las tardes libres, me he puesto con ello y el resultado de las horas dedicadas son esta entrada y otras que estoy preparando, reflejando mi experiencia

¿Qué es Icecast?

Actualmente la versión del producto es la 2, tal y como hemos indicado es un servidor de “streaming”, esto es, de transmisión, tanto de audio como de vídeo. A fecha de hoy en la web oficial indica que admite los formatos Ogg (Vorbis y Theora), Opus, WebM y MP3

Se puede usar para crear una estación de radio por Internet o una jukebox privada entre otras cosas. A priori es muy versátil porque los nuevos formatos se pueden agregar con la relativa facilidad y admite estándares abiertos para la comunicación y la interacción.

Se trata de softare libre, ya que utiliza una licencia GNU GPL, en su versión 2

Instalación de Icecast

La instalación bien siempre, ya que los paquetes necesarios ya se encuentran en los repositorios principales. Eso sí, antes de todo actualizamos.

  1. sudo apt update
  2. sudo apt install icecast2

Además, si queremos dar soporte para directos con mp3, debemos instalar el siguiente paquete:

  1. sudo apt install libmp3lame0

Configurar Icecast

Justo después de instalar el paquete, se abrirá una ventana de configuración automatizada. Debemos seleccionar “Sí” para configurar Icecast y seguir las indicaciones.

Icecast se puede configurar editando el archivo de configuración XML , ubicado en /etc/icecast2/icecast.xml

Por defecto el puerto que utiliza es el 8000, podemos cambiarlo por el que nosotros deseemos. En el mismo apartado añadimos el nombre del servidor:

  1.     <hostname>radio.bitsandlinux.com</hostname>
  2.     <!-- You may have multiple <listener> elements -->
  3.     <listen-socket>
  4.         <port>8000</port>

Además, debemos indicar un usuario y contraseña para el usuario administrador, además de las contraseñas correspondientes para los usuarios «source» y «relay»

  1. <authentication>
  2.         <!-- Sources log in with username 'source' -->
  3.         <source-password>xxxxxxxxx</source-password>
  4.         <!-- Relays log in username 'relay' -->
  5.         <relay-password>xxxxxxxxxx</relay-password>
  6.  
  7.         <!-- Admin logs in with the username given below -->
  8.         <admin-user>admin</admin-user>
  9.         <admin-password>xxxxxxxxxxxx</admin-password>
  10.     </authentication>

Guardamos y salimos

Por cierto, recomiendo cambiar el nombre del usuario «admin» por otro. Ya que dejando el usuario por defecto facilitamos las cosas a los «malos», si intentan entrar en el servidor.

Otros aspectos

Si tenemos un cortafuegos configurado en el servidor, debemos habilitar el puerto 8000, al igual que el 22 para ssh, etcétera. Respecto a esto podéis consultar este enlace si utilizas UFW:

Gestión del cortafuegos en Ubuntu con UFW

Mi experiencia

Recientemente realicé un directo que compartí por las redes sociales, con cierto éxito, ya que el servidor llegó a tener 80 conexiones. Para ello utilicé el servidor recién instalado con Icecast 2. Para emitir el audio desde mi portátil utilicé el programa Mixxx, el cuál todavía estoy conociendo. La experiencia fue muy buena.

Mejoras del servidor

La verdad es que es un poco engorroso compartir la URL de la emisión con el puerto en cuestión, además sin cifrado SSL. Para solventarlo he escrito esta segunda entrada. En él vemos como utilizar un proxy inverso con Nginx y como instalar un certificado SSL con Let’s Encrypt y la herramienta Certbot.

Instalar y configurar un servidor proxy inverso en Ubuntu 18.04

Y esto es todo respecto a estos temas. La verdad que la emisión en directo utilizando software libre tiene mucha miga. Por lo que seguramente escribiré entradas similares en los próximos días, a modo también de Wiki personal, a medida que voy encontrando cosas nuevas.

Por cierto, si queréis ver el resultado de la instalación, podéis acceder en esta URL: https://radio.bitsandlinux.com

Nos leemos en la próxima.

Fuentes consultadas:

Icecast.org
Blog.tecnolocrática.net – Cómo emitir un audio en directo