доброго дня!
коль скоро не я один осваивают ликвидсоап, то, возможно, поможем друг другу, задавая вопросы.
вот на какой конфигурации все работает:
Liquidsoap 1.0.0-beta2.1+svn
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.2 (squeeze)
Release: 6.0.2
Codename: squeeze
4 гига памяти
расскажите плз, кто сталкивался с такими проблемами:
1. никак не канает такая штука
output.icecast(%aacplus(bitrate=128)
вообще больше 72кбитс не удается сделать при использовании аас+. это какое-то ограничение кодека или глюк?
2. переодически ликвидсоап отваливается с сообщением в терминале "Ошибка сегментирования".
это может произойти 2 раза за час или 2 раза за сутки. в любом случае, стабильно без остановок он работать не хочет.
отчего такое может быть и как исправить?
3. мне необходимо накладывать поверх музыки джинглы. это делается стандартной функцией smooth_add, вот ее код в моем случае:
def smooth_add(~delay=0.5,~p=0.8,~normal,~special)
d = delay
fade.final = fade.final(duration=d*1.)
fade.initial = fade.initial(duration=d*2.)
q = 0.7
c = amplify
fallback(track_sensitive=false,
[special,normal],
transitions=[
fun(normal,special)->
add(normalize=false,
[c(p,normal),
c(q,fade.final(type="log",normal)),
sequence([blank(duration=d),c(q,special)])]),
fun(special,normal)->
add(normalize=false,
[c(p,normal),
c(q,fade.initial(type="log",normal))])
])
end
проблема в том, что звук в потоке получается явно перегруженный, нелинейные искажения весьма хорошо слышно.
но если эту штуку ниже закоментировать, то со звуком все ок.
radio = smooth_add(normal=radio,special=switch([({ 0m0s or 10m0s or 20m0s or 30m0s or 40m0s or 50m0s }, jingles_overlay)]))
я полагаю собака зарыта где-то в c = amplify, которое используется в функции smooth_add. дак вот каким образом бы исправить такой косяк?
и за одно не подскажете ли, как написать попроще строчку
switch([({ 0m0s or 10m0s or 20m0s or 30m0s or 40m0s or 50m0s }
потому что громоздко, наверняка есть простое описание для задачи "через каждые 10 минут".
спасибо!