Project

General

Profile

Резервирование маунтпоинта Icecast

Подробнее можно прочитать здесь http://icecast.org/docs/icecast-2.1.0/config-file.html#mountsettings

Инструкция актуальна для Icecast 2.3.1, в других версиях описание параметра <mount> может отличаться.

 

Сервер Icecast позволяет указывать резервную точку монтирования, в которую клиенты автоматически перемещаются, если основной источник отключился.

Когда основной источник возвращаются к точке монтирования, происходит автоматический бесшовный возврат в исходное состояние.

Для настройки этого механизма в конфигурационный файл icecast.xml добавляется следующее описание:

<mount>
    <mount-name>/test</mount-name>
    <username>source</username>
    <password>hackme</password>
    <max-listeners>1</max-listeners>
    <dump-file>/tmp/dump-example1.ogg</dump-file>
    <fallback-mount>/test_fallback</fallback-mount>
    <fallback-override>1</fallback-override>
    <burst-size>65536</burst-size>
</mount>

Маунт /test - основной, /test_fallback - резервный, используемый для подмены.

Основной Джинн играет в маунт /test, резервный Джинн в /test_fallback.

Если требуется выполнить какие-то работы с основным Джинном, перезагрузить ПК, выполнить обновление и т.д., в момент закрытия основного Джинна, происходит автоматическая подмена на сервере Icecast потока с резервного маунта /test_fallback, при этом сама точка монтирования /test не выпадает в ошибку 404 и не требует перезагрузки страницы.

После возобновления работы основного Джинна, автоматически выполняется возврат потоков в исходное состояние, без перезагрузки и ошибки на странице маунта /test.

Таким образом, можно организовать простой и бюджетный резерв интернет-вещания.

Есть важный момент.

Сами маунты появляются сразу же, как запустить Джинн. А звуковой сигнал в маунтах появится чуть позже, когда Джинн полностью загрузится и начнется воспроизведение.
В итоге эта тишина из нескольких секунд попадает в эфир, так как программа запущена, энкодинг основного маунта возобновился.

Следовательно, айскаст перестаёт на точку /test подсовывать данные из /test_fallback, начинает отдавать туда основные данные, в которых тишина, пока Джинн не пришёл "в сознание" после запуска.

Эту проблему можно решить. В разделе "ASIO-устройства" обязательно выставляем "Автозагрузка" и не ставим "Автостарт".

При такой настройке сначала полностью запустится Джинн, а уже затем начнется воспроизведение в основой маунт /test, тишины в эфире не будет.

Но из-за какого-то внутреннего механизма работы сервера Icecast, в момент возвращения основного источника в маунт /test, наш резервный маунт /test_fallback выпадает в ошибку 404 и приходится перезагружать его персональную страницу.

Это не является проблемой, так как сами данные на него идут стабильно, а резервный маунт /test_fallback никуда не играет и используется исключительно как точка подмены основного маунта.

Для нас важно что маунт /test не выпадает в ошибку 404 и перезагрузка его персональной страницы не требуется.

Add picture from clipboard (Maximum size: 742 MB)