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

Переключение на резервный поток при ретрансе

 

63
Андрей @rw6hrm
...долго искал, но то ли никто не сталкивался, то ли с глазками у меня плохо... ;)

Задача следующая. Стоит на неком айпишнике релей на айскасте под Мандривой и на него все ломятся. Сигнал на релей подается из другого расположения по двум каналам - основному и резервному, на случай если первый канал ляжет (от студии до релея три коммутатора без резервного питания, резервный канал - АДСЛ). Софт на релее должен пинговать основной канал и, при его падении, через минуту молчания, килять основной конфиг релея и запускать резервный. Тем временем софт должен продолжать пинговать основной канал и, при его подъеме, через минуту килять резервный процесс и запускать основной...

В скриптах по линух я не силен, мож кто сталкивался с такой задачей? Пасиб заранее.

6245
Тарас @tarasian666
задача не совсем ясна
зачем проверять пингом если можно в настройках icecast настроить fallback ?

63
Андрей @rw6hrm
нет.., fallback это не то. Это просто переключение на другой поток на этом же сервере, а не на другой сервер. Т.е. на релее должно быть что-то типа fallback-server в директории relay..., но этот вариант там не описывается.

Отредактировано rw6hrm - 06.10.2010
243
Владислав @VladokZzz
rw6hrm пишет:

нет.., fallback это не то. Это просто переключение на другой поток на этом же сервере, а не на другой сервер. Т.е. на релее должно быть что-то типа fallback-server в директории relay..., но этот вариант там не описывается.

Дык подними релай с другого сервака на этом серваке и по падению потока с маунта fallback на релай

63
Андрей @rw6hrm
сейчас попробовал сделать <fallback-mount> , смонтировав оба потока (основной и резервный) на релее... При падении основного потока слушатель на резерв переключается (не без косяков, однако). Взад - никак. Остается покурить маны в части тегов <master> (для версии 2.3.2), чтоб запускать в релей оба потока в одну <mount-point>...

Отредактировано rw6hrm - 10.10.2010
6245
Тарас @tarasian666
fallback-override 1

63
Андрей @rw6hrm
дак этта... стоит единичка, если первичный пересброс происходит, то возврата на основной маунтпойнт нет (смотрю по активности каналов, бо релей стоит в километре от меня). Дабы было более предметное обсуждение, выкладываю установленный конфиг:

<relay>
<server>172.17.16.34</server>
<port>8000</port>
<mount>/r26mp3</mount>
<local-mount>/r26mp3</local-mount>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<relay>
<server>172.17.16.34</server>
<port>8000</port>
<mount>/r26aac</mount>
<local-mount>/r26aac</local-mount>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<relay>
<server>217.19.98.29</server>
<port>8000</port>
<mount>/r26mp3</mount>
<local-mount>/r26mp3s</local-mount>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<relay>
<server>217.19.98.29</server>
<port>8000</port>
<mount>/r26aac</mount>
<local-mount>/r26aacs</local-mount>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<mount>
<mount-name>/r26mp3</mount-name>
<fallback-mount>/r26mp3s</fallback-mount>
<fallback-override>1</fallback-override>
</mount>
<mount>
<mount-name>/r26aac</mount-name>
<fallback-mount>/r26aacs</fallback-mount>
<fallback-override>1</fallback-override>
</mount>

Т.е. 172 сеть - основной поток, 217 сеть - резервный поток, и все названия локальных маунтов на нем имеют в конце буковку "s".

Отредактировано rw6hrm - 10.10.2010
63
Андрей @rw6hrm
Отписываюсь о результатах. Скрипт рабочий, но... Тут вся шняга завязалась вокруг путей, по которым пакеты приходят на релей. Путь через локалку ессно короче, нежели через внешнего прова (у меня трасерт получился аж через столичную). В результате пакеты через локалку приходят быстрее. Переключение с основного потока на резервный происходит вроде без проблем, а вот назад... Получается сбой. И не каждый плейер может восстановить проигрывание, Фубар и Винамп вылетают с ошибкой.

Так что вариант использовать можно, но с оговорками. Можете и сами попробовать зайти на ********** с готовностью вылететь через пару секунд...

Отредактировано rw6hrm - 03.11.2010
6245
Тарас @tarasian666
rw6hrm пишет:

И не каждый плейер может восстановить проигрывание, Фубар и Винамп вылетают с ошибкой.

убедитесь что битрейт и частота дискретизации совпадают
rw6hrm пишет:

Так что вариант использовать можно, но с оговорками. Можете и сами попробовать зайти на ********** с готовностью вылететь через пару секунд...

сервер 217.19.98.29 уж ооооочеень медленный, тут не то что релей с него не послушаешь тут напрямую не работает

63
Андрей @rw6hrm
> убедитесь что битрейт и частота дискретизации совпадают
С одного сервака идут. Только разными путями

> ооооочеень медленный
ДСЛ, что с него взять. Хотя для запрашиваемых 64К имеющегося потока в 700К вполне достаточно. Знач это пров такой (Синтерра)

6245
Тарас @tarasian666
в дсл исходящая скорость максимум ~300К что очень редко достигается, в лучшем случае ~100К

63
Андрей @rw6hrm
Нашел косячину... если использовать поток мп3, то все переключения каналов (с основного на резерв и обратно) осуществляются практически без проблем. А вот с потоком ААС всё гораздо хуже, при переключениях плеер вылетает с ошибкой broken file :(, имейте это в виду.

6245
Тарас @tarasian666
да в aac+ другое кодирование, так сказать "не последовательное". Пробовал тупо скачать мп3 поток потом прослушать скачаный файл - получалось, а с aac+ говорило поврежденный файл