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 )