Dynamic Adaptive Streaming over HTTP
Dynamic Adaptive Streaming over HTTP (DASH) — это технология адаптивной потоковой передачи видео и аудио через протокол HTTP, основанная на разбиении медиаконтента на небольшие сегменты и динамическом выборе их качества в зависимости от текущей пропускной способности сети и характеристик устройства воспроизведения. DASH является открытым стандартом, разработанным Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC) под номером ISO/IEC 23009-1. Технология предназначена для обеспечения непрерывного воспроизведения мультимедийного контента в условиях нестабильного интернет-соединения, минимизируя задержки и снижая количество прерываний.
История и развитие
Протокол DASH был разработан как ответ на растущую потребность в эффективной доставке видео через интернет, особенно в условиях растущей популярности стриминговых сервисов. В 2009 году компания Microsoft представила технологию Smooth Streaming, а Apple — HTTP Live Streaming (HLS). Эти решения были проприетарными, что создавало проблемы с совместимостью между платформами. В 2011 году группа экспертов из MPEG (Moving Picture Experts Group) и 3GPP (3rd Generation Partnership Project) начала работу над единым открытым стандартом. Первая версия спецификации DASH (ISO/IEC 23009-1) была опубликована в 2012 году.
Стандарт быстро получил поддержку со стороны крупных производителей оборудования и программного обеспечения, включая Google, Netflix, YouTube и Adobe. В 2014 году DASH был включён в спецификации HTML5, что способствовало его широкому внедрению в веб-браузерах. В 2018 году вышла вторая версия стандарта (ISO/IEC 23009-1:2018), которая добавила поддержку новых кодеков, улучшенное управление субтитрами и расширенные возможности для работы с рекламой.
Архитектура и принцип работы
DASH основан на клиент-серверной архитектуре, где сервер хранит медиаконтент в виде набора файлов, а клиент (плеер) самостоятельно принимает решения о выборе качества загружаемых сегментов. Основные компоненты системы:
Медиа-презентация (Media Presentation Description, MPD)
MPD — это XML-файл, который описывает структуру контента: доступные битрейты, разрешения, кодеки, длительность сегментов, язык аудиодорожек и географические ограничения. Клиент загружает MPD перед началом воспроизведения и использует его для планирования загрузки. MPD может содержать информацию о нескольких периодах (periods), адаптационных наборах (adaptation sets) и представлениях (representations).
Сегментация контента
Исходный медиафайл (например, видео в формате H.264) кодируется в несколько потоков с разным битрейтом (например, 500 кбит/с, 1500 кбит/с, 5000 кбит/с). Каждый поток разбивается на сегменты фиксированной или переменной длительности (обычно 2–10 секунд). Сегменты могут быть закодированы с использованием различных кодеков: H.264/AVC, H.265/HEVC, VP9, AV1 для видео и AAC, Opus, MP3 для аудио.
Клиентская логика адаптации
Клиент (плеер) отслеживает скорость загрузки сегментов, буфер заполнения и другие параметры сети. На основе этих данных он выбирает наиболее подходящий битрейт для следующего сегмента. Алгоритмы адаптации могут быть простыми (например, переключение на более низкое качество при снижении скорости) или сложными, учитывающими прогнозирование пропускной способности и размер буфера.
Классификация и виды
DASH поддерживает несколько режимов работы, которые определяют способ доставки сегментов:
По типу доставки
- On-Demand (VoD) — контент доступен для воспроизведения в любое время. Все сегменты хранятся на сервере и загружаются по запросу клиента.
- Live — контент транслируется в реальном времени. MPD обновляется динамически, добавляя новые сегменты по мере их появления.
- Event-based — контент связан с определёнными событиями (например, рекламные вставки или переключение между камерами).
По типу сегментов
- Segment-based — каждый сегмент является самостоятельным медиафайлом (например, MP4 или TS).
- Chunk-based — сегменты могут быть загружены частями (chunks), что уменьшает задержку при старте воспроизведения.
Преимущества и недостатки
Преимущества
- Адаптивность — автоматическое переключение между битрейтами обеспечивает плавное воспроизведение даже при колебаниях скорости интернета.
- Открытость — стандарт не привязан к конкретному поставщику, что снижает зависимость от проприетарных решений.
- Эффективность кэширования — использование HTTP позволяет кэшировать сегменты на CDN (Content Delivery Network), что снижает нагрузку на серверы и ускоряет доставку.
- Поддержка различных кодеков — DASH может работать с любыми кодеками, включая современные AV1 и H.266/VVC.
- Гибкость — возможность включать субтитры, аудиодорожки на разных языках и рекламные вставки.
Недостатки
- Задержка — из-за сегментации и буферизации задержка при живых трансляциях может составлять от 5 до 30 секунд, что хуже, чем у протоколов на основе UDP (например, RTMP).
- Сложность реализации — для корректной работы требуется сложная клиентская логика адаптации и серверная инфраструктура.
- Зависимость от HTTP — протокол не оптимизирован для потоковой передачи, что может приводить к избыточному трафику при переключении между битрейтами.
Применение
DASH широко используется в различных областях:
- Стриминговые сервисы — Netflix, YouTube, Amazon Prime Video, Disney+ используют DASH для доставки видео на веб-плееры и мобильные устройства.
- Телевидение и радио — многие телеканалы (например, BBC, ARD) применяют DASH для онлайн-трансляций.
- Образование и бизнес — платформы для вебинаров и онлайн-обучения (Coursera, Zoom) используют DASH для обеспечения стабильного воспроизведения.
- Игровая индустрия — сервисы облачного гейминга (NVIDIA GeForce Now, Xbox Cloud Gaming) применяют DASH для передачи видеопотока на устройства пользователей.
Сравнение с другими протоколами
HLS (HTTP Live Streaming)
HLS — проприетарный протокол Apple, основанный на аналогичных принципах, но использующий собственный формат описания (m3u8) и сегменты в формате TS. HLS имеет более широкую поддержку на устройствах Apple (iOS, macOS), но DASH считается более гибким и открытым стандартом. В последних версиях HLS также поддерживает сегменты в формате fMP4, что сближает его с DASH.
Smooth Streaming
Smooth Streaming — технология Microsoft, использующая формат описания ISM (IIS Smooth Streaming). Она была популярна в 2010-х годах, но постепенно уступает DASH из-за закрытости и меньшей поддержки.
CMAF (Common Media Application Format)
CMAF — формат контейнера, разработанный MPEG для унификации сегментов между DASH и HLS. Он позволяет хранить один набор сегментов, который может использоваться обоими протоколами, что упрощает развёртывание и снижает затраты на хранение.
Критика и ограничения
Несмотря на широкое распространение, DASH подвергается критике за сложность реализации и недостаточную стандартизацию алгоритмов адаптации. Разные клиенты могут использовать разные стратегии выбора битрейта, что приводит к неравномерному качеству воспроизведения на разных устройствах. Кроме того, DASH не поддерживает шифрование на уровне сегментов без дополнительных расширений (например, Common Encryption), что может создавать проблемы с защитой контента.
Будущее развитие
В 2023 году вышла третья версия стандарта (ISO/IEC 23009-1:2023), которая добавила поддержку для многоканального звука (например, Dolby Atmos), улучшенное управление субтитрами и новые возможности для работы с рекламой. Ожидается, что DASH будет интегрироваться с новыми технологиями, такими как 5G и Edge Computing, для снижения задержек и повышения качества потоковой передачи.
Интересные факты
- DASH является основой для стандарта MPEG-DASH, который используется в системах цифрового телевидения (DVB, ATSC).
- В 2015 году DASH был принят в качестве стандарта для потоковой передачи видео в браузерах на платформе Android.
- Некоторые реализации DASH позволяют воспроизводить контент с разрешением до 8K и частотой кадров до 120 fps.
Источники
- ISO/IEC 23009-1:2023 — Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 1: Media presentation description and segment formats.
- MPEG-DASH: The Standard for Adaptive Streaming, IEEE Communications Surveys & Tutorials, 2015.
- Adaptive Streaming over HTTP: From Principles to Practice, ACM Computing Surveys, 2017.
- DASH Industry Forum (DASH-IF) — Technical Specifications and Guidelines, 2022.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →