MPEG-DASH расшифровывается как динамическая адаптивная потоковая передача MPEG по протоколу HTTP. Это протокол потоковой передачи, который позволяет передавать видеоконтент через Интернет таким образом, чтобы он адаптировался к изменяющимся сетевым условиям зрителя. Это означает, что качество видео можно регулировать в режиме реального времени, в зависимости от доступной полосы пропускания зрителя и возможностей устройства.
Потоковая передача по протоколу HTTP
Доставка видеоконтента через Интернет началась в 1990-х годах, главной проблемой в то время была своевременная доставка и потребление больших объемов данных. Протокол RTP, разработанный для передачи потоковых данных, позволял доставлять пакеты с низкими накладными расходами. RTP хорошо работает в управляемых IP-сетях. Однако в настоящее время управляемые сети заменены сетями доставки контента (CDN), многие из которых не поддерживают потоковую передачу по протоколу RTP. Кроме того, пакеты RTP часто не пропускаются через брандмауэры. Наконец, потоковая передача по протоколу RTP требует, чтобы сервер управлял отдельным сеансом потоковой передачи для каждого клиента, что является ресурсоемким.
Потоковая передача по протоколу HTTP имеет несколько преимуществ. Во-первых, инфраструктура интернета удобна для эффективной поддержки HTTP. Например, CDN предоставляют локализованные пограничные кэши, которые сокращают трафик на большие расстояния. HTTP пропускается фаерволлами, и соответственно, трафик, который использует HTTP, пропускается между сетями без проблем.
Во-вторых, под HTTP в контексте дистрибуции заточено множество механизмов, например, сети доставки контента, распределяющие нагрузку с источника на сеть распределенных и установленных на высокоскоростных каналах серверов. Таким образом, любой контент, использующий HTTP, не нуждается в дополнительных усилиях по оптимизации инфраструктуры доставки при массовом использовании – там работают механизмы, созданные и повсеместно используемые для обычных веб-страниц.
Адаптивный стриминг
На рисунке 1 показан простой пример динамической адаптивной потоковой передачи по запросу. На этом рисунке мультимедийный контент состоит из видео- и аудиокомпонентов.

Источник видео кодируется с тремя различными альтернативными скоростями передачи данных: 5 Мбит, 2 Мбит и 500 килобит в секунду. Сопровождающий аудиоконтент доступен на двух языках: аудио 1 - это дублированная английская версия звуковой дорожки с альтернативами 128 Кбайт и 48 Кбит/с; в то время как аудио 2 - оригинальная французская версия.
Предположим, что устройство начинает потоковую передачу контента, запрашивая сегменты видеопотока в самом высоком доступном качестве (5 Мбит/с) и аудио на английском языке в 128 Кбит AAC. После потоковой передачи первых сегментов видео и аудио мониторинг пропускной способности сети понимает, что фактическая доступная пропускная способность ниже 5 Мбит/с. Итак, в следующей доступной точке переключения он переключает видео со скоростью 2 Мбит/с, транслируя следующие сегменты с дорожки среднего качества, продолжая при этом потоковую передачу 128-килобитного аудио AAC на английском языке (метка 2). Устройство продолжает отслеживать фактическую пропускную способность сети и понимает, что пропускная способность сети еще больше снизилась до значения ниже 2 Мбит/с. Следовательно, для поддержания непрерывного воспроизведения устройство дополнительно переключает потоки на видео со скоростью 500 Кбит/с и аудио со скоростью 48 Кбит/с (метка 3). Он продолжает воспроизводить контент с такой скоростью до тех пор, пока пропускная способность сети не увеличится, а затем переключает видео до 2 Мбайт (метка 4). Через некоторое время пользователь решает приостановить и перемотать назад. В этот момент устройство начинает потоковую передачу видео с дорожки trick-mode для воспроизведения видео в обратном порядке, при отключенном звуке (метка 5). В нужном месте пользователь нажимает, чтобы воспроизвести контент с оригинальным французским переводом аудио. На этом этапе устройство возобновляет потоковую передачу видео самого высокого качества (5 Мбит/с) и аудио со 128-килобитного французского аудио (метка 6).
Более продвинутые варианты использования могут включать переключение между просмотрами с нескольких камер, потоковую передачу мультимедийного контента в формате 3D, видеопотоки с субтитрами и титрами, динамическую вставку рекламы, прямую трансляцию с низкой задержкой, смешанную потоковую передачу и воспроизведение предварительно сохраненного контента и т.д.
Область применения MPEG-DASH
На рисунке 2 показан простой сценарий потоковой передачи между HTTP-сервером и клиентом DASH. На этом рисунке мультимедийный контент захватывается и сохраняется на HTTP-сервере и доставляется с использованием HTTP.

Контент расположен на сервере в двух частях:
- Media Presentation Description (MPD) – тоже, что manifest file в HLS;
- Фрагменты мультимедийных битовых потоков.
Чтобы воспроизвести контент, клиент DASH сначала получает MPD. MPD может быть доставлен с помощью HTTP, электронной почты, флэш-накопителя, широковещательной рассылки и т.п. Анализируя MPD, клиент DASH узнает о времени работы программы, доступности медиаконтента, типах носителей, разрешениях, минимальной и максимальной полосах пропускания, а также о существовании различных альтернативных кодированных мультимедийных компонентов и других параметрах.
Используя эту информацию, клиент DASH выбирает подходящий поток и начинает передачу контента, извлекая сегменты с помощью HTTP-запросов GET. После соответствующей буферизации, учитывающей изменения пропускной способности сети, клиент продолжает выборку последующих сегментов. В зависимости от своих измерений клиент решает, как адаптироваться к доступной полосе пропускания, выбирая сегменты из различных альтернатив (с более низким или более высоким битрейтом) для поддержания подходящего буфера.
Multimedia Presentation Description
Динамическая потоковая передача по протоколу HTTP требует, чтобы на сервере были доступны различные варианты битрейта мультимедийного контента. Кроме того, контент может состоять из нескольких медиакомпонентов (например, аудио, видео и текст), каждый из которых может обладать различными характеристиками. В MPEG-DASH эти характеристики описываются с помощью MPD, который представляет собой XML-документ. На рисунке 3 показана иерархическая модель данных MPD. MPD состоит из одного или нескольких периодов, где период - это интервал вдоль временной оси.

Каждый период имеет время начала и продолжительность и состоит из одного или нескольких адаптационных наборов. Например, набор адаптаций может содержать различные битрейты видеокомпонента одного и того же мультимедийного контента. Другой набор адаптаций может содержать различные битрейты аудиокомпонента (например, стереозвук более низкого качества и объемный звук более высокого качества) одного и того же мультимедийного контента. Каждый набор адаптаций обычно включает в себя несколько представлений.
Представление - это закодированная альтернатива одного и того же медиакомпонента, отличающегося от других представлений скоростью передачи данных, разрешением, количеством каналов или другими характеристиками. Каждое представление состоит из одного или нескольких сегментов.
Сегменты - это фрагменты медиапотока. Каждый сегмент имеет URL, то есть адресуемое местоположение на сервере, которое может быть загружено с помощью HTTP GET. Чтобы использовать эту модель данных, клиент DASH сначала анализирует XML-документ MPD.
Вложения
- image-10-2.png
- image-10.png
- image-11-2.png
- image-11.png
- image-12-2.png
- image-12.png
- image-13.png
- image-14.png
- image-15.png
- image-2-2.png
- image-2-3.png
- image-2-4.png
- image-2-5.png
- image-2.png
- image-3-2.png
- image-3-3.png
- image-3-4.png
- image-3.png
- image-4-2.png
- image-4-3.png
- image-4.png
- image-5-2.png
- image-5.png
- image-6-2.png
- image-6.png
- image-7-2.png
- image-7.png
- image-8-2.png
- image-8.png
- image-9-2.png
- image-9.png
- image.png