radieo/stream/radio.liq
Pierre-Olivier Mercier 29ab0be7cb Milestone 1: Liquidsoap broadcasting skeleton
Liquidsoap (v2.4.5) container that plays the /cache directory in random
order and broadcasts it over HTTP at :8000/radio.mp3 (MP3 192 kbps).
mksafe guarantees a continuous stream (silence when the cache is empty).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 16:14:14 +08:00

29 lines
973 B
Text

#!/usr/bin/liquidsoap
# radieo — couche diffusion (jalon 1)
# Joue le dossier /cache en boucle aléatoire et le diffuse en HTTP.
# Les jalons suivants remplaceront la source par un request.dynamic piloté
# par le daemon d'ingestion, en gardant ce dossier comme secours.
# --- Journalisation : tout sur la sortie standard (pratique en conteneur) ---
settings.log.stdout := true
settings.log.file := false
settings.log.level := 3
# --- Harbor : écoute sur toutes les interfaces du conteneur ---
settings.harbor.bind_addrs := ["0.0.0.0"]
# --- Source : le dossier de cache, rechargé quand son contenu change ---
radio = playlist(mode="randomize", reload_mode="watch", "/cache")
# mksafe garantit un flux continu : si la source échoue ou est vide,
# Liquidsoap émet du silence plutôt que de planter.
radio = mksafe(radio)
# --- Sortie : flux MP3 sur http://<hote>:8000/radio.mp3 ---
output.harbor(
%mp3(bitrate=192),
port=8000,
mount="radio.mp3",
radio
)