1

Тема: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

Т.е. при вещании со звуковой карты через Simplecast необходимо подсовывать плеерам слушателей метаданные (название песни, артист и пр.). Как заставить SHOUTcast или Icecast брать эти данные не из потока (как это бывает при вещаниии при помощи SAM, например), а из XML файла (или другого какого-то файла)?

2

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

Все проще, чем Вы думаете.
В крон вставляется команда вида (в зависимости от сервера, тут некий компромисс, работать она не будет ни там, ни там): wget "http://admin:pass@ip:port/admin.cgi?updatemetadata="ваша_надпись"

3

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

пишет Nick Pheomotion:

В крон вставляется команда вида (в зависимости от сервера, тут некий компромисс, работать она не будет ни там, ни там): wget "http://admin:pass@ip:port/admin.cgi?updatemetadata="ваша_надпись"

Супер!
Дополнительные вопросы:
1. Что есть такое "крон"
2. http... вот на него уже с XML и подкладывать файлы?

4

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

Icecast или SHOUTcast отправляет метаданные клиентам вместе с потоком аудио определенным образом (синхорнно), а получает их параллельно, то есть асинхронно. через /admin.cgi?updatemetadata...

то есть, имхо, нужно периодически парсить xml и отправлять запрос обновления данных скрипту admin.cgi

периодичность парсинга обеспечивает служба запуска приложений по расписанию - крон.

5

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

Так, ну уже почти, почти становится ясно. Крон под винду скачан - проблем нет. Wget также скачан и поставлен. Тоже все ясно. Вот только цепочка так и не ясна. Верно ли я понимаю, что:

Wget должен опрашивать XML и посылать нужные данные скрипту admin.cgi, который, в свою очередь, проапдейтит метаданные на SHOUTcast, а тот уже упакует их в поток?

Что же тогда такое ентот адский скрипт admin.cgi?

6

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

не, наверное, неправильно.
Wget - прога под линух, как и крон
в винде есть "планировщик заданий" и експлорер.
admin.cgi расположен там, где работает шоуткаст
например, если радиостанция вещает на
http://127.0.0.1:9009/, то этот путь будет:
http://admin:ваш_пароль@127.0.0.1:9009/admin.cgi?updatemetadata="ваша_надпись"
Откройте свое радио в плеере и, вызвав в браузере тот путь, проследите за изменением отображаемых плеером данных, а вообще, в документации все описано, я, правда, не сильно ее читал, поэтому погу что-то недоговаривать, и где-то ошибаться.
есть хорошая статья "Протоколы сетевых радиостанций" - в которой в сжвтом виде все объяснено -)

5. Затем источник начинает отправлять mp3-поток.


C. Передача названия (песни) от источника серверу

Сервер получает название песни и URL страницы когда источник делает
вызов URL.

http://www.host.com:portnumber/admin.cgi?pass=Server%20Password&mode=updinfo&song=Song%20Goes%20here&url=http://someurl.com

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

http://www.google.com.ua/search?q=%D0%9 … =firefox-a

7

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

Вот такой бред выходит и не могу понять, почему:
в скрипте написано: file( "http://$host:$pubort/admin.cgi?pass=$pw&mode=updinfo&song=whatever" );
при выполнении скрипта выводит: Warning: file(http://10.25.250.1:9009/admin.cgi?pass=p090909&mode=updinfo&song=whatever): failed to open stream: HTTP request failed! ICY 404 Resource Not Found
Вставляю в браузер строку из этого варнинга и - http://10.25.250.1:9009/admin.cgi?pass= … g=whatever - и только тогда название обновляется.

причем, если зайти в "командню строку" винды и выполнить сначала телнет на 9009 порт, а потом запрос
GET /admin.cgi?pass=p090909&mode=updinfo&song=whatever HTTP/1.1 (или 1.0), оно выведет тоже 404.

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

8

Re: Может ли SHOUTcast или Icecast брать метаданные из XML файла?

Оказалось, нужно было заголовок User-Agent: Mozilla вставить neutral