Ir al contenido

Recibiendo Transmisiones de Radio

Las transmisiones de radio suelen usar el protocolo ICY, un protocolo de streaming desarrollado para la radiodifusión por internet. Muchas emisoras de radio utilizan servidores Icecast o Shoutcast para entregar su contenido. Aunque ICY es similar a HTTP, tiene algunas diferencias clave en cómo maneja los metadatos y la información del flujo.

Cómo Encontrar URLs de Transmisión de Radio

Sección titulada «Cómo Encontrar URLs de Transmisión de Radio»

Si solo conoces la dirección web de la emisora, puedes encontrar la URL del stream usando las herramientas de desarrollador de tu navegador:

  1. Abre el sitio web de la emisora en tu navegador
  2. Abre el Inspector Web (Herramientas de Desarrollador) y ve a la pestaña Network
  3. Empieza a reproducir la radio en el sitio web
  4. En la pestaña Network, busca una fila con tipo media donde el tamaño sigue aumentando continuamente
  5. Haz clic derecho en esa fila y selecciona CopyCopy URL

Encontrando la URL del stream de radio en el navegador

La URL copiada es la dirección directa del stream que puedes usar con FFmpeg.

Astra no soporta el protocolo ICY directamente. Sin embargo, puedes recibir transmisiones de radio usando FFmpeg para convertirlas a un formato que Astra pueda manejar.

Usa FFmpeg para recibir un stream ICY y enviarlo por UDP para que Astra lo reciba:

Ventana de terminal
ffmpeg -i http://radio.example.com:8000/stream -c copy -f mpegts 'udp://127.0.0.1:15001?pkt_size=1316'

Luego configura Astra para recibir desde esta dirección UDP:

udp://127.0.0.1:15001

Para mantener FFmpeg funcionando de forma continua, puedes configurarlo como un servicio systemd.

Crea el archivo /etc/systemd/system/radio-name.service con el siguiente contenido:

[Unit]
Description=Forward Radio Name to Astra
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/ffmpeg \
-hide_banner -loglevel warning -nostats \
-timeout 5000000 \
-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5 \
-re \
-i https://radio-stream:7378 \
-c:a copy \
-f mpegts 'udp://127.0.0.1:15001?pkt_size=1316'
Restart=always
RestartSec=5
StandardOutput=null
StandardError=journal
[Install]
WantedBy=multi-user.target

Reemplaza en este archivo:

  • File Name: usa en vez de radio-name.service un nombre relevante para la emisora (si tienes varios servicios)
  • Description: cambia Radio Name por el nombre de la emisora
  • Stream URL: reemplaza https://radio-stream:7378 por la URL real del stream de la emisora
  • UDP Port: cambia 15001 por el puerto UDP que quieras usar

Después de crear el archivo de servicio, habilítalo e inícialo con:

Ventana de terminal
systemctl enable radio-name
systemctl start radio-name

Para detener el servicio, usa:

Ventana de terminal
systemctl stop radio-name

Para deshabilitarlo del inicio automático, usa:

Ventana de terminal
systemctl disable radio-name

Finalmente, configura Astra para recibir el stream UDP agregando una nueva entrada con la dirección:

udp://127.0.0.1:15001