Skip to content

Мультибитрейтный захват

Вход mbr объединяет несколько качеств одного сигнала в один стрим. Он сохраняет все дорожки первого источника, включая аудио; от остальных источников берёт только видео. Аудио дополнительных источников отбрасывается.

Настройка

streams:
  - name: cam1
    inputs:
    - mbr:
        inputs:
        - rtsp:
            url: rtsp://admin:password@10.0.0.5/stream0
        - rtsp:
            url: rtsp://admin:password@10.0.0.5/stream1
Параметр Описание
mbr.inputs Список дочерних входов. Каждый элемент имеет ту же структуру, что обычный вход стрима. Поставьте источник с нужным аудио первым.

Транспорт и кодеки

У MBR нет собственного транспорта: соединение задаётся в каждом дочернем входе. Поддерживаемые кодеки определяются этими входами и выбранным протоколом выдачи. MBR объединяет дорожки без перекодирования.

Выравнивание и LL-HLS

Для адаптивного переключения качества должны представлять один и тот же момент сигнала: нужны идеально согласованные таймстемпы и границы GOP с соответствующими ключевыми кадрами. Порядок источников задаёт состав входа; не используйте его как обещание порядка качеств в плейлисте.

Камеры обычно не дают такого выравнивания. Sapsan применяет сложные механизмы нормализации временных шкал и сегментации, чтобы компенсировать несовместимость мультибитрейтных потоков камер с современными протоколами, включая LL-HLS. Это не создаёт отсутствующие ключевые кадры и не гарантирует исправление любого несовместимого GOP. Проверяйте переключение и живую задержку на реальном сигнале.

Ошибки и применение изменений

Если хотя бы одна ветка не открылась, весь MBR-вход не запускается; уже открытые ветки закрываются. Если ветка завершилась или вернула ошибку во время работы, закрывается весь MBR-вход, а причина передаётся механизму входов LSI. Повторное подключение и переход на резервный вход выполняет LSI, отдельного цикла reconnect у MBR нет. Общий source_open_timeout ограничивает открытие всей лестницы.

Изменение mbr.inputs требует перезапуска входа и повторного открытия всех веток. Повторное применение неизменившегося конфига не перезапускает MBR.

Альтернатива: транскодер

Если источник один или нужно сформировать согласованные качества заново, используйте транскодер.

Что дальше