1

Тема: Icecast 2.3.2 и HTTP Redirect (302)

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

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

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

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

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

2

Re: Icecast 2.3.2 и HTTP Redirect (302)

пишет Kompik:

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

fallback

В здоровом теле - здоровый дух!

3

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

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

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

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

4

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

В здоровом теле - здоровый дух!

5

Re: Icecast 2.3.2 и HTTP Redirect (302)

Ок.

Вводные данные.
Есть адрес потока: http://listen.radionomy.com/allegro-lounge

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

<relay>
 <server>listen.radionomy.com</server>
 <port>80</port>
 <mount>/allegro-lounge</mount>
 <local-mount>/Allegro.Lounge</local-mount>
 <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
 <on-demand>1</on-demand>
</relay>

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

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

6

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

В здоровом теле - здоровый дух!

7

Re: Icecast 2.3.2 и HTTP Redirect (302)

Сейчас так и делаю..
но эти адреса имеют тенденцию меняться... При этом входной url (http://listen.radionomy.com/allegro-lounge) остается неизменным
И если бы научить icecast понимать эти редиректы, то жизнь бы упростилась ...

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

8

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

В здоровом теле - здоровый дух!

9

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

10

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

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

пишет KyPIIaToB:

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

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

или я не прав?

11

Re: Icecast 2.3.2 и HTTP Redirect (302)

йлу хлпсф зенюенв NGINX диг меневднезвтсс кв нвдслмлолхс.

upstream radioservers {
    ip_hash;
        server radioserver.no1:8080/128kbps.mp3;
        server radioserver.no2:8080/128kbps.mp3;
        server radioserver.no3:8080/128kbps.mp3;
        fair; # eto tipa balansirovki megdu dannimi potokami
        }

server { 
        listen 80; 
        server_name radioserver.main; 

        location / { 
            proxy_buffering           off; 
            proxy_ignore_client_abort off; 
            proxy_intercept_errors    on; 
            proxy_next_upstream       error timeout invalid_header; 
            proxy_redirect            off; 
            proxy_set_header          X-Host $http_host; 
            proxy_set_header          X-Forwarded-For $remote_addr;
            proxy_set_header          Icy-MetaData 1; # SPECIALNO DLYA RADIOSERVERA
            #proxy_set_header         User-agent WinampMPEG/5.57;
            proxy_connect_timeout     60; 
            proxy_send_timeout        21600; 
            proxy_read_timeout        21600; 

            proxy_pass http://radioservers; 
        } 
    }

МНС ОВХЛЙ НВЗХИВДЕ МЛОЛХ ЙЛРКЛ ЗИЪЩВОЫ ХВХ-ЧЪДОЛ КВ МЛНОЪ 80 АЕНЕЖ http://radioserver.main В ХЛКПСФ З 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 15:40:46)

12

Re: Icecast 2.3.2 и HTTP Redirect (302)

A YESLI SDELAT TAK

upstream radioservers {
    ip_hash;
        server radioserver.no1:8080;
        server radioserver.no2:8080;
        server radioserver.no3:8080;
        fair; # eto tipa balansirovki megdu dannimi potokami
        }

server { 
        listen 80; 
        server_name radioserver.main; 

        location / { 
            proxy_buffering           off; 
            proxy_ignore_client_abort off; 
            proxy_intercept_errors    on; 
            proxy_next_upstream       error timeout invalid_header; 
            proxy_redirect            off; 
            proxy_set_header          X-Host $http_host; 
            proxy_set_header          X-Forwarded-For $remote_addr;
            proxy_set_header          Icy-MetaData 1; # SPECIALNO DLYA RADIOSERVERA
            #proxy_set_header         User-agent WinampMPEG/5.57;
            proxy_connect_timeout     60; 
            proxy_send_timeout        21600; 
            proxy_read_timeout        21600; 

            proxy_pass http://radioservers; 
        } 
    }

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

13

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

Отредактировано ElectroNik (31-05-2011 10:02:24)

14

Re: Icecast 2.3.2 и HTTP Redirect (302)

динамик dns

В здоровом теле - здоровый дух!

15

Re: Icecast 2.3.2 и HTTP Redirect (302)

пишет KyPIIaToB:

динамик dns

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

16

Re: Icecast 2.3.2 и HTTP Redirect (302)

пишет ElectroNik:

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

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

В здоровом теле - здоровый дух!

17

Re: Icecast 2.3.2 и HTTP Redirect (302)

пишет ElectroNik:

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

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

18

Re: Icecast 2.3.2 и HTTP Redirect (302)

пишет MechanisM:

пишет ElectroNik:

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

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

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

19

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

20

Re: Icecast 2.3.2 и HTTP Redirect (302)

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

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

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

Радио P.S.: 24/7 музыка, новости мира покера, книги по стратегии игры и интервью с успешными игроками.
Технически: AirTime, LiquidSoap, IceCast2. Слушать: mp3 128 kbps, ogg 128 kbps

21

Re: Icecast 2.3.2 и HTTP Redirect (302)

tut nemnogo o drugom rech idet. ne o geograficheskoj balansirovke a o balansirovke tipa mezhdu polnimi i ne polnimi serverami.
po suti nginx proveryaet otvechaet server ili net. i esli otvechaet to podkluchaet k nemu a esli net to probuet sleduushij server.

Отредактировано MechanisM (10-07-2011 20:36:14)