€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
Общие вопросы по интернет радио вещанию
6 •
Посмотреть все темы
Liquidsoap Как получить ссылка текущего mp3 файла
1
1
Davit
@Dav
26.07.2022
Всем привет!
Liquidsoap: Как получить ссылка текущего mp3 файла которая играет в текущий момент, и отправить get запрос ?
или как получить обложку трека ?
#!/usr/bin/liquidsoap
set("server.telnet",true)
set("log.stdout", true) # вывод в консоль
set("log.level", 3) # уровень логгирования - 3
set("log.file.path","radio.log") # дополнительно вывод в файл
set("tag.encodings",["UTF-8"])
set("harbor.bind_addr","0.0.0.0")
set("harbor.verbose",true)
set('harbor.timeout',30.)
set("audio.converter.samplerate.libsamplerate.quality","fast")
set("encoder.encoder.export", ["artist","title","album","genre","date","tracknumber","comment","track","year"])
day = playlist(mode='random',reload=1,reload_mode='rounds','/home/admin/web/collection/d')
night = playlist(mode='random',reload=1,reload_mode='rounds','/home/admin/web/collection/n')
jingles = playlist(mode='random',reload=1,reload_mode='rounds','/home/admin/web/collection/jingles')
jingles = once(jingles)
ins_day = rotate(weights = [1, 3], [jingles, day])
ins_night = rotate(weights = [1, 3], [jingles, night])
#music = fallback([ switch([({ 16h55m-17h55m }, ins_day),({ 17h55m-18h00m }, livedj),({ 18h00m-16h55m }, ins_night)]) ])
music = fallback([ switch([({ 6h-23h }, ins_day),({ 23h-6h }, ins_night)]) ])
meta = ref([])
# Update current metadata
# converted in UTF8
def update_meta(m) =
m = metadata.export(m)
recode = string.recode(out_enc="UTF-8")
def f(x) =
(recode(fst(x)),recode(snd(x)))
end
meta := list.map(f,m)
end
# metadata
music = on_metadata(update_meta,music)
# Return the json content
# of meta
def get_meta(~protocol,~data,~headers,uri) =
m = !meta
http_response(protocol=protocol,code=200,headers=[("Content-Type","application/json; charset=utf-8")],data="#{m}")
end
# Register get_meta at port 700
harbor.http.register(port=8001,method="GET","/setmeta",get_meta)
music = mksafe(music)
music = crossfade(start_next=6.0, fade_out=3.0, fade_in=3.0,music)
output.icecast(%mp3(samplerate=44100,stereo=true,id3v2=true,bitrate=64), url="https://radio.muzofan.net/", host = "localhost", port = 8000, password = "******", mount = "newlive",icy_metadata="true", name="Radio Muzofan", description="Radio Muzofan - слушать онлайн. Что играло в эфире и песни станции.",music)
Отредактировано Dav -
26.07.2022