Cómo monté mi radio online desde una raspberry pi (y lo que aprendí en el camino)

Cómo monté mi radio online desde una Raspberry Pi

En 2016 tomé una decisión que parecía una locura:
montar una radio por internet desde mi casa, con una computadora del tamaño de una tarjeta de crédito y una conexión doméstica.

Hoy, diez años después, La MIX Radio sigue al aire.
Y el camino que recorrí desde aquella Raspberry Pi hasta la infraestructura que tengo montada hoy es exactamente lo que voy a contarte en esta serie de artículos.

No es teoría. Es lo que viví, lo que rompí, lo que aprendí arreglando lo que rompí.


El punto de partida: una idea y una Raspberry Pi

Todo empezó con una pregunta simple: ¿Puedo transmitir música por internet de forma continua, desde casa, sin gastar una fortuna?

La respuesta era sí. Pero nadie me contó lo que venía después.

La Raspberry Pi (en ese momento usé la versión 2 Model B) es una pequeña computadora de placa única que corre Linux. Cuesta poco, consume muy poca energía y es perfecta para tareas continuas como el streaming de audio. En ese momento ya había mucha comunidad usando Raspberry Pi para proyectos de radio, pero la documentación en español era escasa y dispersa.

El stack básico que armé fue este:

  • Raspbian (hoy Raspberry Pi OS) como sistema operativo
  • Icecast2 como servidor de streaming
  • butt (Broadcast Using This Tool) como cliente de transmisión desde mi PC
  • Darkice para algunos experimentos de transmisión directa desde la Pi

¿Qué es Icecast2 y por qué lo elegí?

Icecast2 es un servidor de streaming de audio de código abierto. Funciona como el «motor» de la radio: recibe el audio que le mandás desde un cliente (butt, por ejemplo), lo procesa y lo distribuye a todos los oyentes conectados.

Es gratuito, estable, muy configurable y tiene décadas de uso en radios online de todo el mundo. Para mí, con 30 años de experiencia en radiodifusión AM/FM, era la opción natural: robusto, confiable y sin licencias.


La instalación básica en Raspberry Pi

Esto es lo que hacés para tener Icecast2 corriendo en una Raspberry Pi recién instalada:

bash

sudo apt update && sudo apt upgrade -y
sudo apt install icecast2 -y

Durante la instalación, el asistente te pregunta algunas cosas básicas: el nombre del servidor, la contraseña de administrador y la contraseña de fuente (source password). Anotá todo, lo vas a necesitar.

El archivo de configuración principal queda en:

/etc/icecast2/icecast.xml

Una configuración mínima funcional se ve así:

xml

Para arrancar el servicio:

bash

sudo systemctl enable icecast2
sudo systemctl start icecast2

Y para verificar que esté corriendo:

bash

sudo systemctl status icecast2

Si todo salió bien, podés acceder al panel de Icecast2 desde tu navegador en http://IP-de-tu-Pi:8000.


Conectando el cliente: butt

butt es el programa que usé en mi PC para enviar el audio a Icecast2. Es multiplataforma (Windows, Linux, Mac), gratuito y muy simple de configurar.

La configuración es directa:

  1. Abrís butt
  2. Vas a Settings → Main
  3. En «Server» ponés la IP de tu Raspberry Pi (o el dominio si ya tenés uno apuntando)
  4. Puerto: 8000
  5. Password: la source password que configuraste en Icecast2
  6. Mountpoint: /stream (o el nombre que quieras, con la barra incluida)

Y listo. Apretás el botón de play en butt y el audio empieza a fluir hacia Icecast2.

Para escuchar tu radio desde cualquier navegador:

http://IP-de-tu-Pi:8000/stream

La primera vez que escuché La MIX Radio desde el teléfono de un amigo que estaba en otro barrio… fue una de esas sensaciones que no se olvidan.


Los primeros problemas (y cómo los resolví)

Nada funciona perfecto a la primera. Estos fueron los tropiezos más comunes:

El router y los puertos

La Raspberry Pi está dentro de tu red local. Para que el mundo exterior pueda escuchar tu radio, necesitás abrir el puerto 8000 en tu router y hacer un port forwarding hacia la IP de la Pi.

Cada router es diferente, pero el concepto es el mismo: decirle al router «todo lo que llegue al puerto 8000 desde internet, mandalo a la IP 192.168.x.x».

Además, como la IP pública de tu casa cambia periódicamente (IP dinámica), necesitás un servicio de DNS dinámico como No-IP o DuckDNS. Así tenés un dominio fijo como turadio.duckdns.org aunque la IP cambie.

La Pi se calentaba… y se colgaba

Las primeras versiones de la Raspberry Pi no tienen el mejor manejo térmico bajo carga continua. Tuve que:

  • Agregar un pequeño disipador de calor
  • Asegurarme de que hubiera ventilación adecuada
  • Configurar un script simple de reinicio automático si Icecast2 caía

La conexión doméstica no siempre aguanta

Una conexión de internet hogareña tiene mucho más ancho de banda de bajada que de subida. El streaming de audio consume ancho de banda de subida. Con 100 oyentes simultáneos transmitiendo a 128 kbps, hacé la cuenta.

Al principio esto no era un problema (los oyentes eran pocos), pero fue algo a tener en cuenta para el futuro.


Lo que aprendí en esa primera etapa

Después de algunos meses con la Raspberry Pi funcionando, había aprendido varias cosas fundamentales:

  1. Linux no muerde, pero hay que respetarlo. Una vez que entendés cómo funciona systemd, los permisos y los logs, todo se vuelve mucho más manejable.
  2. La automatización es clave. Una radio no puede depender de que alguien esté presente todo el tiempo. Empecé a aprender a escribir scripts en Bash y Python para automatizar tareas.
  3. El monitoreo es obligatorio. Si no sabés cuándo se cayó el servicio, tus oyentes lo saben antes que vos. Configuré alertas básicas desde el principio.
  4. La comunidad online es el mejor manual. Foros, GitHub, Reddit, grupos de Telegram — hay gente que ya resolvió casi cualquier problema que puedas tener.

¿Y después qué pasó?

La Raspberry Pi fue el punto de partida. Pero con el tiempo, La MIX Radio fue creciendo: más oyentes, más automatización, bots de Telegram, metadatos en tiempo real, una PWA, extensiones de navegador, una Alexa Skill…

Y la infraestructura tuvo que crecer con ella.

En el próximo artículo de esta serie te cuento cómo pasé de la Raspberry Pi a un homelab completo con Proxmox, máquinas virtuales y contenedores — manteniendo la radio al aire durante todo el proceso de migración.


Recursos útiles

→ ¿Tenés preguntas o querés compartir tu experiencia montando tu propia radio online? Dejá tu comentario abajo.

Compartir

“Post relacionados”