ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
6   •   Посмотреть все темы

liquidsoap

 

0
удалён
top ten popular websites, **********. twilight princess soundtrack download.
top best android apps. toy story 3 jessie the talking cowgirl, **********.
tv sitcoms on dvd, **********. twilight song download.
twilight eclipse book report. toy story full movie free download, **********.
twilight saga script, **********. toys story 3 pictures.

727
Leff27 @Leff27
Ребят, может где уже писали, но все же..
Пытаюсь поставить этого зверя впервые..
Доходим до
checking lo/lo.h usability... no
checking lo/lo.h presence... no
checking for lo/lo.h... no
configure: error: LO headers not found.

Окей.. Ставим ocaml_lo
Получаем это же configure: error: LO headers not found.
Как бороться?

727
Leff27 @Leff27
Новая трабла...

/usr/bin/install -c -d -o liquidsoap -g liquidsoap -m 2775 \
/usr/local/var/log/liquidsoap
/usr/bin/install -c -d -o liquidsoap -g liquidsoap -m 2775 \
/usr/local/var/run/liquidsoap
/usr/bin/install -c -d /usr/local/bin
/usr/bin/install: cannot change permissions of `/usr/local/bin': Operation not permitted
make[1]: *** [install-local] Error 1
make[1]: Leaving directory `/var/www/liq/data/liquidsoap-1.0.0-full/liquidsoap-1.0.0'
make: *** [install] Error 2

7094
Dim @Render
Leff27 пишет:

Новая трабла...

/usr/bin/install -c -d -o liquidsoap -g liquidsoap -m 2775 \
/usr/local/var/log/liquidsoap
/usr/bin/install -c -d -o liquidsoap -g liquidsoap -m 2775 \
/usr/local/var/run/liquidsoap
/usr/bin/install -c -d /usr/local/bin
/usr/bin/install: cannot change permissions of `/usr/local/bin': Operation not permitted
make[1]: *** [install-local] Error 1
make[1]: Leaving directory `/var/www/liq/data/liquidsoap-1.0.0-full/liquidsoap-1.0.0'
make: *** [install] Error 2

Я после конфигурирования, из под рута делал make && make install. Т.к тоже такое было.
Только вроде через su - root -c 'make && make install' делал, если не ошибаюсь.

833
metra52 @metra52
Вообщем такой вопрос, какой коммандой в telnet можно вывести очередь следующих песен, и прошедших

32
Danila @Danila
так, давно я тут не был =))
есть парочка вопросов:
1)подставление в плей-лист в определённое время записи (switch не подходит т.к. если он traksesetive false, то нужно секунды высчитывать, а если true, то не факт что воспроизведёт т.к. песни разной длинны как и запись)
2) воспроизведение файликов в фоне по какой-нибудь команде
3) вход с аудио-плату
4) выход на аудиоплаты в реальном времени
5) и как можно запихнуть статистику в mysql? может у кого есть парсер?

конечным результатом обещаю поделиться =)

liquidsoap 0.9.3

Отредактировано Danila - 24.12.2011
6245
Тарас @tarasian666
1. как вариант через queue.push
2. создать queue.secondary_queue и микшировать через add
3. input.alsa или input.jack или что вам больше подходит (или что собереться и будет работать без ошибок :D )
4. output.asla или output.jack и тд
5. какую именно статистику?

223
Игорь @devilben
Подскажите как побороть такую багу, если кто знает:
При добавлении чего либо через smooth_add ломаются теги. То есть, в момент "микширования" вставляется какой то левый тег, а хотелось бы чтоб выводился по прежнему тег из основного источника.
Вот пример конфига:

#!/usr/local/bin/liquidsoap
set("init.daemon",true)
set("log.file.path","/var/log/liquidsoap/liquidsoap.log")
set("init.daemon.pidfile.path","/var/run/liquidsoap/liq.pid")

jingles = playlist(reload=9000,"/data/air/jingles") #джинглы которые всплывают по времени
promo = playlist(reload=9000,"/data/air/promo") #джинглы которые просто вставляет в ротацию
music = playlist(reload=9000,"/data/air/music") #основная муз. библиотека
music = mksafe(music)

music = rotate(weights = [1, 11],[promo, music]) #добавление джинглов в ротацию
music = crossfade( fade_out = 4.0, fade_in = 3.0, start_next = 3.0, music ) #кроссфейд треков

radio = smooth_add(normal=music,special=switch([({ 00m0s or 30m0s }, jingles)])) #добавление джинглов по времени

#выход на icecast2#

output.icecast(
%mp3,
mount="/listen",
host="127.0.0.1", port=8000,
password="*****",
genre="Other",
url="http://domain.com",
description="Cool Internet Radio",
name="Mega Radio",
radio
)

Нашел похожую проблему в рассылке Liquidsoap, там говорится что нужно использовать map_metadata, но как - не догоняю пока.

32
Danila @Danila
Спасибо, буду пробовать,
по поводу статистики - время/дата/песня/из-какой-папки
всё есть в логах liquidsoap, но хочется всё видеть красиво в веб-интерфейсе

32
Danila @Danila
есть проблемка
предистория:
#старая
musicold = smart_crossfade(normalize(playlist(reload=43200, mode="randomize", "/home/radio/radio/music/rotation/old/")))
#новая
musicnew = smart_crossfade(normalize(playlist(reload=21600, mode="randomize", "/home/radio/radio/music/rotation/new/")))
#новогодняя
musicny = smart_crossfade(normalize(playlist(reload=10000, mode="randomize", "/home/radio/radio/music/rotation/newyear/")))

вот здесь что-то не то:
music1 = rotate(weights=[2,10,1],[musicnew, musicold,musicny])

лог:
2011/12/25 16:09:58 [newyear:3] Finished with "/home/radio/radio/music/rotation/newyear//Abba_-_Happy_New_Year_(Sprime_Remix)_[mp3.shmidt.net].mp3".
2011/12/25 16:09:58 [newyear:3] Prepared "/home/radio/radio/music/rotation/newyear//4_Kings_-_Last_Christmas_[mp3.shmidt.net].mp3" (RID 30).

т.е. он должен воспроизводить 1 песню из rotation/newyear/ и возвращаться к musicnew а восроизводит их до рестарта
может я что не то указал, подскажите плиз

6245
Тарас @tarasian666
по логике он будет воспроизводить 10 песен из musicold, 2 песни из musicnew и одну песню из musicny

PS
нет необходимости накладывать на каждый плейлист smart_crossfade(normalize
можно только на music1

32
Danila @Danila
devilben пишет:

Подскажите как побороть такую багу, если кто знает:
При добавлении чего либо через smooth_add ломаются теги. То есть, в момент "микширования" вставляется какой то левый тег, а хотелось бы чтоб выводился по прежнему тег из основного источника.
Вот пример конфига:

#!/usr/local/bin/liquidsoap
set("init.daemon",true)
set("log.file.path","/var/log/liquidsoap/liquidsoap.log")
set("init.daemon.pidfile.path","/var/run/liquidsoap/liq.pid")

jingles = playlist(reload=9000,"/data/air/jingles") #джинглы которые всплывают по времени
promo = playlist(reload=9000,"/data/air/promo") #джинглы которые просто вставляет в ротацию
music = playlist(reload=9000,"/data/air/music") #основная муз. библиотека
music = mksafe(music)

music = rotate(weights = [1, 11],[promo, music]) #добавление джинглов в ротацию
music = crossfade( fade_out = 4.0, fade_in = 3.0, start_next = 3.0, music ) #кроссфейд треков

radio = smooth_add(normal=music,special=switch([({ 00m0s or 30m0s }, jingles)])) #добавление джинглов по времени

#выход на icecast2#

output.icecast(
%mp3,
mount="/listen",
host="127.0.0.1", port=8000,
password="*****",
genre="Other",
url="http://domain.com",
description="Cool Internet Radio",
name="Mega Radio",
radio
)

Нашел похожую проблему в рассылке Liquidsoap, там говорится что нужно использовать map_metadata, но как - не догоняю пока.

у меня всё, что связано с мета сделано так:
#постоянная функция, мета-данные
def rewrite_metadata(l,~insert_missing=true,s)
def map(m)
def apply(x)
label = fst(x)
meta = snd(x)
if list.mem_assoc(label,l) then
pattern = l[label]
(label,pattern % m)
else
(label,meta)
end
end
m = list.map(apply,m)
def add(m,x)
label = fst(x)
pattern = snd(x)
if not list.mem_assoc(label,m) then
list.append(m,[(label,pattern % m)])
else
m
end
end
list.fold(add,m,l)
end
map_metadata(map,insert_missing=insert_missing,s)
end

# добавляем " - (((=SV=)))"
def append_title(m) =
title = m["title"]
[("title","#{title} - (((=SV=)))")]
end

#и вот map_metadata
music5 = map_metadata(append_title, music4)

и кстати тут тоже проблемка - вместо того, чтобы писать "title","#{title} - (((=SV=))), пишет "title","#{title} - (((=SV=))) - (((=SV=))) - (((=SV=))) - (((=SV=))) до бесконечности =)), подскажите, как решить

Отредактировано Danila - 25.12.2011
32
Danila @Danila
Показать текст


спасибо, помогло, теперь у меня так
Показать текст

223
Игорь @devilben
Danila пишет:

у меня всё, что связано с мета сделано так:
Код:

#постоянная функция, мета-данные
def rewrite_metadata(l,~insert_missing=true,s).....
и кстати тут тоже проблемка - вместо того, чтобы писать "title","#{title} - (((=SV=))), пишет "title","#{title} - (((=SV=))) - (((=SV=))) - (((=SV=))) - (((=SV=))) до бесконечности

Это ваш конфиг мыла? Зачем в него пишете паттерны? Эти "постоянные функции" уже там есть, они переопределяются в конфиге, со своими значениями, двумя строчками.
С рерайтом метаданных на кастомные по любому источнику у меня проблем нет, в этом просто нет необходимости. У меня проблема в сохранении метаданных текущего трека в момент добавления джингла методом smooth_add.

48
Amelion @Amelion
так как правильно теги побороть, сейчас опять вещание тормознулось в логах вот что последнее

2011/12/26 15:23:13 [src_4887:3] Switch to ngring with forgetful transition.

Удалили все теги переименовал се файлы в цифры

в итоге вот это в конце лога

2012/01/01 05:21:30 [decoder:3] Decoder MP3 chosen for "/home/ftp/D3/Radio/ng/382.mp3".
2012/01/01 05:21:40 [ng:3] Finished with "/home/ftp/D3/Radio/ng/599.mp3".
2012/01/01 05:21:40 [ng:3] Prepared "/home/ftp/D3/Radio/ng/382.mp3" (RID 48).

и все опять соап стоит, хелп ми плиз???

Отредактировано Amelion - 01.01.2012
29
platinum07 @platinum07
почему liquidsoap может ругаться так на вполне обычную и даже необходимую скобку?

radioone# sh /usr/radio2.sh
/usr/radio2.sh: 2: Syntax error: "(" unexpected

первые три строчки скрипта:

#!/usr/local/bin/liquidsoap/
music = normalize(playlist(mode="randomize", "/data/air/radio1"))
radio = crossfade(fade_out = 3.0, fade_in = 2.0, start_next = 1.0, music)

6245
Тарас @tarasian666
потому что не надо запускать через шелл тем более уже в файле есть #!/usr/local/bin/liquidsoap/ (и то не правильно, в конце должно быть без слэша)
возможно поэтому считает скрипт шелловским, а не "мыльным". А синтаксис разный вот и ругаеться

30
Azat @Azat
Добрый день!

У меня вопрос: как сделать, чтобы в определенное время добавлялся в очередь следующей песней определенный файл? Допустим, наступает 59m15s и надо, чтобы после текущей играющей песни сыграла, допустим, отбивка?

Заранее благодарю за помощь!

6245
Тарас @tarasian666
чтоб сработало такое на 100% я б рекомендовал внешними средставми в определенное время пускать в queue через telnet нужную, допустим, отбивку
может и возможно сделать это только средствами liquidsoap но это будет сложнее или не будет работать на 100%

30
Azat @Azat
Благодарю! Кстати, никак не могу найти в документации про управление через telnet...