€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
Технологии вещания, софт, скрипты
6 •
Посмотреть все темы
liquidsoap
1
...
41
42
43
...
66
6245
Тарас
@tarasian666
06.06.2013
это настройка микшера неправильная
28
pincher
@pincher
06.06.2013
В том то и дело что никакого микшера и в помине нет!
6245
Тарас
@tarasian666
06.06.2013
я о програмном
28
pincher
@pincher
06.06.2013
Понял. Буду пробовать. Спасибо!
28
pincher
@pincher
06.06.2013
Мой конфиг (большей частью конечно скомунизженный здесь) Спасибо что делились информацией
#!/usr/local/bin/liquidsoap
# функция наложения
def crossfade(~start_next,~fade_in,~fade_out,s)
s = fade.in(duration=fade_in,s)
s = fade.out(duration=fade_out,s)
fader = fun (a,b) -> add(normalize=false,[b,a])
cross(fader,s)
end
#функция для воспроизведения джинглов во время проигрывания музыки
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
# где будут логи
set("log.file.path","/home/pincher/logs/lqs.log")
set("log.stdout", true)
set("server.telnet", true)
# загружаем плейлист
morning = playlist(reload=600,"/mnt/music/morning")
novosti = playlist(reload=600,"/mnt/music/novosti")
doobeda = playlist(reload=600,"/mnt/music/doobeda")
posleobeda = playlist(reload=600,"/mnt/music/posleobeda")
vecher = playlist(reload=600,"/mnt/music/vecher")
night = playlist(reload=600,"/mnt/music/night")
morning = mksafe(morning)
novosti = mksafe(novosti)
doobeda = mksafe(doobeda)
posleobeda = mksafe(posleobeda)
vecher = mksafe(vecher)
night = mksafe(night)
morning = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, morning)
novosti = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, novosti)
doobeda = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, doobeda)
posleobeda = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, posleobeda)
vecher = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, vecher)
night = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, night)
# Джинглы
jingles = playlist("/mnt/music/jingles/")
# Временные рамки и джинглы поверх музыки
radio = switch(track_sensitive = true,[({7h-9h}, morning),
({9h-9h10}, novosti), ({9h10-13h}, doobeda), ({13h-13h10}, novosti),
({13h10-19h}, posleobeda), ({19h-22h}, vecher), ({ 22h-7h }, night)])
radio = mksafe(radio)
radio = smooth_add(normal=radio,special=switch([({ 5m0s or 15m0s or 30m0s or 45m0s }, jingles)]))
#вещание
output.icecast(%mp3,
host = "localhost", port = 8991,
password = "парол", mount = "radio", radio)
есть fallback mount в icecast настраивал так
(для того чтобы не потеряться в конфиге......начинать отсюда.......
<listen-socket>
<port>8991</port>
</listen-socket>
<mount>
<mount-name>/radio</mount-name>
<hidden>0</hidden>
<charset>utf8</charset>
</mount>
<fileserve>1</fileserve>
)
Сам маунт fallback
<mount>
<fallback-mount>/radio</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<mount-name>/air</mount-name>
<charset>utf8</charset>
</mount>
к нему цепляюсь RadioBoss и получается эфир но пока до ума не довел эту часть
На звание гуру не претендую так как сам только неделю знакомлюсь со связкой icecast+liquidsoap
ранее была icecast+ices пока переход не разочаровал.
Надеюсь пригодиться таким же как я новичкам!
Отредактировано pincher -
06.06.2013
445
Alex
@VapSite
06.06.2013
morning = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, morning)
novosti = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, novosti)
doobeda = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, doobeda)
posleobeda = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, posleobeda)
vecher = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, vecher)
night = crossfade( fade_out = 12.0, fade_in = 12.0, start_next = 12.0, night)
так вот оно и есть истинно настоящее программирование в радиовещании ...
)))
28
pincher
@pincher
06.06.2013
Уверен что у вас есть более презентабельное и алгоритмически верное решение.............так поделитесь а не зубоскальте!
28
pincher
@pincher
07.06.2013
Столкнулся с проблемой
radio = switch (track_sensitive = true,
при этой конструкции нет перехода по времени а вот если поставить false то работает. Что может быть не так?
6245
Тарас
@tarasian666
07.06.2013
Все верно, если true оно не будет обрывать трек в нужное время, а если подождет конца трека то время будет уже не то.
28
pincher
@pincher
10.06.2013
Подскажите есть ли возможность менять трэки в режиме реального времени через telnet? Почитал об этом
**********
,но таких команд у себя не обнаружил......есть ли живой(работающий)пример?
из request у меня только
| request.alive
| request.all
| request.metadata <rid>
| request.on_air
| request.resolving
| request.trace <rid>
6245
Тарас
@tarasian666
10.06.2013
доступность команд через телнет зависит от конфигурационного файла, телнетом можно управлять лишь тем что есть в файле
менять треки можно если ставить в очередь (queue) трэк и переключать на следующий, или даже запустить отдельный плейлист и через микшер на него переключиться. Но для этого также надо все верно настроить.
28
pincher
@pincher
10.06.2013
Спасибо! Очень доходчиво. Попытаюсь реализовать.
28
pincher
@pincher
11.06.2013
Через telnet в liquidsoap есть очень интересная "плюшка" (название плэйлиста).next каким образом можно вытянуть эту информацию с сервера чтобы реализовать на сайте? Спасибо!
6245
Тарас
@tarasian666
11.06.2013
написать на php клиент telnet и вуаля )
28
pincher
@pincher
12.06.2013
C telnet клиентом более ли менее разобрался.......выводит данные но появилось то чего я раньще не замечал поскольку liquidsoap воспроизводит randomно файлы из папок то получается что данные из .next верны всего на две песни....то есть то что играет сейчас и следующая. Вопрос таков: Это правильное поведение или чего то я не досмотрел в своем liq файле?
6245
Тарас
@tarasian666
12.06.2013
насколько я понял то поведение правильное. Чтоб рандумно планировать несколько песен вперед нужно уже сторонним скриптом это делать
28
pincher
@pincher
18.06.2013
Здравствуйте tarasian666 хотел бы у вас узнать реализацию плеера на вашем сайте? Каким образом при переключении страниц плеер продолжает играть? Сайт организован полностью на flash?
28
pincher
@pincher
18.06.2013
Спасибо уже разобрался!
Поторопился сказав что разобрался! Подскажите все же как это реализовано у вас? Это Ajax? Просто хочу то же самое а в какую сторону смотреть не знаю.Посоветуйте что сделать фрэйм,popup или все же ajaх и что почитать на эту тему?
Отредактировано pincher -
18.06.2013
6245
Тарас
@tarasian666
19.06.2013
подгрузка всех страниц через ajax
28
pincher
@pincher
20.06.2013
Спасибо за ответ. Пока обошелся popup'ом не комильфо конечно,но со временем буду решать и этот вопрос.
Отредактировано pincher -
20.06.2013