«Если картинка зависнет, спикер из Кремниевой долины обидится, а зрители уйдут к конкурентам», — с такой установкой к нам пришёл организатор крупнейшего в стране IT-форума. Цель — одновременная трансляция в YouTube и RuTube в 4K 60 fps, плюс локальный LED-экран в фойе. Главное условие — отказоустойчивость на уровне телестудии.
1. Два независимых канала вместо одного “жирного”
На сцене установили четыре PTZ-камеры с выходом 12-G-SDI. Основной тракт кодировался в H.265 через аппаратную карту, резервный шёл по NDI-HX поверх отдельного провайдера L2. Переключение RTMP↔NDI настроили в OBS Failover Plugin: зритель видел лишь двухсекундный буфер, если падал uplink.
2. Инфраструктура в облаке и на площадке
Основной энкодер отправлял поток в Wowza Streaming Engine, развёрнутый в VK Cloud. Кластер устроен по Active-Standby: при Growth-триггере 80 % CPU Terraform поднимал новый узел, а Nginx-балансировщик распределял зрителей. Локальный transcoder в ЦОДе держал 1080p для LED-экрана и резервировал 720p HLS «на всякий пожарный».
3. CDN-каскад внутри РФ
Чтобы зрители из Сибири и Юга не ловили фризы, настроили каскад из пяти PoP на базе RuCDN. TTL контента — 3 с, максимальное отклонение буфера — 800 мс. Трафик остался в стране, и организатор избежал зарубежных квот.
4. Мониторинг и алерты
Zabbix снимал FPS, битрейт и RTT с основного и резервного тракта. Trapper-процессы вносили метрики в InfluxDB, а Grafana собирала дашборд live-NOC. При падении FPS ниже 50 плагин Telegram отправлял алерт инженеру на площадке; среднее время реакции составило 40 с.
5. Итоги прямого эфира
Пиковая аудитория — 48 732 одновременных зрителя. Буферизация — 0,3 %, дропы каналов длиннее трёх секунд — 0. Ошибки HTTP 4xx/5xx на границе CDN — 56 за четыре часа, что уложилось в SLA 99,95 %. Аптайм локального LED-экрана — 100 %.
6. Главные выводы
Отказоустойчивость — это не избыточное железо, а продуманный сценарий переключения и постоянный мониторинг. Дублируйте все критичные узлы, держите каналы на разных провайдерах и тренируйте Failover до мероприятия, а не во время. Тогда любой спикер увидит себя в эфире, а зритель получит безупречный стрим.