Резервирование входов¶
Головная станция обязана оставаться в эфире, когда источник умер. Для этого стриму дают несколько входов: станция ведёт эфир с самого приоритетного живого, приглядывает за остальными и возвращается на основной, когда тот оживает.
Типовая пара на станции — спутниковый приём как основной вход и мультикаст от партнёра как резервный; либо две группы от двух головных станций.
Задайте несколько входов¶
На вкладке Источники добавьте второй вход кнопкой + Добавить источник.
- Порядок списка — это приоритет: чем выше вход, тем он важнее; порядок меняется стрелками Вверх и Вниз. Поле Приоритет в настройках входа перекрывает порядок списка — меньшее число важнее.
- Задайте «Интервал перепроверки резерва (с)» в блоке Таймауты входов. Пока резерв не в эфире, станция будет периодически его пробовать, и в списке он покажется как Готов — проверенный, но не активный. Без перепроверки исправность резерва остаётся вопросом веры до самого отказа, а это ровно тот момент, когда узнавать поздно;
0перепроверку отключает.
Состояния входа в списке: Работает, Готов, Запускается, Деградировал, Мёртв, Не проверялся.
Правила отказа и деградации¶
У каждого входа есть плашка Настройки источника; пустые поля наследуют общие правила стрима из блока Таймауты входов. Так пороги задаются один раз на стрим и переопределяются точечно, а свёрнутая плашка показывает чипами, что именно задано.
Поля собраны в три группы — по тому, что станция делает при нарушении.
- Когда источник мёртв — жёсткие отказы, переключение немедленно: Таймаут источника (с) (нет вообще никаких кадров), Таймаут видео (нет видео), Макс. битрейт (битрейт выше потолка — защита от мусора на входе).
- Когда источник деградировал — мягкие отказы, переключение только если есть источник лучше: Таймаут аудио (пропал звук при живом видео), Мин. битрейт (Кбит) (битрейт ниже пола), Лимит CC-ошибок (нарушения непрерывности MPEG-TS за чистое окно; поле есть только у транспортных протоколов — UDP, HTTP MPEGTS, SRT, RIST).
- Возврат и повторы — Чистое окно (с), Макс. таймаут повтора и Приоритет.
Деградация — это про качество сигнала, и уходить с деградировавшего входа на мёртвый бессмысленно. Поэтому мягкое правило не роняет эфир, а лишь понижает вход в очереди. Причину, по которой вход помечен, станция называет прямо: «CC-ошибок больше лимита», «Битрейт ниже пола», «Нет аудио», «Нет кадров».
Чистое окно¶
Чистое окно — длина промежутка без единого нарушения. Вход считается рабочим тогда и только тогда, когда последние столько-то секунд он не нарушал ни одного правила, и то же окно требуется от ожившего входа, чтобы вернуть его в эфир.
Это защита от маятника: источник, который поднимается на десять секунд и снова падает, эфир больше не дёргает. Обратная сторона честна и предсказуема — возврат на основной всегда отложен на длину окна.
Что происходит в момент переключения¶
- Вход становится активным только по готовности. Он обязан отдать параметры потока и первый ключевой кадр; до этого в эфир продолжает идти текущий. Именно поэтому переключение не даёт чёрного экрана.
- Стык не бесшовный. Ключевой кадр нового входа — точка склейки, и приёмник её увидит: кадр может повториться или пропасть. Ожидать hitless-переключения уровня ST 2022-7 от этого механизма не нужно.
- Расхождение параметров видно заранее. Станция сравнивает параметры входов и показывает расхождение до аварии — резерв с другим разрешением или другим набором дорожек будет заметен не в момент переключения, а раньше.
- Упавший вход переподключается с нарастающей паузой, а когда исчерпаны все входы, ротация начинается с первого.
Заставка¶
Блок Заставка при потере источников даёт стриму последний рубеж: в поле Файл заставки на стримере указывается путь к заготовленному файлу, а Таймаут (с) решает, через сколько секунд после падения последнего входа он включится.
Для головной станции это не косметика: пустой мультикаст на выходе заставляет приёмники и модуляторы вести себя непредсказуемо, а сигнал с заставкой остаётся сигналом.
Файл должен лежать по этому пути на каждой машине, куда стрим может переехать: заставку играет та машина, на которой стрим работает сейчас.
Что смотреть при разборе¶
По стриму видно, сколько секунд он прожил на основном входе и сколько на резервных, сколько было без данных, сколько случилось переключений и ретраев. Растущая доля времени на резерве означает, что основной вход систематически плох, даже если эфир при этом не прерывался ни разу.
Разбор ошибок по причинам — на странице Ошибки входа.
Если резерв ведёт себя не так¶
- Эфир скачет между входами. Увеличьте чистое окно: вход будет дольше доказывать, что здоров.
- Резерв в состоянии «Не проверялся». Не задан интервал перепроверки — станция к нему не ходит.
- Переключение кажется медленным. Уменьшите таймаут источника. Слишком малый порог даёт ложные срабатывания на любой сетевой заминке.
- Вернуться на основной не получается. Основной либо ещё не ожил, либо не может отработать чистое окно — то есть на самом деле нездоров.