Re: liquidsoap
я вот так запускаю скрипт
liquidsoap /home/and/script
вот что выдает:
Invalid value at line 6, char 22-41: That source is fallible.
ошибка здесь:
myplaylist = playlist("/home/and/radio/")
Первый русскоязычный форум посвященный интернет-радиовещанию
я вот так запускаю скрипт
liquidsoap /home/and/script
вот что выдает:
Invalid value at line 6, char 22-41: That source is fallible.
ошибка здесь:
myplaylist = playlist("/home/and/radio/")
запустилось вроде, но выдало
TagLib: ID3v2.4 no longer supports the frame type TDAT. It will be discarded from the tag.
и еще... закрываю терминал, и вещание прерывается, так и должно что ли быть?
Отредактировано aPhone (24-12-2010 13:38:30)
так и должно быть
чтоб запускать его как демон надо писать в начале #!/usr/local/bin/liquidsoap -d
или задать
set("init.daemon",true)
set("init.daemon.pidfile",false)
понятно..
а почему такой код не работает?
output.icecast(%external("lame -V0 -b 256 - -",restart_on_crash=true),icy_metadata="true",format="audio/mpeg", host="127.0.0.1", mount="test", port=8000, password="hackme",name=" test", description="123", genre="other", url="http://хз", public=true, myplaylist)
output.icecast(%external("lame -V0 -b 64 - -",restart_on_crash=true),icy_metadata="true",format="audio/mpeg", host="127.0.0.1", mount="test2", port=8000, password="hackme",name=" test", description="321", genre="xz", url="http://xzt", public=true, myplaylist)
вот что выдает
liquidsoap /tmp/script
Line 9, char 17 before "%": Parse error.
может собран без поддержки mp3
если не запустится так output.icecast(%mp3(stereo=true, samplerate=44100, bitrate=256) то надо пересобрать с lame (ocaml-lame)
все равно ошибка Line 9, char 18 before "%": Parse error.
может надо писать output.icecast.external ?
нет, надо пересобрать, В новой версии output.icecast.external тоже выдаст ошибку
как пересобрать? я устанавливал из центра приложений убунту, там есть Liquidsoap
там по дефолту отключена поддержка mp3, у debian кажется лицензии нет или типа того...
я собирал из svn
читаем в самом низу
http://savonet.sourceforge.net/download.html
ничего себе .... это как же обычному пользователю там можно собрать все это дело то:(
Добавлено спустя 7 минут 25 секунд:
а если отсюда пакеты установить?
http://packages.ubuntu.com/natty/liquidsoap
в том то и разница между обычным пользователем windows и обычным пользователем linux, последнему надо уметь собирать...
впринципе ничего сложного, надо читать и хоть чуть чуть понимать что выдаст та или инная команда и давать ей то чего она хочет в случае ошибки
Добавлено спустя 1 минуту 19 секунд:
думаете вы установили не оттуда? ))
а вы не могли бы поделиться своей сборкой?
могу но не факт что у вас она заработает без бубна, я ведь не deb пакет собирал
народ help
A как сделать? что-бы джинглы играли не между песен, а прям в песне иногда включалися с притушенным звуком музыки или притушенным звуком джингла, в разных местах играющий на данный момент композиции?
Может, кому то удалось это реализовать на Liquidsoap, подскажите куда лезть в кроссфейд?
ищите в примерах на их сайте smooth_add
вот он вроде
def smooth_add(~delay=0.5,~p=0.2,~normal,~special)
d = delay
fade.final = fade.final(duration=d*2.)
fade.initial = fade.initial(duration=d*2.)
q = 1. - p
c = amplify
fallback(track_sensitive=false,
[special,normal],
transitions=[
fun(normal,special)->
add(normalize=false,
[c(p,normal),
c(q,fade.final(type="sin",normal)),
sequence([blank(duration=d),c(q,special)])]),
fun(special,normal)->
add(normalize=false,
[c(p,normal),
c(q,fade.initial(type="sin",normal))])
])
end
Недавно установил себе Liquidsoap, вот вопросы возникли
не могу понять рандом, допустим я пишу
random(weights = [1, 4], [jingles, myplaylist])
джингл будет вставляться после каждой 4-ой песни или образуется каша в которой будет 20% джинглов и 80% песен?
и как тогда сделать чтоб после каждой 4 песни играл джингл без всяких там вероятностей?
при использовании функции cross массив с песнями становится одним треком или cross просто присваивает песне значения fade.in fade.out?
как можно сделать чтоб джингл смешиваясь с песней не менял своей громкости?
если получаеться каша надо пробовать делать рандум по отдельности а тогда уже делать rotate(weights=[1,4], [jingles, songs])
crossfade работает как кросфейд и ничего не смешивает в один трек
см пост выше, только настроить под себя
за rotate спасибо, но все равно рандум както странно себя ведет
afternoon = random(weights = [5, 2, 2], [hot, cooled, new])
если хотя бы один из плейлистов (hot, cooled, new) пустой то и afternoon пустой
как с этим бороться?
если mksafe не помагает тогда делать fallback на другой плейлист
оказывается mksafe и playlist.safe разные вещи...
еще вопрос,
myplaylist = switch([({7h-12h}, morning), ({12h-18h}, afternoon)])
по идее myplaylist присваивается один раз либо morning либо afternoon
или я ошибаюсь и когда наступит 12 часов myplaylist поменяется на afternoon?
Всем доброго времени суток, спасибо, ребята, мне даже не пришлось писать Ben, I need help, это Данила,
всT поставил на debian 6.0 + icecast 2.3.2 + liquidsoap 0.9.2 выкладываю свои конфиги
#!/usr/bin/liquidsoap -d
# где будут логи
set("log.file.path","/tmp/test.log")
# загружаем плейлист - папку с *.ogg
myplaylist = mksafe(playlist("/home/kolia/radio/music"))
# загружаем джинглы - папку с *.ogg
jingles = playlist("/home/kolia/radio/jingles")
# строим плейлист с джинглами, radio = myplaylist - просто для удобства
radio = myplaylist
# задаем частоту джинглов, 1 джингл на 4 песни
radio = random(weights = [1, 4],[jingles, radio])
# что-бы джинглы играли не между песен, а прям в песне иногда включалися с притушенным звуком музыки
def smooth_add(~delay=0.5,~p=0.2,~normal,~special)
d = delay
fade.final = fade.final(duration=d*2.)
fade.initial = fade.initial(duration=d*2.)
q = 1. - p
c = amplify
fallback(track_sensitive=false,
[special,normal],
transitions=[
fun(normal,special)->
add(normalize=false,
[c(p,normal),
c(q,fade.final(type="sin",normal)),
sequence([blank(duration=d),c(q,special)])]),
fun(special,normal)->
add(normalize=false,
[c(p,normal),
c(q,fade.initial(type="sin",normal))])
])
end
#запускаем вещалку
output.icecast.vorbis(
host = "localhost", port = 8001,
password = "pass", mount = "radio.ogg", radio)
немного неправильно ))
функцию задекларировали но не использовали
Всем привет... мне этот форум очень помог так и я поогу....
выкладываю кусок кода для системы запроов...
#Система запросов
requests = request.dynamic(id="scheduler",default_duration=30.,length=1.,{request(get_process_output("Пуь до файли скрипта"))})
switch = fallback([requests,play])
а скрипт написать сами сможете)