Twincast¶
Twincast - это сценарий отказоустойчивости, при котором один и тот же эфир одновременно принимается двумя независимыми трактами: основным и резервным. Это позволяет платформе контролировать оба канала доставки сигнала и использовать резервный тракт при деградации основного.
Как работает Twincast¶
В типовой конфигурации один источник подается сразу на два независимых ingest-тракта, после чего система сравнивает их состояние и использует рабочий поток.
flowchart LR
source["Source"] --> primary["Primary ingest"]
source --> backup["Backup ingest"]
primary --> origin["origin"]
backup --> origin
При нормальной работе основным считается primary тракт. Если на нем возникает ошибка, система может переключиться на backup, сохраняя непрерывность вещания.
При этом у Twincast есть важное ограничение: primary и backup принимают сигнал независимо друг от друга, поэтому таймстемпы кадров и GOP-структура видео между ними не синхронизированы. Из-за этого переключение между primary и backup получается менее стабильным, чем в сценариях, где оба тракта заранее согласованы по структуре потока.
Когда применять¶
Twincast особенно полезен в следующих сценариях:
- студийное вещание и критичные live-каналы;
- прием сигнала от важного внешнего источника;
- площадки, где простой даже на несколько секунд нежелателен;
- каналы, для которых требуется постоянный контроль качества основного и резервного входа.
Что дает этот сценарий¶
Преимущества Twincast:
- резервирование не только сервера, но и всего тракта приема;
- постоянное наблюдение за состоянием
primaryиbackup; - быстрое переключение на рабочий тракт;
- снижение риска прерывания эфира при частичном отказе оборудования или сигнала.
Ограничения и требования¶
Для корректной реализации Twincast нужно учитывать:
- наличие двух независимых трактов приема;
- корректную идентификацию основного и резервного сигнала;
- мониторинг качества и статуса обоих трактов;
- отсутствие синхронизации таймстемпов кадров и
GOP-структуры междуprimaryиbackup; - правила автоматического или ручного переключения между ними.