Cómo emitir audio en directo

En Internet existen muchos servicios para emitir audio en directo, lo que comúnmente se llama una radio online, pero ¿cómo de complicado es montar un servidor para emitir en directo y no depender de nadie?.

Realmente es extremadamente fácil y cualquiera puede hacerlo siguiendo las instrucciones que aquí os voy a dejar, de hecho para demostrar el funcionamiento del mismo el Sábado pasado hicimos un streaming sobre un servidor recien montado.

Para hacer el streaming se instaló un Icecast2 en un servidor cloud con 1G de RAM y 1 único core, lo más pequeño que se puede a modo de prueba para ver el desempeño y la verdad es que funcionó muy bien.

El streaming duró 25 minutos, los 5 primeros minutos sólo puse música mientras preparaba las cosas y llegaban oyentes, y esta es la gráfica de red del servidor durante el streaming.

La CPU, la memoria y el disco durante ese tiempo se quedaron en nada vamos, la CPU estuvo en todo momento en torno al 5% y el disco sin uso, la memoria RAM estuvo en 39M, os dejo el pantallazo.

El software de escritorio empleado fue Mixxx.

A continuación os dejamos el audio y un resumen de todo lo que comentó en ese audio.

Instalar el servidor

Para instalar el servidor simpelmente entré en mi panel de Neodigit y contraté un servidor cloud con 1G de RAM, 1 core y 10g de disco SSD, total 27 euros al mes. Con este servidor podremos hacer streaming 24*7 y todos los canales que nos de la gana con el servidor en España, más concretamente en el barrio de Fuencarral en Madrid.

El objetivo es hacer una transmisión de streaming que se pueda escuchar desde cualquier lugar, como en la foto de la derecha, este audio se llegó a escuchar desde el coche, gracias @toplus por la foto.

Instalar Icecast2

La instalación de Icecast2 consiste en lo siguiente:

Mientras se instala el software nos irá preguntando las contraseñas necesarias.

Y para que soporte streams en mp3, esto no lo dije en el audio, se me pasó 🙁 y es importante:

Ahora comprobaremos en el /etc/icecast2/icecast.xml que esté todo correcto:

Y arrancamos el servicio de Icecast2

Configurar Firewall

Esto no es estritamente necesario, pero sí muy necesario, filtrar todo lo no necesario, filtrar la IP que puede hacer ssh y permitir sólo el puerto del Icecast, en mi caso el 8000, para eso ejecutamos el siguiente script:

X.X.X.X es la IP desde la que permitís el ssh al servidor.

Y para que las reglas sean persistentes instalaremos el iptables-persistent

Esto creará el fichero /etc/iptables/rules.v4 con las reglas que le hemos definido

Y podemos confirmar que está arrancado con

Descarga y configuración de Mixxx

El software de escritorio que se va a conectar con nuestor servidor de streaming Icecast2 será Mixxx que podéis descargarlo de mixxx.org, tenéis versión para cualquier sistema operativo de escritorio.

Para configurar tanto los micrófonos como el servidor Icecast2 donde vamos a hacer el streaming lo hacemos en la opciones – preferencias.

Ahí en “hardware de sonido” seleccionaremos el o los micrófonos que vayamos a usar.

Y en emisión en vivo configuraremos los siguientes datos:

  • Tipo: Icecast 2
  • Servidor: IP de nuestro servidor
  • Identificación: source
  • Montar: lo que queráis que vaya para montar la URL
  • Puerto: Por defecto 8000, pero se puede cambiar en el Icecast
  • Contraseña: La que le hayáis dicho al Icecast 2

Espero que esta entrada os haya sido de utilidad si estáis pensando en montar un servidor de streaming y cualquier duda ya sabéis, podeis poneros en contacto con nosotros sin problemas.

Un placer y hasta la próxima

ACTUALIZACIÓN 25.02.2017 – Como emitir 24/7

Si lo que queréis es crear una radio que emita 24/7 podéis hacerlo con ezstream, para ello:

Y ahora prepararemos el fichero de configuración copiando el del ejemplo

Y editaremos el fichero, aquí lo más importante es indicar donde va el playlist, la línea

Ahora en el directorio /home/mp3/rock, este es el que he elegido yo subiremos los ficheros y crearemos un fichero playlist.txt con la lista de ficheros:

por ejemplo aśi:

Y ahora tendremos que ejecutar ezstream, yo os recomiendo usar un screen

Y ahora, ¿cómo hacemos para que esté sonando música y cuando nosotros empecemos a hacer streaming con Mixxx deje de sonar esa música y suente nuestro stream?

Lo que tenemos que hacer es crear dos puntos de montaje, en mi caso autodj, que es donde está la música y que sea este el punto de montaje que salte si falla el de radio, donde entran los clientes.