Стриминг
Транскодирование потоков в протоколы HLS и MPEG-DASH (CMAF для Low Latency)
Стриминговая платформа поддерживает приём потоков с вашего источника (PULL) или с выделенной вам точки публикации (PUSH) по протоколам: SRT и RTMP.
Входящий поток транскодируется для получения потоков в качествах ниже и раздаётся с адапативным битрейтом через CDN в протоколах HLS и MPEG-DASH (CMAF).
Для настройки передачи видео с помощью Low Latency MPEG-DASH обратитесь в техническую поддержку support@edgecenter.ru.
Задержка потока и её причины
Что это? Задержка потока — это временной интервал с момента захвата кадра до его отображения на экранах зрителей.
Традиционная задержка видеопотока составляет 30–40 с.
Почему возникает? Видеопоток в процессе доставки до конечного пользователя проходит несколько этапов:
-
Кодирование и упаковка: обработка контента для создания сегментов потока.
-
Передача: загрузка в CDN и доставка на устройство воспроизведения пользователя.
-
Плееры: загрузка сегментов и их буферизация.
Каждый этап преобразования видеопотока увеличивает время задержки видео, что может быть критично для определённых типов контента: спортивных мероприятий, новостных выпусков, мероприятий, связанных с киберспортом и интерактивом.
С помощью нашей Стриминговой платформы вы можете сократить время доставки потока, транскодировав его в форматы HLS или MPEG-DASH (CMAF для Low Latency вещания). Подробнее о каждом протоколе рассказываем ниже.
HLS
Что это? HLS (HTTP Live Streaming) — это адаптивный протокол на основе HTTP, который был разработан компанией Apple для потоковой передачи как записанного видео, так и видео в режиме реального времени.
Потоки в HLS формате кешируются на CDN-серверах и раздаются через CDN как статический контент. При использовании стриминговой платформы вместе с CDN видеопоток, передающийся через HLS протокол, доставляется от источника до конечного зрителя с задержкой до 8-10 секунд. Это быстрее, чем передача видео через спутник или IPTV.
Механизм работы. HLS разбивает поток на небольшие фрагменты (чанки в формате mpeg-ts), информация о которых хранится в специальном файле (манифесте в формате m3u8). Приложение, например браузер, запрашивает манифест и последовательно воспроизводит фрагменты, которые в нём содержатся. Далее оно воспроизводит все фрагменты и снова запрашивает манифест и, если в нём содержатся новые фрагменты, загружает и последовательно воспроизводит их.
Low Latency MPEG-DASH
Что это? MPEG-DASH (от MPEG и англ. Dynamic Adaptive Streaming over HTTP) — технология адаптивной потоковой передачи данных для доставки медиаконтента через Интернет по протоколу HTTP. Использование такого метода доставки видео сокращает задержку до 4–5 с.
CMAF (Common Media Application Format) — инструмент, позволяющий сократить размер чанков.
Low Latency MPEG-DASH — технология доставки видео с низкой задержкой за счет использования MPEG-DASH протокола и технологии CMAF.
Механизм работы. Как правило, при обычном способе доставки видео кодировщик отправляет сегмент на CDN после его полного создания. Как только CDN получает полный сегмент, он передаёт его плееру. При таком подходе задержка видео преимущественно зависит от длины сегментов. Например, если длина сегмента 7 с., при запросе и обработке первого сегмента плеер отображает пользователю кадр, который уже на 7 с. отстаёт от фактического времени.
При использовании CMAF-CTE LL-DASH-сегменты разбиваются на независимые друг от друга чанки — ещё более маленькие сегменты — по 2–4 с. Независимость чанков позволяет кодировщику не дожидаться окончания полной загрузки сегмента, а отправлять его на CDN и в плеер уже готовыми маленькими фрагментами.
Такой подход помогает исключить фактор продолжительности сегмента, ранее влияющий на задержку видео. Это означает, что для сегмента длиною 10 с. и сегмента длиною 2 с. задержка будет одинаковая.
Итоговая задержка между сервером отдачи контента и конечными зрителями составляет не более 4 секунд.
Чтобы использовать технологию Low Latency MPEG-DASH, необходимо, чтобы на всех этапах передачи видео присутствовала поддержка CMAF, поэтому рекомендуем использовать плеер, поддерживающий библиотеку dash.js.
Используйте свой плеер с поддержкой dash.js или воспользуйтесь плеером EdgeЦентр.
Важно. На iOS устройствах нет поддержки dash.js, поэтому для нашего плеера создаём резервный поток в HLS. Если вы используете другой плеер, удостоверьтесь, что выполнены определённые настройки для поддержки Low Latency MPEG-DASH на iOS-устройствах.