ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
7   •   Посмотреть все темы

Icecast 2.3.2 и HTTP Redirect (302)

 

19
Kompik @Kompik
В фичах icecast`a заявленно
Relays handle redirection (HTTP 302) if one is received at startup.

Как я понимаю, при релеенги других радиостанций ice cast в случае обнаружение HTTP Redirect`a должен переходить по указанному адресу.

Складывается ощущение что он нифига по этим адресам не переходит.

Вопрос: Надо что-то где-то включать? Или я что-то не понимаю? В доке по этому поводу ничего не указанно.

Вопрос 2: Можно ли каким-то образом для одного local-mountpoint указать несколько источников, что бы в случае недоступности одного, поток брался с другого ?

0
1572
KyPIIaToB @KyPIIaToB
Kompik пишет:

Вопрос 2: Можно ли каким-то образом для одного local-mountpoint указать несколько источников, что бы в случае недоступности одного, поток брался с другого ?

fallback

0
19
Kompik @Kompik
Не, не совсем ...В случае с fallback я должен знать адрес запасного сервера

А здесь ситуация когда радио выдает адрес типа listen.radio.ru/listen128

А при обращении по адресу, сервер отдает 302 Found с новым урлом по которому реально идет трансляция.

Как я понимаю IceCast должен уметь переходить по такого рода перенаправлениям...
или я что-то не понимаю?

0
1572
KyPIIaToB @KyPIIaToB
выложи проблемный конфиг

0
19
Kompik @Kompik
Ок.

Вводные данные.
Есть адрес потока: **********

В конфиге секция relay выглядит таким образом:

  1. <relay>
  2. <server>listen.radionomy.com</server>
  3. <port>80</port>
  4. <mount>/allegro-lounge</mount>
  5. <local-mount>/Allegro.Lounge</local-mount>
  6. <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
  7. <on-demand>1</on-demand>
  8. </relay>

В этом случае ничего не работает, так как при обращении по адресу listen.radionomy.com/allegro-lounge происходир редирект на совершенно другой адрес.
И вот если его уже прописать в конфиг icecast`a, то все ок.

Но хотелось бы чтобы все это было автоматически.

0
1572
KyPIIaToB @KyPIIaToB
Ну дак ты пропиши этот адрес с которым все ок.

0
19
Kompik @Kompik
Сейчас так и делаю..
но эти адреса имеют тенденцию меняться... При этом входной url (**********) остается неизменным
И если бы научить icecast понимать эти редиректы, то жизнь бы упростилась ...

А то поди, пойми когда адрес сменится ...

0
1572
KyPIIaToB @KyPIIaToB
Ну возможно у них просто распределение нагрузки идет. К примеру у меня на радио раньше было такое, при обращении к потоку, кидает на один из двух трансляторов.

0
114
lex46 @lex46
Пользуясь случаем задам вопрос:
Можно ли как-то сделать на фаллбэк поток такое: в случае отсутствия потока на 1-м источнике пробует брать поток со 2-го источника.

0
19
Kompik @Kompik
Можно.
Дисскусия про это в соседней теме. Называется IceCast и mount-name ...
**********

Добавлено спустя 1 минуту 7 секунд:
Добавлено спустя 59 секунд:
KyPIIaToB пишет:

Ну возможно у них просто распределение нагрузки идет. К примеру у меня на радио раньше было такое, при обращении к потоку, кидает на один из двух трансляторов.

Это понятно что идет распределение нагрузки ....
Я к тому что iceCast по видимому не умеет отрабатывать такие вещи.

или я не прав?

0
156
Eugene @MechanisM
йлу хлпсф зенюенв NGINX диг меневднезвтсс кв нвдслмлолхс.
  1. upstream radioservers {
  2. ip_hash;
  3. server radioserver.no1:8080/128kbps.mp3;
  4. server radioserver.no2:8080/128kbps.mp3;
  5. server radioserver.no3:8080/128kbps.mp3;
  6. fair; # eto tipa balansirovki megdu dannimi potokami
  7. }
  8. server {
  9. listen 80;
  10. server_name radioserver.main;
  11. location / {
  12. proxy_buffering off;
  13. proxy_ignore_client_abort off;
  14. proxy_intercept_errors on;
  15. proxy_next_upstream error timeout invalid_header;
  16. proxy_redirect off;
  17. proxy_set_header X-Host $http_host;
  18. proxy_set_header X-Forwarded-For $remote_addr;
  19. proxy_set_header Icy-MetaData 1; # SPECIALNO DLYA RADIOSERVERA
  20. #proxy_set_header User-agent WinampMPEG/5.57;
  21. proxy_connect_timeout 60;
  22. proxy_send_timeout 21600;
  23. proxy_read_timeout 21600;
  24. proxy_pass **********
  25. }
  26. }

МНС ОВХЛЙ НВЗХИВДЕ МЛОЛХ ЙЛРКЛ ЗИЪЩВОЫ ХВХ-ЧЪДОЛ КВ МЛНОЪ 80 АЕНЕЖ ********** В ХЛКПСФ З fair; МНЛХЗСО КВ ЗВЙЭУ ДЛЗОЪМКЭУ ЗЕНЮЕН СЖ ЧИЛХВ upstream.

Дмючайелм ъняъпз 1 куляпя 31 ъеиялдя:
chto za krokozyabri tut vodyatsya u vas na forume? nfpishu translitom togda. eto kusok konfiga nginx kotorij ya ispolzuu na 2-h krupnih stanciyah v UK & USA. dannij konfig balansiruet nagruzku mejdu neskolkimi radioserverami i takzhe pozvolyaet slushat potok kakbudto s porta 80.

Отредактировано MechanisM - 29.05.2011
0
156
Eugene @MechanisM
A YESLI SDELAT TAK
  1. upstream radioservers {
  2. ip_hash;
  3. server radioserver.no1:8080;
  4. server radioserver.no2:8080;
  5. server radioserver.no3:8080;
  6. fair; # eto tipa balansirovki megdu dannimi potokami
  7. }
  8. server {
  9. listen 80;
  10. server_name radioserver.main;
  11. location / {
  12. proxy_buffering off;
  13. proxy_ignore_client_abort off;
  14. proxy_intercept_errors on;
  15. proxy_next_upstream error timeout invalid_header;
  16. proxy_redirect off;
  17. proxy_set_header X-Host $http_host;
  18. proxy_set_header X-Forwarded-For $remote_addr;
  19. proxy_set_header Icy-MetaData 1; # SPECIALNO DLYA RADIOSERVERA
  20. #proxy_set_header User-agent WinampMPEG/5.57;
  21. proxy_connect_timeout 60;
  22. proxy_send_timeout 21600;
  23. proxy_read_timeout 21600;
  24. proxy_pass **********
  25. }
  26. }

TO MOUNTPOINTS MOJNO PODSTAVLYAT K radioserver.main NAPRIMER: radioserver.main/mount1 i radioserver.main/mount2 a nginx uje sam perenapravlyaet ves mejdu serverami.

0
221
Дмитрий @ElectroNik
Про распределение нагрузки можно по подробнее?
Как можно реализовать без nginx?

Отредактировано ElectroNik - 31.05.2011
0
1572
KyPIIaToB @KyPIIaToB
динамик dns

0
221
Дмитрий @ElectroNik
KyPIIaToB пишет:

динамик dns

Без сторонних сервисов возможно?

0
1572
KyPIIaToB @KyPIIaToB
ElectroNik пишет:

Без сторонних сервисов возможно?

Вот по этому поводу даже хз

0
156
Eugene @MechanisM
ElectroNik пишет:

ак можно реализовать без nginx?

медленный как корова apache может тоже =)

0
221
Дмитрий @ElectroNik
MechanisM пишет:

ElectroNik пишет:

ак можно реализовать без nginx?

медленный как корова apache может тоже =)

Где что прописывать надо, что бы подключающихся именно на по 8000 порту перекидывало?

0
156
Eugene @MechanisM
не знаю)) я апач уже забыл и вспоминать не хочу. если ты про него конечно. но есть у него прокси-модули которые способны такое проделать.

0
23
Сергей @SergikS
MechanisM, в таком виде это не совсем распределение нагрузки, т.к. канал жрется избыточно.
Получается, все слушатели подключены к одному серверу, где стоит прокси Энджин-Икс, а тот уже получает потоки от трех (в данном примере) апстримов.
Если и апстримы и nginx живут на одной площадке, или на быстрой шине - все ок. Но для слушателей выгоды ноль: что перец из Огайо, что из Новокузнецка, все будут тянуть поток с одного-единственного сервера, и кому-то точно будет далеко.

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

В общем, интересно знать, как работают рилеи ********** : )

0





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

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