Quality¶
media.source.quality
Правила отказа и деградации¶
У каждого входа есть плашка Настройки источника; пустые поля наследуют общие правила стрима из блока Таймауты входов. Так пороги задаются один раз на стрим и переопределяются точечно, а свёрнутая плашка показывает чипами, что именно задано.
Поля собраны в три группы — по тому, что станция делает при нарушении.
- Когда источник мёртв — жёсткие отказы, переключение немедленно: Таймаут источника (с) (нет вообще никаких кадров), Таймаут видео (нет видео), Макс. битрейт (битрейт выше потолка — защита от мусора на входе).
- Когда источник деградировал — мягкие отказы, переключение только если есть источник лучше: Таймаут аудио (пропал звук при живом видео), Мин. битрейт (битрейт ниже пола), Лимит CC-ошибок (нарушения непрерывности MPEG-TS за чистое окно; поле есть только у транспортных протоколов — UDP, HTTP MPEGTS, SRT, RIST).
- Возврат и приоритет — Чистое окно (с) и Приоритет.
Деградация — это про качество сигнала, и уходить с деградировавшего входа на мёртвый бессмысленно. Поэтому мягкое правило не роняет эфир, а лишь понижает вход в очереди. Причину, по которой вход помечен, станция называет прямо: «CC-ошибок больше лимита», «Битрейт ниже пола», «Нет аудио», «Нет кадров».
Чистое окно¶
Чистое окно (return_alive_secs, по умолчанию 15 секунд) — промежуток без нарушений правил. После нарушения качества вход должен выдержать это окно для восстановления рабочего состояния. Фоновая проба входа, к которому подключается Sapsan, выдерживает окно перед возвратом на приоритетный вход или переключением по качеству без свежего рабочего вердикта. Аварийное переключение после жёсткого отказа возможно на первой подходящей стартовой точке (ключевом кадре, аудиокадре или границе фрагмента) без ожидания окна.
Это защита от маятника: источник, который поднимается на десять секунд и снова падает, эфир больше не дёргает. Обратная сторона честна и предсказуема — возврат на основной вход, который открывает Sapsan, требует чистого окна. Для входящих публикаций действуют другие правила; см. управление источниками LSI.
Что смотреть при разборе¶
Подробную секцию input читайте на стримере, принимающем поток, через /streamer/api-v4/streams/stats/{name}; central эти подробные счётчики не возвращает. По стриму видно, сколько секунд он прожил на основном входе и сколько на резервных, сколько было без данных, сколько случилось переключений и ретраев. Растущая доля времени на резерве означает, что основной вход систематически плох, даже если эфир при этом не прерывался ни разу.
Разбор ошибок по причинам — на странице Ошибки входа.