ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
6   •   Посмотреть все темы

liquidsoap

 

44
firefedot @firefedot
Доброе...

Сал получать ошибку при запуске liquidsoap

# /usr/bin/liquidsoap /etc/liquidsoap/liq.cfg
At line 7, char 20: the variable mksafe used here has not been previously defined.



А раньше не ругался, что отвалилось?)

89
Ok_go_love @Ok_go_love
Конфиг меняли? Может быть обновили liquidsoap? Можно пример конфига в студию? Прокапитаню, но где-то mksafe использован не как функция, но как переменная.

382
Grigorij @gyurgin_1
Давайте конфиг там мелочь какая то.

44
firefedot @firefedot
gyurgin_1 пишет:

Давайте конфиг там мелочь какая то.



#!/usr/bin/liquidsoap
#...
set("log.file.path","/home/netmaster/liq.log")

#..
myplaylist = mksafe(playlist("/home/user/music.m3u"))

#.
output.icecast(%aacplus(bitrate=16, samplerate=44100, channels=2),
host = "192.168.1.16", port = 8888,
password = "pass", mount = "music", myplaylist)


И так пробовал, то же самое


#!/usr/bin/liquidsoap
#...
set("log.file.path","/home/netmaster/liq.log")

#..
#myplaylist = mksafe(playlist("/home/netmaster/music.m3u"))

#.
output.icecast(%aacplus(bitrate=16, samplerate=44100, channels=2),
host = "192.168.1.16", port = 8888,
password = "pass", mount = "music", mksafe(playlist("/home/user/music.m3u")))

Отредактировано firefedot - 12.01.2015
382
Grigorij @gyurgin_1
Вы там в своем уме? втрой конфиг изначально не рабочий. Liquidsoap выдает ошибку - смотрите и если совсем тупняк пишите.

44
firefedot @firefedot
gyurgin_1 пишет:

Вы там в своем уме? втрой конфиг изначально не рабочий. Liquidsoap выдает ошибку - смотрите и если совсем тупняк пишите.


По этому и обратился за помощью. что выдает ошибку...
не могу понять где ...

До этого работало все так же .. где-то . что-т не дописал или упустил и не могу найти...

382
Grigorij @gyurgin_1
Liquidsoap пишет в какой строке и позиции ошибка. Давайте конфиг если сами не можете.

44
firefedot @firefedot
gyurgin_1 пишет:

Liquidsoap пишет в какой строке и позиции ошибка. Давайте конфиг если сами не можете.


я его предоставил выше...

89
Ok_go_love @Ok_go_love
Откуда мы знаем, где у Вас там седьмая строка?

44
firefedot @firefedot
Ok_go_love пишет:

Откуда мы знаем, где у Вас там седьмая строка?


Повторюсь, вот мой конфиг)


#!/usr/bin/liquidsoap
#...
set("log.file.path","/home/netmaster/liq.log")

#..
myplaylist = (playlist("/home/netmaster/music.m3u"))


#.
output.icecast(%aacplus(bitrate=16, samplerate=44100, channels=2),
host = "192.168.1.16", port = 8888,
password = "pass", mount = "music", mksafe(myplaylist))

Отредактировано firefedot - 15.01.2015
89
Ok_go_love @Ok_go_love
Могу только предложить убрать mksafe из функции output, и после строки myplaylist= дописать строку
myplaylist = mksafe(myplaylist)
Со вложенными инструкциями у него иногда случается беда.

Отредактировано Ok_go_love - 02.02.2015
25
djgelius @djgelius

#!/etc/liquidsoap -d
set("init.daemon",true)
set("init.daemon.pidfile",false)
set("log.file.path","/var/log/site/asot_radio.log")
set("log.stdout",true)
set("log.level",3)
set("server.telnet.bind_addr","127.0.0.1")
set("server.telnet",true)
myplaylist = mksafe(playlist(reload=360, '/var/www/asot_radio/'))
radio = myplaylist
radio = mksafe(radio)
radio = smart_crossfade(start_next=6.0, fade_out=3.0, fade_in=3.0, radio)

potok = out(input.http("http://сайт:порт/маунт" ))
radio = fallback(track_sensitive=false, [ switch([({ 4w22h00m-4w23h59m }, potok)]), radio ])

output.icecast(%mp3(bitrate=128, samplerate = 44100, stereo = true),
host = "localhost",
port = 8000,
name="ASOT EDM Radio 128 kbit/s",
genre="Electronic",
url="http://edmradio.ru/",
description="Electronic Dance Music Radio",
password = "пароль",
mount = "/asot",
radio)

url = "http://localhost:8000/asot"
input = mksafe(input.http(url))

output.icecast(
%aacplus(channels=2, samplerate=44100, bitrate=32),
mount="/asot_32aac",
host="localhost", port=8000, password="пароль",
genre="Electronic",
url="http://edmradio.ru/",
description="Electronic Dance Music Radio",
name="EDM Radio AAC 32 kbit/s",
input)

В чем косяк у меня? у меня должен ретранслироваться поток в указанное время ошибок конфиг не выдает, поток рабочий указанный

302
Support @Support
Ищу специалиста по liquidsoap, в продолжении темы, осталось сделать пару вещей:
**********

Отредактировано Support - 06.03.2015
10
oprst @oprst
Привет, уважаемые форумчане.
Помогите решить одну, по идеи, простую задачку.
Есть два плейлиста с треками для дня и для ночи. Так же есть некая папка promo. Задача - днем играть день, ночью играть ночь и каждый час играть рандомно что то из папки промо. Я написал конфиг - он работает, все хорошо. Есть две проблемки, которые я не могу решить:
1. когда по времени начинает играть промо - он резко обрывает играющий трек.
2. после того, как промка перестает играть и плавно выключается (фейд срабатывает в этом случае) продолжает играть конец трека, который был прерван промкой.
Просмотрел весь форум, решение вроде банально простое, но не получается сделать именно так, как хотелось и все тут.
Заранее благодарю всех.

Вот конфиг:
#!/usr/bin/liquidsoap

set("log.file.path","/var/log/liquidsoap/radio.log")
set("log.level", 3)
set("log.file",true)
set("log.stdout",false)


wd = "/srv/music"
pl = "#{wd}/playlist"
sc = "#{wd}/sec"
ni = "#{pl}/night"
da = "#{pl}/day"
pr = "#{pl}/promo"

mus_ni = playlist(mode="random",reload=86400,"#{ni}")
mus_da = playlist(mode="random",reload=86400,"#{da}")
mus_pr = playlist(mode="random",reload=86400,"#{pr}")
mus_sc = mksafe(playlist("#{sc}"))

main_ef = fallback([ request.queue(id="request"),
switch([({ 6h-22h }, mus_da),
({ 22h-6h }, mus_ni)]),
mus_sc])

default = fallback(track_sensitive = false, [ switch ([({0m0s},mus_pr)]), main_ef])


default = crossfade(start_next=1., fade_out=3., fade_in=1., default)
default = compress(attack=2., ratio=2., knee=6., gain=-1., threshold=-4.64, release=50.,default)
default = ladspa.tap_equalizer(band_7_freq=16., band_7_gain=3., default)
default = ladspa.tap_limiter(output_volume=-1., limit_level=1., default)

output.alsa(default)

382
Grigorij @gyurgin_1
track_sensitive = false меняем на track_sensitive = true.

10
oprst @oprst
gyurgin_1 пишет:

track_sensitive = false меняем на track_sensitive = true.

пробовал. тогда он перестает отрабатывать на время вообще.

382
Grigorij @gyurgin_1
Немного недоглядел, track_sensitive = true надо попробовать в switch там где промо, да и почему бы промо не воткнуть в switch с дневным и ночным плейлистами?

10
oprst @oprst
gyurgin_1 пишет:

Немного недоглядел, track_sensitive = true надо попробовать в switch там где промо, да и почему бы промо не воткнуть в switch с дневным и ночным плейлистами?


сделал так:
default = fallback(track_sensitive = true,
[switch ([
({6h-22h}, mus_da),
({22h-6h}, mus_ni),
({50m0s}, mus_pr)
]), mus_sc
])

так же не отрабатывает по времени, как будто даже не знает о промо. если ставить track_sensitive = false - отрабатывает, он резко обрывает играющую музыку.

382
Grigorij @gyurgin_1
Попробуйте промо поставить превым, вот как то так: default = fallback(
[switch ([
({50m0s}, mus_pr),
({6h-22h}, mus_da),
({22h-6h}, mus_ni)
]), mus_sc
])

10
oprst @oprst
gyurgin_1 пишет:

Попробуйте промо поставить превым, вот как то так: default = fallback(
[switch ([
({50m0s}, mus_pr),
({6h-22h}, mus_da),
({22h-6h}, mus_ni)
]), mus_sc
])


Пробовал. Эффект такой же. Он отрабатывает по времени только при track_sensitive = false, но при этом резко обрывает играющий трек. Если ставить true, что по идеи должно заставить работать так, как нужно, то он не отрабатывает по времени вовсе.

Пожалуйста, подскажите еще варианты, как решить данную задачу :(