Открыть сервис

MPEG-DASH

MPEG-DASH (Dynamic Adaptive Streaming over HTTP) — это технология адаптивной потоковой передачи видео и аудио через протокол HTTP, стандартизированная Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC) в рамках стандарта ISO/IEC 23009-1. DASH позволяет непрерывно воспроизводить медиаконтент в реальном времени, автоматически подстраивая качество потока под текущую пропускную способность сети и вычислительные возможности устройства пользователя. В отличие от проприетарных решений, таких как HLS (Apple) или Smooth Streaming (Microsoft), DASH является открытым стандартом, не привязанным к конкретному вендору.

История и развитие

Технология адаптивной потоковой передачи начала активно развиваться в середине 2000-х годов, когда рост популярности онлайн-видео (YouTube, Netflix) потребовал решений для стабильной доставки контента при нестабильных интернет-соединениях. Первые коммерческие системы, такие как Adobe Flash Dynamic Streaming (2007) и Microsoft Smooth Streaming (2008), были закрытыми и требовали специализированного ПО.

В 2009 году группа компаний, включая Microsoft, Netflix, Qualcomm и Ericsson, предложила стандартизировать подход на базе HTTP. Работа была передана в подкомитет MPEG (Moving Picture Experts Group). В 2012 году стандарт ISO/IEC 23009-1 был официально опубликован. Ключевым преимуществом DASH стала его независимость от кодеков и контейнеров: он поддерживает H.264/AVC, H.265/HEVC, VP9, AV1, а также аудиокодеки AAC, MP3, Opus.

В 2014 году DASH был принят в качестве базовой технологии для гибридного телевидения (HbbTV 2.0) и интернет-телевидения (IPTV). В России технология активно используется крупными видеосервисами, такими как «Кинопоиск», «Иви» и «Okko», а также в системах цифрового телевидения (например, «Триколор ТВ»).

Архитектура и принцип работы

MPEG-DASH основан на принципе разделения медиафайла на множество небольших сегментов (обычно длительностью от 2 до 10 секунд), каждый из которых закодирован с разным битрейтом и разрешением. Клиентское устройство (плеер) получает манифест-файл (Media Presentation Description, MPD), в котором описаны все доступные варианты (представления) контента.

Основные компоненты

Процесс воспроизведения

  1. Плеер загружает MPD-файл с сервера.
  2. Анализирует доступные представления и выбирает начальное качество (обычно среднее).
  3. Загружает первый сегмент выбранного представления.
  4. Во время воспроизведения плеер непрерывно мониторит скорость загрузки и буфер.
  5. Если скорость падает, плеер переключается на представление с меньшим битрейтом (downswitch); если скорость растёт — на более высокое (upswitch).
  6. Переключение происходит бесшовно, так как сегменты синхронизированы по времени.

Классификация и виды

MPEG-DASH поддерживает несколько режимов работы, которые определяются структурой MPD:

По способу доставки сегментов различают:

Преимущества и недостатки

Преимущества

Недостатки

Применение

MPEG-DASH широко используется в следующих областях:

Сравнение с другими технологиями

ПараметрMPEG-DASHHLS (Apple)Smooth Streaming (Microsoft)RTMP (Adobe)
СтандартISO/IECПроприетарныйПроприетарныйПроприетарный
ПротоколHTTPHTTPHTTPRTMP (TCP)
КодекиЛюбыеH.264, H.265H.264, H.265H.264
Задержка3–10 с6–12 с3–8 с1–2 с
Поддержка DRMДаДаДаОграниченно
Популярность в РФВысокаяСредняяНизкаяУстаревшая

Интересные факты

Критика

Основные претензии к MPEG-DASH связаны с его сложностью внедрения по сравнению с HLS. HLS, будучи проприетарным стандартом Apple, имеет более простую архитектуру (один файл .m3u8 для манифеста) и лучше поддерживается на устройствах Apple (iOS, macOS). Кроме того, DASH требует более сложной логики на стороне клиента для выбора представлений, что может приводить к ошибкам на слабых устройствах. В ответ на это сообщество разработчиков создало библиотеку dash.js, которая упрощает интеграцию.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →