251

Re: liquidsoap

а я люблю MPD его и юзаю в качестве вещателя. да и к нему куча интерфейсов и клиентов написано.
все что мне нужно он умеет, ну а mpdscribble постит треки на last.fm/jamendo/libre.fm/twitter/и на сайте станции реалтайм трек обновляет.

Отредактировано MechanisM (13-07-2011 04:04:18)

252

Re: liquidsoap

привет всем, подскажите битые треки как обходить, а то стопориться не гуд?

и ещё вопросик, давно мучает, если не плейлистами, пример:

radio = fallback(track_sensitive=false, [
                  switch([({ 6h-21h }, new),
                         ({ 22h-00h }, clubs),
                         ({ 00h-6h }, laung)
                 ]), general ])

но
radio = rotate(weights=[1,4,3,5,1,6,1,3,1,1,4,10,3],[ jingles, radio, discoru, music, jingles, radio, prikol, slow, disconew, jingles, radio, music, discoin ])
надо чтобы срабатывал только когда по расписанию  new - играет

а
radio = rotate(weights=[1,5,3],[ jingles, radio, slow ])
срабатывал когда играет laung, вот и не догоняю, как это сделать?

253

Re: liquidsoap

пишет Amelion:

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

Что значит "битые", что в логе пишет ?

254

Re: liquidsoap

логи обнулил ))) как ошибка вновь появиться, выложу

Выкладываю логи:


2011/07/13 22:00:00 [src_4909:3] Switch to src_4908 with transition.
2011/07/13 22:00:00 [src_4908:3] Switch to clubs.
2011/07/13 22:03:11 [output(dot)icecast(dot)aacplusenc:3] Restarting encoder after delay (3600s)
2011/07/13 22:03:11 [stderr:3] [0%]^M[-1%]^M[-2%]^M[-3%]^M[-4%]^M[-5%]^M[-6%]^M[-7%]^M[-8%]^M[-9%]^M[-10%]^M[-11%]^M[-12%]^M[-13%]^M[-14%]^M[-15%]^M[-16%]^M[-17%]^M[-18%]^M[-19%]
2011/07/13 22:03:11 [stderr:3]
2011/07/13 22:03:11 [stderr:3] encoding finished
2011/07/13 22:03:11 [output(dot)icecast(dot)aacplusenc:2] Creating external encoder..
2011/07/13 22:03:11 [stderr:3]
2011/07/13 22:03:11 [stderr:3] *************************************************************
2011/07/13 22:03:11 [stderr:3] * Enhanced aacPlus Encoder
2011/07/13 22:03:11 [stderr:3] * Build Oct 14 2010, 13:36:52
2011/07/13 22:03:11 [stderr:3] * Matteo Croce <rootkit85@yahoo.it>
2011/07/13 22:03:11 [stderr:3] *************************************************************
2011/07/13 22:03:11 [stderr:3]
2011/07/13 22:03:11 [stderr:3] input file -:
2011/07/13 22:03:11 [stderr:3] sr = 44100, nc = 2
2011/07/13 22:03:11 [stderr:3]
2011/07/13 22:03:11 [stderr:3] output file -:
2011/07/13 22:03:11 [stderr:3] br = 64000 sr-OUT = 44100  nc-OUT = 2
2011/07/13 22:03:11 [stderr:3]
2011/07/13 22:06:24 [decoder:3] Decoder MP3 chosen for "/home/ftp/D3/Radio/clubs/club_iun_2011/06. Gregori Klosman - Jaws.mp3".
2011/07/13 22:06:24 [stderr:3] [0%]^M[-1%]^M[-2%]^M[-3%]^M[-4%]^M[-5%]^M[-6%]^M[-7%]^M[-8%]^M[-9%]^M[-10%]^M[-11%]^M[-12%]^MTagLib: ID3v2.4 no longer supports the frame type TDAT
2011/07/13 22:06:24 [stderr:3] TagLib: String::prepare() - Unicode conversion error.
2011/07/13 22:06:24 [stderr:3] TagLib: String::prepare() - Unicode conversion error.
.
.
.
последняя строка повторяется до бесконечности

Отредактировано Amelion (18-07-2011 09:23:56)

255

Re: liquidsoap

доброго дня!
коль скоро не я один осваивают ликвидсоап, то, возможно, поможем друг другу, задавая вопросы.

вот на какой конфигурации все работает:

Liquidsoap 1.0.0-beta2.1+svn

Distributor ID: Debian
Description:    Debian GNU/Linux 6.0.2 (squeeze)
Release:        6.0.2
Codename:       squeeze

4 гига памяти

расскажите плз, кто сталкивался с такими проблемами:

1. никак не канает такая штука
output.icecast(%aacplus(bitrate=128)

вообще больше 72кбитс не удается сделать при использовании аас+. это какое-то ограничение кодека или глюк?

2. переодически ликвидсоап отваливается с сообщением в терминале "Ошибка сегментирования".
это может произойти 2 раза за час или 2 раза за сутки. в любом случае, стабильно без остановок он работать не хочет.
отчего такое может быть и как исправить?

3. мне необходимо накладывать поверх музыки джинглы. это делается стандартной функцией smooth_add, вот ее код в моем случае:

def smooth_add(~delay=0.5,~p=0.8,~normal,~special)
  d = delay
  fade.final = fade.final(duration=d*1.)
  fade.initial = fade.initial(duration=d*2.)
  q = 0.7
  c = amplify
  fallback(track_sensitive=false,
           [special,normal],
           transitions=[
             fun(normal,special)->
               add(normalize=false,
                   [c(p,normal),
                    c(q,fade.final(type="log",normal)),
                    sequence([blank(duration=d),c(q,special)])]),
             fun(special,normal)->
               add(normalize=false,
                   [c(p,normal),
                    c(q,fade.initial(type="log",normal))])
           ])
end

проблема в том, что звук в потоке получается явно перегруженный, нелинейные искажения весьма хорошо слышно.
но если эту штуку ниже закоментировать, то со звуком все ок.

radio = smooth_add(normal=radio,special=switch([({ 0m0s or 10m0s or 20m0s or 30m0s or 40m0s or 50m0s }, jingles_overlay)]))

я полагаю собака зарыта где-то в c = amplify, которое используется в функции smooth_add. дак вот каким образом бы исправить такой косяк?

и за одно не подскажете ли, как написать попроще строчку

switch([({ 0m0s or 10m0s or 20m0s or 30m0s or 40m0s or 50m0s }

потому что громоздко, наверняка есть простое описание для задачи "через каждые 10 минут".

спасибо!

256

Re: liquidsoap

1. нет в GNU лицензии на использование аас+ больше 64 кбит/с
2. смотреть лог после чего ошибка, или пробовать старшую версию
3. в версии бета 1 smooth_add работал нормально с таким же конфигом

я пока юзаю svn beta 1

для каждых 10 минут тоже видел в примерах на оф сайте, щас кинуть ссылку не могу(

257

Re: liquidsoap

пишет tarasian666:

1. нет в GNU лицензии на использование аас+ больше 64 кбит/с
2. смотреть лог после чего ошибка, или пробовать старшую версию
3. в версии бета 1 smooth_add работал нормально с таким же конфигом

1. а можно как-то прикрутить сторонние кодеры аас+?
2. а какой логлевел включить стоит, чтобы отловить ошибку? потому что щас у меня в логе в консоли служебные сообщения ликвидсоупа и потом просто обрыв без всяких объяснений.
3. вот бету2 я поставил день назад. до этого была бета1 и проблема тоже имела место быть.

258

Re: liquidsoap

Получается, что в какой то момент (каждый раз в разное время происходит), либо перестает работать и при рестарте liquidsoap, пишет pid №..... до бесконечности, либо работает, в плеере и время показывает и название трека, но на эквалайзере пусто и звука нет, после перезапуска liquidsoap, опять все норма.
Вот думаю может с нормализацией, лимитом или фильтрами перемудрил. По логам (см. выше) типа кодек? Из за Unicode чето мало как то вериться, что соап падает, народ хелп помогите разобрать.

p.s. И не надо отсылать в доки или говорить, что выше похожее было (не было). Да и tarasian666 не все такие умные и круто во все дыры разбирающиеся лезущие. Для меня это хобби. Раз прошу помощи значит не просто так.

Брал с форума по оригиналу то же самое

radio = normalize(
target = -13., #(anything that is either float or ()->float . defaults to -13.): Desired RMS (dB).
window = 0.0001, #(float . defaults to 0.1): Duration of the window used to compute the current RMS power (second).
k_up = 0.005, #(anything that is either float or ()->float . defaults to 0.005): Coefficient when the power must go up (between 0 and 1, sl)
k_down = 0.0001, #(anything that is either float or ()->float . defaults to 0.1): Coefficient when the power must go down (between 0 and 1,)
threshold = -60., #(anything that is either float or ()->float . defaults to -40.): Minimal RMS for activaing gain control (dB).
gain_min = -6., #(anything that is either float or ()->float . defaults to -6.): Minimal gain value (dB).
gain_max = 6., #(anything that is either float or ()->float . defaults to 6.): Maximal gain value (dB).
debug = false, #(bool . defaults to false): Show coefficients.
radio )

radio = limit(
ratio = 10., #(float . defaults to 2.): Gain reduction ratio (n:1).
attack = 1., #(anything that is either float or ()->float . defaults to 100.): Attack time (ms).
release = 10000., #(anything that is either float or ()->float . defaults to 400.): Release time (ms).
threshold = -45., #(anything that is either float or ()->float . defaults to -10.): Threshold level (dB).
knee = 0.50, #(anything that is either float or ()->float . defaults to 1.): Knee radius (dB).
rms_window = 1., #(float . defaults to 0.1): Window for computing RMS (in sec).
gain = 20., #(anything that is either float or ()->float . defaults to 0.): Additional gain (dB).
debug = false, #(bool . defaults to false)
radio )

radio = filter.iir.eq.peak( frequency=250., q = 1., gain=-4., radio )
radio = filter.iir.eq.peak( frequency=180., q = 1., gain=-6., radio )
radio = filter.iir.eq.high( frequency=100., q = 2., radio )

radio = crossfade(start_next=1.,fade_out=5.,fade_in=2., radio)

259

Re: liquidsoap

Сегодня в твиттере появилось сообщение что собран порт win32 Liquidsoap beta 2.1. Ради интереса скачал, у меня не запускается, видимо потому что у меня венда х64. Никто не пробовал?)

260

Re: liquidsoap

Запускается очень просто создаешь файл start.bat внутри пишешь

liquidsoap.exe название файла конфига(test.liq)
@pause (@pause можно не писать)

Добавлено спустя     7 минут   30 секунд:
Запустил, Заработало

Отредактировано metra52 (21-07-2011 03:05:22)

261

Re: liquidsoap

Мне так же удалось достучаться до Telnet от этого liquidsoap и попереключать песенки

262

Re: liquidsoap

вопрос про switch  и rotate

вот кусок конфига:

# We combine the sources and play
us = rotate(weights=[1,5,1,5], [jingles_us,us, voice_us, us])

# switching sources
us = switch([
  ({ 20h-22h30 }, us),
  ({ 4w and 17h10-17h20 }, show),
  ({ (6w or 7w) and 0h-12h }, us),
  ({ true }, us)
])

задача была проверить, переключится ли us на show в четверг 17:10 и обратно в 17:20

в 17:10 переключилось правильно, но после первого трека из источника show переключилось обратно на us.
в чем ошибка?
мне нужно, чтобы в основной плейлист в определенный день и время втыкался другой плейлист (например, с еженедельной программой), а после ее окончания - переключалось обратно на основной плейлист.

и как сделать, чтобы время было не фиксированное? т.е. не 17h10-17h20, а начало в 17h10 и конец когда закончится плейлист show.

и второй вопрос - каким образом можно выдернуть метаданные СЛЕДУЮЩЕГО трека в очереди? и как выдернуть продолжительность текущего и следующего трека?
есть функция file.duration, аргументом у нее является URI до файла.
каким образом получить URI текущего и следующего трека?
или может быть вообще есть способы проще, без этой функции?

конечная задача - получить в текстовом файлике информацию примерно такого вида:

Сейчас играет: Текущий_исполнитель - текущий_трек (продолжительность)
Далее: След_исполнитель - След_трек (продолжительность)

может быть вопросы простые, но помогите плз ребята конкретными примерами!
спасибо.

263

Re: liquidsoap

какие есть еще способы изменения громкости, кроме amplify?

-------------------------------
R244390603111<- пиво лить сюда

264

Re: liquidsoap

приветствую, почему то не запускается луквасуп. вот что пишет:

2011/07/25 11:23:06 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2011/07/25 11:23:06 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2011/07/25 11:23:06 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2011/07/25 11:23:06 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2011/07/25 11:23:06 [threads:3] Created thread "generic queue #1".
2011/07/25 11:23:06 [threads:3] Created thread "non-blocking queue #1".
2011/07/25 11:23:06 [main:3] Shutdown started!
2011/07/25 11:23:06 [main:3] Waiting for threads to terminate...
2011/07/25 11:23:06 [main:3] Cleaning downloaded files...
2011/07/25 11:23:06 >>> LOG END

кто подскажет в чем причина?

BelRadio - радио Белгорода online

Меняюсь ссылками, баннерами на главной и внутренних, пишите в ЛС

265

Re: liquidsoap

пишет aPhone:

приветствую, почему то не запускается луквасуп. вот что пишет:

2011/07/25 11:23:06 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2011/07/25 11:23:06 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2011/07/25 11:23:06 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2011/07/25 11:23:06 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2011/07/25 11:23:06 [threads:3] Created thread "generic queue #1".
2011/07/25 11:23:06 [threads:3] Created thread "non-blocking queue #1".
2011/07/25 11:23:06 [main:3] Shutdown started!
2011/07/25 11:23:06 [main:3] Waiting for threads to terminate...
2011/07/25 11:23:06 [main:3] Cleaning downloaded files...
2011/07/25 11:23:06 >>> LOG END

кто подскажет в чем причина?

кинь целиком лог

266

Re: liquidsoap

пишет metra52:

пишет aPhone:

приветствую, почему то не запускается луквасуп. вот что пишет:

2011/07/25 11:23:06 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2011/07/25 11:23:06 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2011/07/25 11:23:06 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2011/07/25 11:23:06 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2011/07/25 11:23:06 [threads:3] Created thread "generic queue #1".
2011/07/25 11:23:06 [threads:3] Created thread "non-blocking queue #1".
2011/07/25 11:23:06 [main:3] Shutdown started!
2011/07/25 11:23:06 [main:3] Waiting for threads to terminate...
2011/07/25 11:23:06 [main:3] Cleaning downloaded files...
2011/07/25 11:23:06 >>> LOG END

кто подскажет в чем причина?

кинь целиком лог

проблема сама как то решилась, скорее всего от ребута)))

у меня другой теперь вопрос, в бетте 2 теперь читается информация из статион нейм и дескриптион, и вся она складывается и посылается на айскаст сервак в поле текущий трек
Можно ли сделать так чтобы оно заменяло соответвующие поля в айскасте? кто нить накопал?

Отредактировано aPhone (25-07-2011 21:02:36)

BelRadio - радио Белгорода online

Меняюсь ссылками, баннерами на главной и внутренних, пишите в ЛС

267

Re: liquidsoap

make[3]: Entering directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/src'
OCAMLC -c tools/doc.ml
OCAMLC -c tools/plug.ml
OCAMLC -c tools/utils.ml
OCAMLC -c tools/rqueue.mli
OCAMLC -c tools/rqueue.ml
OCAMLC -c tools/ringbuffer.mli
OCAMLC -c tools/ringbuffer.ml
OCAMLC -c tools/liq_sockets.ml
OCAMLC -c tools/wav.mli
OCAMLC -c tools/wav.ml
OCAMLC -c configure.mli
/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/../ocaml-dtools-0.1.6/src/dtools.cmi
is not a compiled interface
make[3]: *** [configure.cmi] Error 2
make[3]: Leaving directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/src'
make[2]: *** [all-auto-ocaml-prog] Error 2
make[2]: Leaving directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/src'
make[1]: *** [all-subdirs] Error 2
make[1]: Leaving directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2'
make: *** [all] Error 2

как исправить

Отредактировано metra52 (27-07-2011 01:44:02)

268

Re: liquidsoap

Добрый день, у меня что то sc_trans2 не работает.
Вот логи:

Показать / Cкрыть текст

smile)

Отредактировано X-myRzA (27-07-2011 10:38:21)

269

Re: liquidsoap

вам не сюда

270

Re: liquidsoap

пишет metra52:

make[3]: Entering directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/src'
OCAMLC -c tools/doc.ml
OCAMLC -c tools/plug.ml
OCAMLC -c tools/utils.ml
OCAMLC -c tools/rqueue.mli
OCAMLC -c tools/rqueue.ml
OCAMLC -c tools/ringbuffer.mli
OCAMLC -c tools/ringbuffer.ml
OCAMLC -c tools/liq_sockets.ml
OCAMLC -c tools/wav.mli
OCAMLC -c tools/wav.ml
OCAMLC -c configure.mli
/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/../ocaml-dtools-0.1.6/src/dtools.cmi
is not a compiled interface
make[3]: *** [configure.cmi] Error 2
make[3]: Leaving directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/src'
make[2]: *** [all-auto-ocaml-prog] Error 2
make[2]: Leaving directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2/src'
make[1]: *** [all-subdirs] Error 2
make[1]: Leaving directory `/root/liquidsoap-full-0.9.2/liquidsoap-0.9.2'
make: *** [all] Error 2

как исправить

помогите люди)

271

Re: liquidsoap

скажите плиз почему не работает такая схема?

chas9 = playlist(mode="normal", "/home/and/chas/9.wav")
chas12 = mksafe(playlist(reload=600, mode='random', '/home/and/chas/12'))
chas15 = playlist(mode="normal", "/home/and/chas/15.wav")
chas18 = playlist(mode="normal", "/home/and/chas/18.wav")
chas21 = playlist(mode="normal", "/home/and/chas/21.wav")

nonstop = smooth_add(normal=nonstop,special=switch([({ 9h00m0s },chas9)]))
nonstop = smooth_add(normal=nonstop,special=switch([({ 12h00m0s },chas12)]))
nonstop = smooth_add(normal=nonstop,special=switch([({ 15h00m0s },chas15)]))
nonstop = smooth_add(normal=nonstop,special=switch([({ 18h00m0s },chas18)]))
nonstop = smooth_add(normal=nonstop,special=switch([({ 21h00m0s },chas21)]))

что не так? суп последний из свн

Отредактировано aPhone (02-08-2011 18:26:41)

BelRadio - радио Белгорода online

Меняюсь ссылками, баннерами на главной и внутренних, пишите в ЛС

272

Re: liquidsoap

вот логи че напасть?

2011/08/04 04:33:43 [decoder:3] Decoder MP3 chosen for "/home/ftp/D3/Radio/instr/VA - 500 Best Metal Ballads (2011)/500 Best
2011/08/04 04:33:43 [stderr:3] [0%]^M[-1%]^M[-2%]^M[-3%]^M[-4%]^M[-5%]^M[-6%]^M[-7%]^M[-8%]^M[-9%]^M[-10%]^M[-11%]^M[-12%]
2011/08/04 04:33:43 [stderr:3] TagLib: String::prepare() - Unicode conversion error.
2011/08/04 04:33:43 [stderr:3] TagLib: String::prepare() - Unicode conversion error.
...... и до ,есконечности пока не перезагру;у соап

273

Re: liquidsoap

пишет Amelion:

вот логи че напасть?

а теги в нормальной кодировке не пробовали ?)

274

Re: liquidsoap

А как понять что у меня теги не в той кодировке?
я смотрю в винампе они у меня все отображаются нормально что в кирилице что в инглише

275

Re: liquidsoap

пишет Amelion:

я смотрю в винампе они у меня все отображаются нормально

Ну винамп же на винде, там cp1251. А Liquidsoap, линух ? Все должно быть в UTF-8.
Под линухом можно поправить кодировку так:

sudo apt-get install python-mutagen
cd /папка/где/лежат/треки
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1