Re: liquidsoap
Дальше еще есть команда:
s = map_metadata(append_title, s)
Но мне кажется, что проблема в строке
new = request.dynamic({request.create(get_process_output("1.pl"))})
В лог выводится не то.
Первый русскоязычный форум посвященный интернет-радиовещанию
Страницы Назад 1 … 15 16 17 18 19 … 53 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Дальше еще есть команда:
s = map_metadata(append_title, s)
Но мне кажется, что проблема в строке
new = request.dynamic({request.create(get_process_output("1.pl"))})
В лог выводится не то.
пишет tarasian666:
я понял, надо просто обращение к скрипту сделать каждые пару секунд или тп
к сприпту доставания тегов и также запускать обновление тегов через опр время
А можно его как службу под win32 запустить, чтобы он автоматом загружался со скрипта?
tirpir
вот почитайте статейку
http://www.winline.ru/soft/reviews/zapu … luzhbu.php
вопрос к знатокам)
# функция кроссфейда, здесь желательно ни чего не менять
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(duration=start_next,fader,s)
end
реализация кроссфейда работает я так понял по изменению данных metadata.
когда с трека на трек, то переходит нормально, а вот когда нужно перейти с потока на поток, то в моем случае не проходит.
у меня в теге Title идет рекламка, типа RDS, которая меняется постоянно во время играния трека, и получается пока играет трек, то громкость всё время плавает.
как заставить его работать, чтобы он переключался когда в metadata меняется поле Artist?
либо только в тот момент, когда происходило переключение, а не во время всего вещания
radio = switch([({ 6h-22h }, mount1), ({ 22h-6h }, mount2)])
кроссфейд работает по окончанию одного трека и начала следующего, метаданные тут ни при чем
у вас скорей не верно настроено
настроено всё очень просто, как в первом сообщении,
тоько когда плейлисты играют, всё хорошо, но когда идет поток, то при каждом изменении метаданных сразу приглушается звук.
есть такое скрипт TitleStreamBanners.pal стандартный для sam'a
да не может такого быть, у меня при смене титлов в семе или другом источнике liquidsoap кроссфейд не накладывает !
Это не возможно если верно настроено, так как кроссфейд наложен только на плейлист, а когда появляеться live то его пускает без него
вот конфиг, что может быть не так?
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
url_1 = input.http("http://ip.ip.ip.ip:8000/test1.aac")
url_2 = input.http("http://ip.ip.ip.ip:8000/test2.aac")
radio = switch([({ 12h-18h }, url_1), ({ 18h-12h }, url_2)])
radio = mksafe(radio)
radio=crossfade(start_next=5.,fade_out=7.,fade_in=5.,radio)
функцию кроссфейд можно не писать это то что начинаеться с def crossfade и заканчиваеться end
где тут плейлист? Кроссфейд наложен на оконечный поток что уже не правильно, его накладать на плейлист, а если есть live input то его ставить после кроссфейда
tarasian666
этот конфиг работает, кроссфейд тоже. плейлиста вообще нет.
просто в то время, когда включаешь скрипт в sam, то сразу начинается плаванье громкости.
задача стоит такая, чтобы в поток на несколько часов подсоединить звук с другого потока.
без кроссфейда некрасиво, а так всё работает.
стоит выбор, либбо кроссфейд убирать, либо обновляющиеся метаданные из sam.
tarasian666
ссылку чтобы тут не светить в личку кинул,
может это какие то глюки win32
может еще в switch попробовать добавить track_sensetive=false (точно не помню как)
пробовать другие кроссфейды
Добрый день, уважаемые знатоки!:) У меня проблема: при вещании на harbor раз в 5-10 секунд вещание прерывается и включается нон-стоп на 1-3 секунды. Liquidsoap 0.9.2. Вот конфиг:
######################
#!/usr/local/bin/liquidsoap -d
set("tag.encodings", ["UTF-8"])
music = mksafe(playlist(reload = 600, "/home/liquidsoap/data/music"))
jingles = mksafe(playlist(reload = 600, "/home/liquidsoap/data/jingles"))
short = mksafe(playlist(reload = 600, "/home/liquidsoap/data/short"))
radio = random(weights = [3, 1, 3, 1], [music, jingles, music, short])
radio = smart_crossfade(start_next = 4.0, fade_in = 1.5, fade_out = 1.5, radio)
radio = add(weights = [1, 5], [radio, switch([({0h0m0s}, single("~/otbivky/00.mp3")), ({1h0m0s}, single("~/otbivky/01.mp3")), ({2h0m0s}, single("~/otbivky/02.mp3")), ({3h0m0s}, single("~/otbivky/03.mp3")), ({4h0m0s}, single("~/otbivky/04.mp3")), ({5h0m0s}, single("~/otbivky/05.mp3")), ({6h0m0s}, single("~/otbivky/06.mp3")), ({7h0m0s}, single("~/otbivky/07.mp3")), ({8h0m0s}, single("~/otbivky/08.mp3")), ({9h0m0s}, single("~/otbivky/09.mp3")), ({10h0m0s}, single("~/otbivky/10.mp3")), ({11h0m0s}, single("~/otbivky/11.mp3")), ({12h0m0s}, single("~/otbivky/12.mp3")), ({13h0m0s}, single("~/otbivky/13.mp3")), ({14h0m0s}, single("~/otbivky/14.mp3")), ({15h0m0s}, single("~/otbivky/15.mp3")), ({16h0m0s}, single("~/otbivky/16.mp3")), ({17h0m0s}, single("~/otbivky/17.mp3")), ({18h0m0s}, single("~/otbivky/18.mp3")), ({19h0m0s}, single("~/otbivky/19.mp3")), ({20h0m0s}, single("~/otbivky/20.mp3")), ({21h0m0s}, single("~/otbivky/21.mp3")), ({22h0m0s}, single("~/otbivky/22.mp3")), ({23h0m0s}, single("~/otbivky/23.mp3"))])])
live = input.harbor("onair")
#live = input.http("http://xxx:8000/onair")
def append_title(m) =
artist = m["artist"]
[("artist","Crazy Radio - #{artist}")]
end
radio = map_metadata(append_title, radio)
#radio = smooth_add(delay = 2.0, p = 0.0, normal = radio, special = live)
radio = fallback(track_sensitive = false, [live, radio])
output.icecast.mp3(restart = true, host = "xxx", port = 8000, mount = "xxx", bitrate = 128, password = "xxx", normalize(radio))
output.icecast.mp3(restart = true, host = "xxx", port = 8000, mount = "xxx", bitrate = 96, password = "xxx", normalize(radio))
output.icecast.mp3(restart = true, host = "xxx", port = 8000, mount = "xxx", bitrate = 24, password = "xxx", normalize(radio))
#####################################
Решил заменой harbor на http, но при этом всплывает другая проблема: не всегда метаданные (название трека) передаются с маунта вещания на основные маунты. Надо решить одну из проблем:) Но harbor было бы лучше.
UPD: Заметил, что название песни не доходит только тогда, когда в названии есть кириллица (точнее не в самом названии, а если средствами сэма добавлять какую нибудь приставку перед названием)
Отредактировано Azat (15-12-2011 14:29:37)
Приветствую. Кто-нибудь ставил beta3?
Такие вот ошибочки после установки.... Не страшны они?
(наскольк понял не поставился, т.к liquidsoap --help выдаёт нот фоунд)
install: missing file operand
Try `install --help' for more information.
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full#
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4boot... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4o... camlp4o
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4of... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4oof... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4orf... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4prof... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4r... camlp4r
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for camlp4rf... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for ocamlfind... ocamlfind
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for caml/threads.h... no
-bash: checking: command not found
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full# checking for gcc... (cached) gcc
-bash: syntax error near unexpected token `('
root@vps10:/tmp/liquidsoap-1.0.0-beta3-full#
Отредактировано Render (15-12-2011 21:20:41)
Azat
похоже обрываеться связь, надо пробовать увиличить буфер и время дисконекта harbor или тестить связь
Render
бета 3 у меня сконфигурировалась но не скомпилировалась, жду обновления меркурия
а у вас вообще непонятно что происходит так что это очень страшно )
tarasian666, спасибо за ответ столь быстрый. Какую версию лучше поставить, beta1, beta2?
Ибо я так понимаю значит собрать мыло на Deb 6, не выйдет. Точнее ошибка в конце во время компилирования, не позволит... пока.
для debian можно брать собраные пакеты, они уже включают возможность вещать и в мп3 и в аас+ с некоторыми дополнительными пакетами, подробнее на сайте
только что собрал на домашней машине последнюю версию из меркурия, полет нормальный
на серваке ступориться Unbound value Dynlink.is_native походу надо обновлять ленни ))
обновил ocaml до версии 3.11 и все собралось
Отредактировано tarasian666 (15-12-2011 23:05:08)
пишет tarasian666:
только что собрал на домашней машине последнюю версию из меркурия, полет нормальный
на серваке ступориться Unbound value Dynlink.is_native походу надо обновлять ленни ))
обновил ocaml до версии 3.11 и все собралось
Не стал мучиться с beta3, итак почти сутки убил времени чтоб все либы проставить и собрать.
Поставил таки beta2, ждите вопросов по мыло уже скоро
:~/l# liquidsoap --version
Liquidsoap 1.0.0-beta2.1
Copyright (c) 2003-2011 Savonet team
Liquidsoap is open-source software, released under GNU General Public License.
See <http://savonet.sf.net> for more information.
пишет Render:
liquidsoap --version
Liquidsoap 1.0.0-beta2.1
А чего бета? Есть же 1.0.0 релиз давно
Спасибо за ответ!
Сорри, время дисконнекта это harbor.timeout? Но прикол то в том, что если вещать не на harbor, а на icecast, который на том же сервере, то все нормально.
А на счет кириллицы. Если в названии песни хоть один кириллический символ есть - liquidsoap уже не передает метаданные на основные маунты. Хотя с нон-стопом все нормально передает. В логах так же пишет, что метаданные дошли. Но не отдает их почему то icecast'у.
Заранее благодарю!
Отредактировано Azat (16-12-2011 12:26:16)
пишет Azat:
Сорри, время дисконнекта это harbor.timeout?
да, хотя впринципе там дефолт 30 секунд так что не там проблема
пробуйте обновить до версии 1.0.0, также следите за использованием ресурсов во время конекта к harbor
для метаданных возможно надо camomile
Страницы Назад 1 … 15 16 17 18 19 … 53 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться