401

Re: liquidsoap

Дальше еще есть команда:
s = map_metadata(append_title, s)

Но мне кажется, что проблема в строке
new = request.dynamic({request.create(get_process_output("1.pl"))})
В лог выводится не то.

402

Re: liquidsoap

пишет tarasian666:

я понял, надо просто обращение к скрипту сделать каждые пару секунд или тп

к сприпту доставания тегов и также запускать обновление тегов через опр время

403

Re: liquidsoap

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

404

Re: liquidsoap

теоретически возможно

405

Re: liquidsoap

tirpir
вот почитайте статейку
http://www.winline.ru/soft/reviews/zapu … luzhbu.php

406

Re: 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(duration=start_next,fader,s)
end

реализация кроссфейда работает я так понял по изменению данных metadata.
когда с трека на трек, то переходит нормально, а вот когда нужно перейти с потока на поток, то в моем случае не проходит.
у меня в теге Title идет рекламка, типа RDS, которая меняется постоянно во время играния трека, и получается пока играет трек, то громкость всё время плавает.
как заставить его работать, чтобы он переключался когда в metadata меняется поле Artist?
либо только в тот момент, когда происходило переключение, а не во время всего вещания
radio = switch([({ 6h-22h }, mount1),  ({ 22h-6h }, mount2)])

407

Re: liquidsoap

кроссфейд работает по окончанию одного трека и начала следующего, метаданные тут ни при чем
у вас скорей не верно настроено

408

Re: liquidsoap

настроено всё очень просто, как в первом сообщении,
тоько когда плейлисты играют, всё хорошо, но когда идет поток, то при каждом изменении метаданных сразу приглушается звук.
есть такое скрипт TitleStreamBanners.pal стандартный для sam'a

409

Re: liquidsoap

да не может такого быть, у меня при смене титлов в семе или другом источнике liquidsoap кроссфейд не накладывает !
Это не возможно если верно настроено, так как кроссфейд наложен только на плейлист, а когда появляеться live то его пускает без него

410

Re: 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

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)

411

Re: liquidsoap

функцию кроссфейд можно не писать это то что начинаеться с def crossfade и заканчиваеться end

где тут плейлист? Кроссфейд наложен на оконечный поток что уже не правильно, его накладать на плейлист, а если есть live input то его ставить после кроссфейда

412

Re: liquidsoap

tarasian666
этот конфиг работает, кроссфейд тоже. плейлиста вообще нет.
просто в то время, когда включаешь скрипт в sam, то сразу начинается плаванье громкости.
задача стоит такая, чтобы в поток на несколько часов подсоединить звук с другого потока.
без кроссфейда некрасиво, а так всё работает.
стоит выбор, либбо кроссфейд убирать, либо обновляющиеся метаданные из sam.

413

Re: liquidsoap

надо будет проэкспериментировать, что то тут не чисто )

414

Re: liquidsoap

tarasian666
ссылку чтобы тут не светить в личку кинул,
может это какие то глюки win32

415

Re: liquidsoap

может еще в switch попробовать добавить track_sensetive=false (точно не помню как)
пробовать другие кроссфейды

416

Re: liquidsoap

Добрый день, уважаемые знатоки!:) У меня проблема: при вещании на 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)

417

Re: liquidsoap

Приветствую. Кто-нибудь ставил 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)

418

Re: liquidsoap

Azat
похоже обрываеться связь, надо пробовать увиличить буфер и время дисконекта harbor или тестить связь
Render
бета 3 у меня сконфигурировалась но не скомпилировалась, жду обновления меркурия

а у вас вообще непонятно что происходит так что это очень страшно )

419

Re: liquidsoap

tarasian666, спасибо за ответ столь быстрый. Какую версию лучше поставить, beta1, beta2?
Ибо я так понимаю значит собрать мыло на Deb 6, не выйдет.  Точнее ошибка в конце во время компилирования, не позволит... пока.

420

Re: liquidsoap

для debian можно брать собраные пакеты, они уже включают возможность вещать и в мп3 и в аас+ с некоторыми дополнительными пакетами, подробнее на сайте

421

Re: liquidsoap

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


на серваке ступориться Unbound value Dynlink.is_native походу надо обновлять ленни ))

обновил ocaml до версии 3.11 и все собралось

Отредактировано tarasian666 (15-12-2011 23:05:08)

422

Re: liquidsoap

пишет tarasian666:

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


на серваке ступориться Unbound value Dynlink.is_native походу надо обновлять ленни ))

обновил ocaml до версии 3.11 и все собралось

Не стал мучиться с beta3, итак почти сутки убил времени чтоб все либы проставить и собрать.
Поставил таки beta2, ждите вопросов по мыло уже скоро smile


:~/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.

423

Re: liquidsoap

пишет Render:

liquidsoap --version
Liquidsoap 1.0.0-beta2.1

А чего бета? Есть же 1.0.0 релиз давно

424

Re: liquidsoap

Спасибо за ответ!
Сорри, время дисконнекта это harbor.timeout? Но прикол то в том, что если вещать не на harbor, а на icecast, который на том же сервере, то все нормально.

А на счет кириллицы. Если в названии песни хоть один кириллический символ есть - liquidsoap уже не передает метаданные на основные маунты. Хотя с нон-стопом все нормально передает. В логах так же пишет, что метаданные дошли. Но не отдает их почему то icecast'у.

Заранее благодарю!

Отредактировано Azat (16-12-2011 12:26:16)

425

Re: liquidsoap

пишет Azat:

Сорри, время дисконнекта это harbor.timeout?

да, хотя впринципе там дефолт 30 секунд так что не там проблема
пробуйте обновить до версии 1.0.0, также следите за использованием ресурсов во время конекта к harbor
для метаданных возможно надо camomile