myircbot/config/liquidsoap.liq
2025-05-29 22:58:53 +02:00

59 lines
1.5 KiB
Plaintext
Executable File

set("server.socket.path", "/var/run/liquidsoap/socket")
set("log.file.path", "/var/log/liquidsoap/liquidsoap.log")
set("log.stdout", true)
set("server.socket", true)
set("server.telnet", true)
set("server.telnet.bind_addr", "127.0.0.1")
set("server.telnet.port", 1234)
set("server.telnet.allow", "127.0.0.1")
def apply_metadata(m) =
filename = m["filename"]
raw_title = m["title"]
raw_artist = m["artist"]
title = if raw_title == "" then filename else raw_title end
artist = if raw_artist == "" then "Desconocido" else raw_artist end
[("stream_title", artist ^ " - " ^ title)]
end
def print_metadata(m) =
raw_title = m["title"]
raw_artist = m["artist"]
title = if raw_title == "" then "Sin título" else raw_title end
artist = if raw_artist == "" then "Desconocido" else raw_artist end
print("Reproduciendo ahora: #{artist} - #{title}")
end
radio_playlist = playlist.safe(mode="randomize", reload=10, "/var/lib/radio/")
radio_with_metadata = map_metadata(apply_metadata, radio_playlist)
default_audio = blank()
radio_stream = fallback(track_sensitive=false, [radio_with_metadata, default_audio])
radio_stream.on_metadata(print_metadata)
output.icecast(
%opus(
bitrate=320,
vbr="none",
application="audio",
complexity=10,
signal="music"
),
host = "localhost",
port = 8000,
password = "${ICECAST_SOURCE_PASSWORD}",
mount = "/stream.opus",
name = "My Radio Stream",
description = "Streaming en Opus desde Liquidsoap",
radio_stream
)