€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
Общие вопросы по интернет радио вещанию
6 •
Посмотреть все темы
Может ли SHOUTcast или Icecast брать метаданные из XML файла?
1
9
Smolko
@Smolko
30.05.2009
Т.е. при вещании со звуковой карты через Simplecast необходимо подсовывать плеерам слушателей метаданные (название песни, артист и пр.). Как заставить SHOUTcast или Icecast брать эти данные не из потока (как это бывает при вещаниии при помощи SAM, например), а из XML файла (или другого какого-то файла)?
1400
Pheoru
@Pheoru
31.05.2009
Все проще, чем Вы думаете.
В крон вставляется команда вида (в зависимости от сервера, тут некий компромисс, работать она не будет ни там, ни там): wget "http://admin:pass@ip:port/admin.cgi?updatemetadata="ваша_надпись"
9
Smolko
@Smolko
31.05.2009
[quote=Nick Pheomotion]В крон вставляется команда вида (в зависимости от сервера, тут некий компромисс, работать она не будет ни там, ни там): wget "http://admin:pass@ip:port/admin.cgi?updatemetadata="ваша_надпись"[/quote]
Супер!
Дополнительные вопросы:
1. Что есть такое "крон"
2. http... вот на него уже с XML и подкладывать файлы?
8
GPK
@GPK
31.05.2009
Icecast или SHOUTcast отправляет метаданные клиентам вместе с потоком аудио определенным образом (синхорнно), а получает их параллельно, то есть асинхронно. через /admin.cgi?updatemetadata...
то есть, имхо, нужно периодически парсить xml и отправлять запрос обновления данных скрипту admin.cgi
периодичность парсинга обеспечивает служба запуска приложений по расписанию - крон.
9
Smolko
@Smolko
31.05.2009
Так, ну уже почти, почти становится ясно. Крон под винду скачан - проблем нет. Wget также скачан и поставлен. Тоже все ясно. Вот только цепочка так и не ясна. Верно ли я понимаю, что:
Wget должен опрашивать XML и посылать нужные данные скрипту admin.cgi, который, в свою очередь, проапдейтит метаданные на SHOUTcast, а тот уже упакует их в поток?
Что же тогда такое ентот адский скрипт admin.cgi?
8
GPK
@GPK
01.06.2009
не, наверное, неправильно.
Wget - прога под линух, как и крон
в винде есть "планировщик заданий" и експлорер.
admin.cgi расположен там, где работает шоуткаст
например, если радиостанция вещает на
**********
/, то этот путь будет:
**********
Откройте свое радио в плеере и, вызвав в браузере тот путь, проследите за изменением отображаемых плеером данных, а вообще, в документации все описано, я, правда, не сильно ее читал, поэтому погу что-то недоговаривать, и где-то ошибаться.
есть хорошая статья "Протоколы сетевых радиостанций" - в которой в сжвтом виде все объяснено -)
5. Затем источник начинает отправлять mp3-поток.
C. Передача названия (песни) от источника серверу
Сервер получает название песни и URL страницы когда источник делает
вызов URL.
**********
:portnumber/admin.cgi?pass=Server%20Password&mode=updinfo&song=Song%20Goes%20here&url=http://someurl.com
Показать текст
Когда источник делает этот вызов, название песни в клиенте, который
подерживает Shoutcast-стиль передачи названий, изменяется. Это
взаимодействие всегда совершается через публичный порт (по умолчанию
8000), ни в коем случае не через служебный, так как он используется
строго для передачи потока серверу.
**********
8
GPK
@GPK
04.06.2009
Вот такой бред выходит и не могу понять, почему:
в скрипте написано:
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
Вставляю в браузер строку из этого варнинга и -
**********
- и только тогда название обновляется.
причем, если зайти в "командню строку" винды и выполнить сначала телнет на 9009 порт, а потом запрос
GET /admin.cgi?pass=p090909&mode=updinfo&song=whatever HTTP/1.1
(или 1.0), оно выведет тоже 404.
даже курлом пытался отправить - не получается. Что я не так делаю?
8
GPK
@GPK
04.06.2009
Оказалось, нужно было заголовок
User-Agent: Mozilla
вставить =|