ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
7   •   Посмотреть все темы

Sam -> IceCast -> ShoutCast связка

 

12
QwiBeck @QwiBeck
Поднял и успешно воплотил в жизнь радио на IceCast сервере, где nonstop и диджеи подключались через Sam'а.
Но возникло 1 маленькое затруднение:
Скрипт IceCast для работы диджеев выглядит вот так:
Показать текст

Его задача - подключить слушателя на "/listen.mp3" и далее, сброс на "/nonstop" и возврат на любой "/dj№", если подключается DJ.
Сам скрипт работает, но незадача в том, что если на канале слишком много пользователей при смене ведущего пользователи всей толпой линкуются в другую точку. Задержка такого линкования от 3 до 25 секунд или полный обрыв соединения слушателя (рандомно).

Посидел я и подумал, а что если поднять сервер SHOUTcast, заставить его одного скакать по точкам, а пользователи приспокойненько будут сидеть и слушать на одном линке с него?

Подкажите, как реализовать config в SOUTcast, чтобы он слушал ICEcast?

localhost
порт ICE: 8000
конект к /listen.mp3

0
468
Klef @Klef
во первых это не скрипт а конфиг айскаста =)
во вторых, зачем столько маунтов, вы не доверяете своим диджеям?

ну а по теме, айскаст корректно работает с перебросом пользователей. что за ось, версия айскаста, что за камень и память

Отредактировано Klef - 16.05.2011
0
12
QwiBeck @QwiBeck
Klef пишет:

ну а по теме, айскаст корректно работает с перебросом пользователей? что за ось, версия айскаста, что за камень и память

Вполне корректно.
Проблема наблюдалась на на *nix так и на Win.
Сервер стоит на VDS 512 памяти и ~1,5 камень.

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

0
468
Klef @Klef
там не вопрос, хотел запятую :)
просто у мну спокойно перелетают нужные количества (пик на 1200 был с копейками) между маунтами.

по поводу отображения DJ рекомендую использовать следующий способ:
каждый RJ в названии станции в конце добавляет строку :: RJ Mr.Handy

  1. $title="HZ";
  2. $track="HZ";
  3. $ano="HZ";
  4. $fname1='http://ip:port/mount.xspf';
  5. $xml = simplexml_load_file($fname1);
  6. $ano=$xml->trackList->track->annotation;
  7. $track=$xml->trackList->track->title;
  8. if (strlen($ano)<40)
  9. {
  10. $xml = simplexml_load_file($fname2);
  11. $track=$xml->trackList->track->title;
  12. $ano=$xml->trackList->track->annotation;
  13. $prz=1;
  14. if (strlen($ano)<40) {$prz=2;}
  15. }
  16. $mass=explode("\n", $ano);
  17. if ($prz==0) {
  18. $title=substr($mass[0], 14,strpos($mass[0],"::")-15);
  19. }

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.