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>
This commit is contained in:
commit
29ab0be7cb
6 changed files with 129 additions and 0 deletions
5
stream/Dockerfile
Normal file
5
stream/Dockerfile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
FROM savonet/liquidsoap:v2.4.5
|
||||
|
||||
COPY radio.liq /etc/liquidsoap/radio.liq
|
||||
|
||||
CMD ["/etc/liquidsoap/radio.liq"]
|
||||
29
stream/radio.liq
Normal file
29
stream/radio.liq
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#!/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
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue