Адаптивное вещание быстро набирает популярность. На замену линейному телевидению приходят новые сервисы, которые не только подстраиваются под пропускную способность полосы вещания, но и получают обратную связь от пользователя, а также формируют и выводят таргетированную рекламу. Однако революция в вещании произошла именно с приходом стриминга, который подбирает максимально возможное качество из доступных. При этом, чтобы принимать такое вещание, не нужно иметь DVB-T2 антенну, проведённый в квартиру кабель или спутниковую тарелку на балконе: понадобится только любимый гаджет (смартфон, планшет, ноутбук или мультимедийная система в машине). Подобное вещание имеет небольшую буферизацию, чем гарантирует доставку контента, и даже может себе позволить временное пропадание пользователя из зоны доступа.
Именно благодаря последней характеристике все так любят адаптивное вещание. Пользователь привык, что контент идет непрерывно при любых обстоятельствах и в любом месте, где бы он ни находился: на кухне, в пути или на даче. Существует несколько форматов адаптивного вещания, например Smooth Streaming от Microsoft, HTTP Live Streaming от Apple, Dynamic Adaptive Streaming over HTTP от группы MPEG. Ко всем из них применяются похожие требования: контент на конечном устройстве должен проигрываться плавно, не зависать, быстро и незаметно переключаться между профилями. Но ключевое конкурентное преимущество — это высокое качество сервиса (Quality of Service, т. е. гарантированность доставки) и качество восприятия (Quality of Experience, т. е. красивая картинка даже при малом битрейте и чёткое аудио даже в глухой деревне).
Все форматы имеют стандарты. Они описывают как готовятся манифест (плейлист) и кусочки с контентом (далее — чанки), как они доставляются, как происходит смена альтернатив по качеству или битрейту (далее — профилей), какова должна быть глубина буфера, какой формат видео и аудио должен быть внутри чанков и т. д. Даже если видео полностью соответствует этим стандартам, необходимо убедиться, что оно прошло всю цепочку доставки без потерь, артефактов, зависаний, фризов, глитчей и рассыпания. Как это сделать? Здесь на помощь приходят гибкие софтовые решения для анализа видеопотока (лайв стриминга и файлов). В этой статье я расскажу особенности их использования и на что обратить внимание при выборе такого решения. Для примера возьмём формат HLS.
Функциональность
Первое, на что смотрят при валидации OTT-трафика — это общее состояние сервиса. Анализатор должен уметь проводить анализ доставки (QoS) и возможности декодирования (QoE) в режиме реального времени и автоматически формировать отчёты. Причем результаты должны быть в интуитивно понятном виде: это либо маркировка цветом, либо какой-то общий балл, либо статус наличия или отсутствия проблем с потоками. Для регулярного визуального мониторинга 24/7 привычен и удобен формат списка задач со статусами. Каждый статус или триггер (событие) должен иметь подробное описание, чтобы можно было понять общую картину произошедшего.
Live View (описание ошибки)
Каждый проект индивидуален, поэтому важно, чтобы анализатор имел гибкую настройку отслеживаемых ошибок. Где-то замирание картинки — это вполне рядовое явление, с которым приходится регулярно сталкиваться и его нужно игнорировать, где-то постоянно пропадает PID аудио и это особенности поставки данного контента. А где-то поток должен быть настолько чистым, что даже несколько потерянных TS пакетов — уже повод бить тревогу. В таких ситуациях пригодятся возможности вручную настраивать мониторинг определенных ошибок, указывать уровень важности ошибок и настраивать параметры уведомлений. Это необходимо, чтобы фильтровать информацию, которую получает оператор при работе с потоками. Функция также полезна при формировании отчётов, чтобы исключить ошибки, на которые можно не обращать внимания.
Уровни важности ошибок
Уведомления
Нанимать людей, чтобы они просто смотрели в монитор весь рабочий день —неэффективно. Инженер отвлекается на другие задачи и зачастую не может оперативно среагировать на проблему с потоком. Большинство современных анализаторов (включая тип Mosaic View) имеют систему рассылки уведомлений. Их можно гибко настраивать в зависимости от наличия общей системы мониторинга и режима работы отдела поддержки.
Подобные системы оповещения зачастую основаны на технологии SNMP ловушек или get-запросов, технологиях webhook (например, PagerDuty или DataMiner). Есть и классические методы, например уведомления на e-mail. Также набирают популярность push-уведомления на телефон и сообщения в мессенджер. Удобно, когда поддерживается несколько типов уведомлений: вы можете выбрать наиболее подходящий вам.
Уведомления в Телеграм — очень удобно
Интуитивный интерфейс
Важно, чтобы софт был интуитивно понятным и дружелюбным к пользователю любого уровня подготовки. Здорово, когда в интерфейсе есть подсказки: они позволяют быстрее освоиться с инструментом, чем многостраничный мануал по всевозможным кейсам.
Инструменты для глубокого анализа видео
Для большинства задач на верхнем уровне достаточно лишь описания проблемы, оперативного уведомления и передачи её в работу (заведение тикета или звонок). Но современные решения предлагают инструменты и для более глубокого анализа данных видео.
Диагностика и профилактика сервиса помогают избежать серьёзных аварий и локализовать скрытые неисправности сервиса. Чем больше информации даёт анализатор о потоках, тем больше инструментов имеет технический отдел, чтобы предотвратить появление ошибок. Например, детальная информация о потоке позволяет диагностировать проблемы с проигрыванием на устройствах (особенно если отсутствуют спецификации на них и требования к потокам).
Причин такой проблемы много:
– на вход пакетайзера (упаковщика в HLS) подан неподдерживаемый формат видео или аудио;
– кодер сам сформировал невалидный контент (например, подал интерлейсный поток вместо прогрессивного);
– перестал обновляться плейлист (но создает чанки);
– или добавились какие-то теги к существующему медиаплейлисту, что вызвало несовместимость с конечными устройствами.
Важно, чтобы анализатор отслеживал подобные изменения в режиме реального времени. Если оператор получает не только параметры потока, но и динамику их изменений, то он может сэкономить время на поиск причины ошибки.
Детализация параметров потока
Вставка рекламы
В большинстве случаев OTT-сервисы предполагают вставку рекламы. Корректность вставки необходимо регулярно мониторить. Подобный анализ предполагает не только фиксирование специальных меток, но и работу устройств, которые вставляют рекламу. Должен соблюдаться уровень громкости, должны отсутствовать чёрные кадры либо замёрзшая статичная картинка.
Вставка рекламы
Тип анализатора
Анализаторы могут быть программными и аппаратными. У каждого типа есть свои преимущества, но в последнее время приобретают популярность облачные сервисы. Они удобны тем, что не занимают места и их легко масштабировать. Железные решения по-прежнему сохраняют свои устойчивые позиции на рынке и работают по схеме «поставил и забыл», хотя зачастую их тяжело обновлять и поддерживать.
Скорость запуска, поддерживаемые операционные системы, разделение уровней доступов к проекту, самодиагностика, возможности группировать задачи и мониторить использование ресурсов системы — ключевые факторы при выборе программной системы валидации и анализа данных видео в ОТТ.
Дополнительные инструменты
Несмотря на многообразие функций любого решения, его бывает недостаточно. Случается так, что устройство отказывается принимать поток, хотя мониторинг не выявил каких-либо проблем. А иногда анализатор может зафиксировать ложные события. В таких случаях полезно держать под рукой один или несколько сторонних лайв анализаторов, либо записать поток, чтобы изучить локально сохранённые файлы (плейлисты и чанки). В таком случае возможность записи потока играет немаловажную роль.
Иногда необходимо проверять соответствие картинки между профилями (frame alignment), а также анализировать структуру GOP в чанке. Например, в случае HLS-трафика крайне важно, чтобы каждый кусочек отдельного профиля начинался с опорного кадра, с которого можно начать декодировать поток. Кроме того, картинка между профилями должна быть одинаковая — это позволит бесшовно переключиться между ними, если изменится пропускная способность сети.
Анализ профилей
Заключение
Технологии не стоят на месте. ТВ сервисы стремятся улучшить своё качество, стабильность и совместимость со всеми конечными устройствами, средами распространения контента и взаимодействия с ними (CDN и middleware). Всё новые и новые игроки на рынке заставляют действовать наперёд и не позволяют ждать, когда проблема произойдет. Даже самые простые и редкие ошибки могут сильно повлиять на репутацию, ведь благодаря социальным сетям «сарафанное радио» быстро разнесёт неудачи вендора и оператора.
Всем желаю шагать в ногу со временем и при этом быть на шаг впереди любой потенциальной проблемы — вместе с инструментами для их предупреждения и своевременной локализации.
Для создания иллюстраций мы использовали продукты для анализа видеопотока Elecard Boro и Elecard StreamEye Studio.
Автор: Сутурихин Виталий, руководитель отдела интеграции и сопровождения Elecard
0 комментариев