Найти тему
Video compression guru

Найти причину пропадания потока: разбираем по шагам на реальном примере

Дано: оператор получает контент по HLS, транскодирует его для подъема на спутник и вещает в несколько удаленных регионов для дальнейшей ретрансляции по кабелю конечным пользователям.

Схема системы
Схема системы

При тестировании оборудования на головной станции возникла проблема: пропадает поток на выходе транскодера. Когда инженеры испробовали всевозможные настройки транскодера, было решено воспользоваться системой мониторинга, чтобы обнаружить причину неисправности.

Единственное, в чем инженеры были уверены, — входной HLS поток. Он нарезался территориально достаточно близко, в одном городе. Стандартный тест скорости соединения выдавал результат около 700 Мбит/секунду: этого более чем достаточно для пары HLS потоков.

Зарегистрировали проект на облачном сервере Elecard Boro — на это требуется пара минут, скачали зонд и запустили несколько задач: входной многопрофильный HLS и выходной UDP.

Система мониторинга начала непрерывно сообщать о проблемах со скоростью скачивания всех профилей для большинства тестируемых каналов.

Параметры потоков в системе мониторинга
Параметры потоков в системе мониторинга

Скорость скачивания была меньше битрейта потока. Скачивание 10-секундного сегмента занимает 13–18 секунд в зависимости от профиля.

Ошибки наблюдались для большинства потоков, но не для всех. Ресурс, предоставляющий контент был общим для всех потоков.

В плеере в офисе потоки воспроизводились без малейшей задержки, поэтому оператор не переставал верить в качество входящих потоков, несмотря на отчеты Boro. Установили на машину с плеером еще один зонд, импортировали конфигурацию, и, действительно, увидели отличное качество QoS для всех HLS потоков.

Продолжаем проверку. На вкладке Table view мы отсортировали потоки по сервисам и увидели, что адреса источников для зондов отличаются. Причина неисправности найдена. DNS сервера разрешают доменное имя по-разному в зависимости от региона и направляют на различные CDN.

Скриншот: разные источники у потоков
Скриншот: разные источники у потоков

На кодирующем сервере заменили доменное имя на IP CDN, с которого происходит скачивание с высокой скоростью. Как результат — чистый сигнал как на входе, так и на выходе транскодера.

Результаты мониторинга
Результаты мониторинга

Для анализа мы использовали систему мониторинга Elecard Boro — программное решение для контроля качества UDP, RTP, HTTP и HLS вещания и отслеживания QoS и QoE параметров в распределенной сети с централизованным доступом к статистике и генерацией регулярных отчетов.