1

Тема: По поводу логов playlist

У меня icecast записывает в файл playlist.log логи треков прозвучавших в эфире.
Он записывает со всех маунтов, а как быть если в эфире и live  nonstop и он треки записывает и с того и с того потока.
Вот схема:
Если нет live потока то с nonstop что бы записывались
Если присутствует live то только с него треки записывать
Можно ли как-нибудь ?
Или может есть какой скрипт вывод последних 10 треков?

2

Re: По поводу логов playlist

Что не кто не знает ?

3

Re: По поводу логов playlist

это вам к Leff27

Лучшая музыка за 15 лет! www.radiopassazh.ru
Лучшая русская популярная музыка! www.rusongs.ru

4

Re: По поводу логов playlist

Маунты live и nonstop взаимозаменяемы?

Т.е. один работает, второй страхует, верно?

5

Re: По поводу логов playlist

Да, если live работает то все слушатели на live, как только live отключается всех слушателей перебрасывает на nonstop.

6

Re: По поводу логов playlist

Да, но формально же они остаются на /live.
Вы ведь fallback используете?

7

Re: По поводу логов playlist

Да использую.

8

Re: По поводу логов playlist

Вижу несколько вариантов.

Собираете из плейлиста все строки где на нонстопе слушателей > 0. Например,

21/Dec/2012:14:51:50 +0400|/nonstop|123|Untitled.mp3

Здесь, 123 = числу слушателей. Это значит что или напрямую подключились, или перекинуты с /live. Записываете список треков, отмечаете время. Затем оставшиеся треки (когда на нонстопе 0) отбираете по времени со второго маунта.

Второй вариант - это использовать on-connect и on-disconnect (описание здесь http://icecast.org/docs/icecast-2.3.2/i … html#mount).

<on-connect>/home/icecast/bin/source-start</on-connect>
<on-disconnect>/home/icecast/bin/source-end</on-disconnect>

Эти два параметра задают пути к скриптам, которые будут запущены при подключении/отключении определенного потока.

9

Re: По поводу логов playlist

Честно я не понял,
Вот конфиг icecast не мог бы ты сделать ?

Отредактировано newdj (12-01-2013 18:58:26)

10

Re: По поводу логов playlist

Не страшно. Смотрите, при подключении маунта вызывается скрипт, который подсовывает айскасту другой лог, в который тот будет писать список игравших треков во время работы нужного маунта. Файл будет называться, скажем, playlist-w-live.log.

Из него потом родным системным grep'ом будут вытянуты все строки по лайву, например вот так:

cat /var/log/icecast2/playlist-w-live.log | grep "/live" > /var/log/icecast2/playlist-live.log

Теперь в файле playlist-live.log у вас все, что играло на /live (и только на /live) во время его работы. После отключения маунта, по соответствующей команде, начинает снова писаться что-то вроде playlist-nonstop.log.

Объединив потом эти два файла получите полный плейлист.

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

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

Я готов помочь советом и постараться направить вас на правильное решение. Сидеть и кодить, боюсь, желания нет. Для этого есть вышеупомянутые мостера похапе, которые за 2 бакса все сделают. Хотя я рекомендую разбираться во всем самостоятельно.