1,076

Re: liquidsoap

[h]срочно нужна помощь[/h]

#!/usr/bin/liquidsoap -d
set("init.daemon",true)
set("init.daemon.pidfile",false)
# Log dir
set("log.file.path","/tmp/classic-radio.log")

# Music
classic = playlist("/home/ave/music/classic/classic.m3u")
goro = playlist(reload = 600, "/home/ave/prog/goro/goro.m3u")
grand = playlist(reload = 600, "/home/ave/prog/grand/grand.m3u")
news = playlist(reload = 600, "/home/ave/prog/news/news.m3u")
putish = playlist(reload = 600, "/home/ave/prog/putish/putish.m3u")
kalend = playlist(reload = 600, "/home/ave/prog/kalend/kalend.m3u")
painter = playlist(reload = 600, "/home/ave/prog/painter/painter.m3u")
modbook = playlist(reload = 600, "/home/ave/prog/modbook/modbook.m3u")
kinoman = playlist(reload = 600, "/home/ave/prog/kinoman/kinoman.m3u")
sovet = playlist(reload = 600, "/home/ave/prog/sovet/sovet.m3u")

# Some jingles
jingles = playlist("/home/ave/music/jingles/jingles.m3u")


# If something goes wrong, we'll play this



classic_non = fallback([ request.queue(id="request"),
                    switch ([
    ({ (1w9h) or (3w9h) or (5w9h) or (1w11h30m) or (3w11h30m) or (5w11h30m)}, goro),

    ({ (1w9h30m) or (3w9h30m) or (5w9h30m) or (1w18h30m) or (3w18h30m) or (5w18h30m)}, grand),

    ({ (1w10h) or (3w10h) or (5w10h) or (1w13h) or (3w13h) or (5w13h) or (1w17h) or (3w17h) or (5w17h)}, news),

    ({ (1w10h30m) or (3w10h30m) or (5w10h30m) or (1w12h) or (3w12h) or (5w12h) or (1w16h30m) or (3w16h30m) or (5w16h30m)}, putish),

    ({ (1w11h) or (3w11h) or (5w11h) or (1w16h) or (3w16h) or (5w16h)}, kalend),

    ({ (1w12h30m) or (3w12h30m) or (5w12h30m) or (1w14h30m) or (3w14h30m) or (5w14h30m)}, painter),

    ({ (1w13h) or (3w13h) or (5w13h) or (1w17h30m) or (3w17h30m) or (5w17h30m)}, modbook),

    ({ (1w14h) or (3w14h) or (5w14h) or (1w19h) or (3w19h) or (5w19h)}, sovet),

    ({ (1w15h) or (3w15h) or (5w15h) or (1w18h) or (3w18h) or (5w18h)}, kinoman),

]),  ])

# Now add some jingles
classic_non = random(weights=[1,5],[ jingles, classic ])
# And finally the security


 # Stream it out
output.icecast (%mp3,
  host = "*.*.*.*", port = *.*.*.*,
  password = "*******", mount = "/classic-non.mp3",
 classic_non)

при запуске выдает

At line 27, character 13: The variable classic_non defined here is not used
  anywhere in its scope. Use ignore(...) instead of classic_non = ... if
  you meant to not use it. Otherwise, this may be a typo or a sign that
  your script does not do what you intend.


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

1,077

Re: liquidsoap

Судя по всему вы объявили переменную

classic = playlist("/home/ave/music/classic/classic.m3u")

А дальше используете

classic_non = fallback(
http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

1,078

Re: liquidsoap

пишет Falcon:

Судя по всему вы объявили переменную

classic = playlist("/home/ave/music/classic/classic.m3u")

А дальше используете

classic_non = fallback(

я писал и

classic_non = classic 

и менял все на просто classic  - безрезультатно

1,079

Re: liquidsoap

самое интересное что

#!/usr/bin/liquidsoap 
set("init.daemon",true)
set("init.daemon.pidfile",false)
# Log dir
set("log.file.path","/tmp/basic-radio.log")

# Music
classic = playlist("/home/ave/music/classic/classic.m3u")
# Some jingles
jingles = playlist("/home/ave/music/jingles/jingles.m3u")
# If something goes wrong, we'll play this
security = single("/home/radio/sec/intro.mp3")

# Start building the feed with music
classic_non = classic
# Now add some jingles
classic_non = random(weights = [1, 4],[jingles, classic_non])
# And finally the security
classic_non = fallback(track_sensitive = false, [classic_non, security])

 # Stream it out
output.icecast(%mp3,
  host = "*,*,*,*,", port = 8000,
  password = "*******", mount = "/classic-non.mp3",
  classic_non)

работает прекрасно. но как добавил

classic_non =  switch ([
    ({ (1w9h) or (3w9h) or (5w9h) or (1w11h30m) or (3w11h30m) or (5w11h30m)}, goro),

    ({ (1w9h30m) or (3w9h30m) or (5w9h30m) or (1w18h30m) or (3w18h30m) or (5w18h30m)}, grand),

    ({ (1w10h) or (3w10h) or (5w10h) or (1w13h) or (3w13h) or (5w13h) or (1w17h) or (3w17h) or (5w17h)}, news),

    ({ (1w10h30m) or (3w10h30m) or (5w10h30m) or (1w12h) or (3w12h) or (5w12h) or (1w16h30m) or (3w16h30m) or (5w16h30m)}, putish),

    ({ (1w11h) or (3w11h) or (5w11h) or (1w16h) or (3w16h) or (5w16h)}, kalend),

    ({ (1w12h30m) or (3w12h30m) or (5w12h30m) or (1w14h30m) or (3w14h30m) or (5w14h30m)}, painter),

    ({ (1w13h) or (3w13h) or (5w13h) or (1w17h30m) or (3w17h30m) or (5w17h30m)}, modbook),

    ({ (1w14h) or (3w14h) or (5w14h) or (1w19h) or (3w19h) or (5w19h)}, sovet),

    ({ (1w15h) or (3w15h) or (5w15h) or (1w18h) or (3w18h) or (5w18h)}, kinoman),

]) 

и

goro = playlist("/home/ave/prog/goro/goro.m3u")
grand = playlist("/home/ave/prog/grand/grand.m3u")
news = playlist("/home/ave/prog/news/news.m3u")
putish = playlist("/home/ave/prog/putish/putish.m3u")
kalend = playlist("/home/ave/prog/kalend/kalend.m3u")
painter = playlist("/home/ave/prog/painter/painter.m3u")
modbook = playlist("/home/ave/prog/modbook/modbook.m3u")
kinoman = playlist("/home/ave/prog/kinoman/kinoman.m3u")
sovet = playlist("/home/ave/prog/sovet/sovet.m3u")


стало выдавать эту фигню.

 The variable classic_non defined here is not used
  anywhere in its scope. Use ignore(...) instead of classic_non = ... if
  you meant to not use it. Otherwise, this may be a typo or a sign that
  your script does not do what you intend.

1,080

Re: liquidsoap

последнюю запятую убрать не пробовали?

1,081

Re: liquidsoap

пишет tarasian666:

последнюю запятую убрать не пробовали?

без изменений.
а вот временные параметры в SWICH могу приводить к ошибке?

1,082

Re: liquidsoap

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

#!/usr/bin/liquidsoap 
set("init.daemon",true)
set("init.daemon.pidfile",false)
# Log dir
set("log.file.path","/tmp/classic-radio.log")

# Music
classic = playlist("/home/ave/music/classic/classic.m3u")
goro = playlist(reload = 600, "/home/ave/prog/goro/goro.m3u")
grand = playlist(reload = 600, "/home/ave/prog/grand/grand.m3u")
news = playlist(reload = 600, "/home/ave/prog/news/news.m3u")
putish = playlist(reload = 600, "/home/ave/prog/putish/putish.m3u")
kalend = playlist(reload = 600, "/home/ave/prog/kalend/kalend.m3u")
painter = playlist(reload = 600, "/home/ave/prog/painter/painter.m3u")
modbook = playlist(reload = 600, "/home/ave/prog/modbook/modbook.m3u")
kinoman = playlist(reload = 600, "/home/ave/prog/kinoman/kinoman.m3u")
sovet = playlist(reload = 600, "/home/ave/prog/sovet/sovet.m3u")
security = single("/home/radio/sec/intro.mp3")
# Some jingles
jingles = playlist("/home/ave/music/jingles/jingles.m3u")


# If something goes wrong, we'll play this

classic_non = classic
classic_non = fallback(track_sensitive = false, [classic_non, security])
classic_non = switch([
    ({ (1w9h) or (3w9h) or (5w9h) or (1w11h30m) or (3w11h30m) or (5w11h30m)}, goro),

    ({ (1w9h30m) or (3w9h30m) or (5w9h30m) or (1w18h30m) or (3w18h30m) or (5w18h30m)}, grand),

    ({ (1w10h) or (3w10h) or (5w10h) or (1w13h) or (3w13h) or (5w13h) or (1w17h) or (3w17h) or (5w17h)}, news),

    ({ (1w10h30m) or (3w10h30m) or (5w10h30m) or (1w12h) or (3w12h) or (5w12h) or (1w16h30m) or (3w16h30m) or (5w16h30m)}, putish),

    ({ (1w11h) or (3w11h) or (5w11h) or (1w16h) or (3w16h) or (5w16h)}, kalend),

    ({ (1w12h30m) or (3w12h30m) or (5w12h30m) or (1w14h30m) or (3w14h30m) or (5w14h30m)}, painter),

    ({ (1w13h) or (3w13h) or (5w13h) or (1w17h30m) or (3w17h30m) or (5w17h30m)}, modbook),

    ({ (1w14h) or (3w14h) or (5w14h) or (1w19h) or (3w19h) or (5w19h)}, sovet),

    ({ (1w15h) or (3w15h) or (5w15h) or (1w18h) or (3w18h) or (5w18h)}, kinoman)

])

# Now add some jingles
classic_non = random(weights=[1,5],[ jingles, classic ])
# And finally the security




 # Stream it out
output.icecast (%mp3,
  host = "*********", port = 8000,
  password = "*******", mount = "/classic-non.mp3",
classic_non)

ругается он именно на

classic_non = switch([

Отредактировано EnigmA_MaN_1 (19-09-2014 17:35:38)

1,083

Re: liquidsoap

Уважаемые Обитатели  форума
я в Вузе делаю радио. был один поток - все вперемешку, из за обращений слушателей решил разбить радио по жанрам. перекопал кучу программ и liquidsoup оказался единственным решением в этом вопросе - пытался сделать 5 жанров в одном конфиге, но не вышло. пришлось сделать 5 копий. Когда стал вопрос прямых эфиров, сделал fallback на icecast2 - следующим шагом является воспроизводить записанные рубрики в заданное время - тут то я и уперся окончательно - ничего не выходит.

кто чего посоветует. или кто то уже делал что то подобное. прошу помощи. сроки жмут ПрофКом требует.

Отредактировано EnigmA_MaN_1 (19-09-2014 21:25:37)

1,084

Re: liquidsoap

попробовал сделать такое:

#!/usr/bin/liquidsoap 
set("init.daemon",true)
set("init.daemon.pidfile",false)

# ФС
wd = "/home/ave"

# путь к папке с аудиофайлами
pl = "#{wd}/music"

# техническая папка
tech = "#{wd}/technical"

# логи
set("log.file.path","#{tech}/liquidsoap.log") # путь к файлу лога
set("log.level", 3) # уровень логирования

# папка с информационными вставками
promo_dir = "#{pl}/promo"

# папка с папками рубрик
progr_dir = "#{wd}/programs"
# папки рубрик 
goro = "#{progr_dir}/goro"
grand = "#{progr_dir}/grand"
kalend = "#{progr_dir}/kalend"
kinoman = "#{progr_dir}/kinoman"
modbook = "#{progr_dir}/modbook"
news = "#{progr_dir}/news"
painter = "#{progr_dir}/painter"
putish = "#{progr_dir}/putish"
sovet = "#{progr_dir}/sovet"

# папки с музыкой
mus = "#{pl}/classic"


# папки с джинглами
jin = "#{pl}/jingles"


# плейлисты с программами. Обратите внимание - до этого указывались пути к папкам, а здесь - к простым текстовым файлам.
goro_pl = "#{goro}/goro.m3u"
grand_pl = "#{grand}/grand.m3u"
kalend_pl = "#{kalend}/kalend.m3u"
kinoman_pl = "#{kinoman}/kinoman.m3u"
modbook_pl = "#{modbook}/modbook.m3u"
news_pl = "#{news}/news.m3u"
painter_pl = "#{painter}/painter.m3u"
putish_pl = "#{putish}/putish.m3u"
sovet_pl = "#{sovet}/sovet.m3u"

# _____________________________________
# Создаём объекты типа "source", в нашем случае это аудиоисточники. 
# Здесь атрибут "reload" позволяет раз в 360 секунд перечитывать плейлист по пути, указанному далее.
# По умолчанию, музыка проигрывается рандомно, атрибут <code>mode = "normal"</code> указывает на проигрывание по порядку.

# загружаем плейлисты, джинглы, вставки, программы
mus_pl   = playlist (reload = 360, "#{mus}")


jin_pl  = playlist (reload = 360, "#{jin}")

promo    = playlist (reload = 360, "#{promo_dir}")

p_goro   = playlist (reload = 360, "#{goro_pl}", mode = "normal")
p_grand   = playlist (reload = 360, "#{grand_pl}", mode = "normal")
p_kalend   = playlist (reload = 360, "#{kalend_pl}", mode = "normal")
p_kinoman  = playlist (reload = 360, "#{kinoman_pl}", mode = "normal")
p_modbook  = playlist (reload = 360, "#{modbook_pl}", mode = "normal")
p_news  = playlist (reload = 360, "#{news_pl}", mode = "normal")
p_painter   = playlist (reload = 360, "#{painter_pl}", mode = "normal")
p_putish  = playlist (reload = 360, "#{putish_pl}", mode = "normal")
p_sovet  = playlist (reload = 360, "#{sovet_pl}", mode = "normal")

# смешиваем вставки
ins = rotate (weights = [2, 1], [jin_pl, promo])
mus_ins = rotate (weights = [3, 1], [mus_pl, ins])

#_______________________________________________________________________
# конфигурируем расписание эфира
radio = switch (track_sensitive = true,
 [ 
 ({ (1w9h) or (3w9h) or (5w9h) or (1w11h30m) or (3w11h30m) or (5w11h30m)}, p_goro),

    ({ (1w9h30m) or (3w9h30m) or (5w9h30m) or (1w18h30m) or (3w18h30m) or (5w18h30m)}, p_grand),

    ({ (1w10h) or (3w10h) or (5w10h) or (1w13h) or (3w13h) or (5w13h) or (1w17h) or (3w17h) or (5w17h)}, p_news),

    ({ (1w10h30m) or (3w10h30m) or (5w10h30m) or (1w12h) or (3w12h) or (5w12h) or (1w16h30m) or (3w16h30m) or (5w16h30m)}, p_putish),

    ({ (1w11h) or (3w11h) or (5w11h) or (1w16h) or (3w16h) or (5w16h)}, p_kalend),

    ({ (1w12h30m) or (3w12h30m) or (5w12h30m) or (1w14h30m) or (3w14h30m) or (5w14h30m)}, p_painter),

    ({ (1w13h) or (3w13h) or (5w13h) or (1w17h30m) or (3w17h30m) or (5w17h30m)}, p_modbook),

    ({ (1w14h) or (3w14h) or (5w14h) or (1w19h) or (3w19h) or (5w19h)}, p_sovet),

    ({ (1w15h) or (3w15h) or (5w15h) or (1w18h) or (3w18h) or (5w18h)}, p_kinoman)

])
# добавляем crossfade
radio = crossfade(start_next=1., fade_out=1., fade_in=1., radio)

 # Stream it out
output.icecast (%mp3,
  host = "*************", port = 8000,
  password = "********", mount = "/classic-non.mp3",
 mksafe(radio)
 )

в нем ругается на

mus_ins = rotate (weights = [3, 1], [mus_pl, ins])

вот такими словами

At line 78, character 9: The variable mus_ins defined here is not used
  anywhere in its scope. Use ignore(...) instead of mus_ins = ... if
  you meant to not use it. Otherwise, this may be a typo or a sign that
  your script does not do what you intend.

  - тут уже дело принципа... пока не сделаю... - идеи, замечания !!! а щас спать...

1,085

Re: liquidsoap

ну так ясно написано, что mus_ins нигде не используется

1,086

Re: liquidsoap

пишет tarasian666:

ну так ясно написано, что mus_ins нигде не используется

а где и как мне ее задать или на что поменять?

1,087

Re: liquidsoap

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

1,088

Re: liquidsoap

пишет tarasian666:

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

плейлисты вроде задействованы все - там есть переменные для быстрого исправления.
по поводу mus_ins  каким образом мне задействовать смешивание? И дальнейшее применение swich - я как бы тоже добавляю radio = -если удалить mus_ins - он ругается на ins и так далее

1,089

Re: liquidsoap

вся цепочка не задейстована, конец этой цепочки mus_ins, естественно будет ругаться пока всю цепочку не убрать

1,090

Re: liquidsoap

пишет tarasian666:

вся цепочка не задейстована, конец этой цепочки mus_ins, естественно будет ругаться пока всю цепочку не убрать

а как мне её задействовать

1,091

Re: liquidsoap

ну остальные же как-то задействовали

1,092

Re: liquidsoap

пишет tarasian666:

ну остальные же как-то задействовали

я брал материал в интернете - подобный конф. только на две программы - по комментам все работает - у меня же нет.

1,093

Re: liquidsoap

можете продемонстрировать код  - как задействовать именно эти переременные?

1,094

Re: liquidsoap

вот пример с сайта savonet

default = single("~/radio/default.ogg")

day     = playlist("~/radio/day.pls")
night   = playlist("~/radio/night.pls")
jingles = playlist("~/radio/jingles.pls")

clock   = single("~/radio/clock.ogg")
start   = single("~/radio/live_start.ogg")
stop    = single("~/radio/live_stop.ogg")

# Play user requests if there are any,
# otherwise one of our playlists,
# and the default file if anything goes wrong.
radio = fallback([ request.queue(id="request"),
                    switch([({ 6h-22h }, day),
                            ({ 22h-6h }, night)]),
                    default])
# Add the normal jingles
radio = random(weights=[1,5],[ jingles, radio ])
# And the clock jingle
radio = add([radio, switch([({0m0s},clock)])])

# Add the ability to relay live shows
full =
  fallback(track_sensitive=false,
           [input.http("http://localhost:8000/live.ogg"),
            radio])

как бы переменная radio здесь тоже появляется в конце и ей задают требуемое значение с параметрами -  у меня же вроде тоже самое???

1,095

Re: liquidsoap

Совсем не то же самое, переменная radio используется при выводе на сервер.  А у вас переменной mus_ins задается параметр и все, дальше нигде не используется.

1,096

Re: liquidsoap

Так дальше если я использую переменную mus_ins вместо radio начинает ругаться на ins =  а ее я использую для смешивания  promo. , jingles. Как дальше быть.

1,097

Re: liquidsoap

на сколько я понял я должен задействовать mus_ins для воспроизведения вопрос правильно ли если так: mus_ins = rotate(......)
mus_ins = swich([....])

1,098

Re: liquidsoap

все, разобрался СПАСИБО!!!

1,099

Re: liquidsoap

В общем такая штука вышла,

mus_pl = fallback([ request.queue(id="request"), switch ([ 
 ({ (1w9h) or (3w9h) or (7w9h) or (1w11h30m) or (3w11h30m) or (7w11h30m)}, p_goro),

    ({ (1w9h30m) or (3w9h30m) or (5w9h30m) or (1w18h30m) or (3w18h30m) or (5w18h30m)}, p_grand),

    ({ (1w10h) or (3w10h) or (7w10h) or (1w13h) or (3w13h) or (7w13h) or (1w17h) or (3w17h) or (7w17h)}, p_news),

    ({ (1w10h30m) or (3w10h30m) or (5w10h30m) or (1w12h) or (3w12h) or (5w12h) or (1w16h30m) or (3w16h30m) or (5w16h30m)}, p_putish),

    ({ (1w11h) or (3w11h) or (5w11h) or (1w16h) or (3w16h) or (5w16h)}, p_kalend),

    ({ (1w12h30m) or (3w12h30m) or (5w12h30m) or (1w14h30m) or (3w14h30m) or (5w14h30m)}, p_painter),

    ({ (1w13h) or (3w13h) or (5w13h) or (1w17h30m) or (3w17h30m) or (5w17h30m)}, p_modbook),

    ({ (1w14h) or (3w14h) or (5w14h) or (1w19h) or (3w19h) or (5w19h)}, p_sovet),

    ({ (1w15h) or (3w15h) or (5w15h) or (1w18h) or (3w18h) or (5w18h)}, p_kinoman),
 ]), mus_pl])

и получается что включается goro и до следующего по времени... а как сделать чтобы  goro и другие воспроизводились разово. только в положенное ему время а дальше играл mus_pl

1,100

Re: liquidsoap

Уважаемые, кто подскажет как запустить 1 рубрику скажем в 9 утра - с повтором через час - но при том чтобы она включилась в 9 - отключилась по окончанию (1 запись mp3) и дальше играла музыка до повтора. потом повтор рубрики - далее опять музыка - у меня же получается включить рубрику и она постоянна "трындит" - не отключаясь!!!

Отредактировано EnigmA_MaN_1 (22-09-2014 11:05:04)