Динамическая адаптивная потоковая передача через HTTP - Dynamic Adaptive Streaming over HTTP - Wikipedia

Динамическая адаптивная потоковая передача через HTTP (БРОСАТЬСЯ), также известный как MPEG-DASH, является потоковая передача с адаптивным битрейтом техника, обеспечивающая высокое качество потоковая передача медиаконтента через Интернет из обычных HTTP веб-серверы. Похож на Apple HTTP Live Streaming (HLS) MPEG-DASH работает, разбивая контент на последовательность небольших сегментов, которые обслуживаются HTTP. Каждый сегмент содержит короткий интервал времени воспроизведения контента, который потенциально может длиться много часов, например фильм или прямая трансляция спортивного мероприятия. Контент предоставляется с множеством различных скоростей передачи данных, то есть альтернативные сегменты, закодированные с разными скоростями передачи данных, охватывают выровненные короткие интервалы времени воспроизведения. Пока контент воспроизводится клиентом MPEG-DASH, клиент использует алгоритм адаптации скорости передачи данных (ABR).[1] для автоматического выбора сегмента с максимально возможной скоростью передачи данных, который может быть загружен вовремя для воспроизведения, без остановки или повторной буферизации событий при воспроизведении.[2] Текущий эталонный клиент MPEG-DASH dash.js[3] предлагает как на основе буфера (BOLA[4]) и гибридный (ДИНАМИЧЕСКИЙ[2]) алгоритмы адаптации скорости передачи данных. Таким образом, клиент MPEG-DASH может легко адаптироваться к изменяющимся условиям сети и обеспечивать высококачественное воспроизведение с небольшим количеством остановок или повторной буферизации событий.

MPEG-DASH - это первое решение потоковой передачи на основе HTTP с адаптивной скоростью передачи данных, являющееся международным стандартом.[5] MPEG-DASH не следует путать с транспортным протоколом - транспортным протоколом, который использует MPEG-DASH, является TCP. MPEG-DASH использует существующую инфраструктуру веб-сервера HTTP, которая используется для доставки практически всего содержимого World Wide Web. Он позволяет таким устройствам, как подключенные к Интернету телевизоры, телевизионные приставки, настольные компьютеры, смартфоны, планшеты и т. Д., Потреблять мультимедийный контент (видео, телевидение, радио и т. Д.), Доставляемый через Интернет, справляясь с различными условиями приема в Интернет. Стандартизация решения для адаптивной потоковой передачи призвана обеспечить уверенность рынка в том, что решение может быть принято для универсального развертывания по сравнению с аналогичными, но более проприетарными решениями, такими как Гладкая потоковая передача Microsoft, или HDS компании Adobe. В отличие от HDS или Smooth Streaming, DASH - это кодек -агностика, что означает, что он может использовать контент, закодированный любым формат кодирования, Такие как H.265, H.264, VP9, так далее.[6]

Стандартизация

Технология MPEG-DASH была разработана под MPEG. Работа над DASH началась в 2010 году; он стал проектом международного стандарта в январе 2011 года и международным стандартом в ноябре 2011 года.[5][7] Стандарт MPEG-DASH был опубликован в апреле 2012 года, но был пересмотрен в 2019 году как MPEG-DASH ISO / IEC 23009-1: 2019.

DASH - это технология, связанная с Adobe Systems HTTP динамическая потоковая передача, Apple Inc. HTTP Live Streaming (HLS) и Microsoft Гладкая потоковая передача. DASH основан на адаптивной потоковой передаче HTTP (AHS) в 3GPP Выпуск 9 и HTTP Adaptive Streaming (HAS) в Открытый форум IPTV Выпуск 2.[8][9] В рамках сотрудничества с MPEG компания 3GPP Release 10 приняла DASH (со специальными кодеками и режимами работы) для использования в беспроводных сетях.[8]

Форум индустрии DASH (DASH-IF )[10] далее продвигает и катализирует принятие MPEG-DASH и помогает превратить его из спецификации в реальный бизнес. В его состав входят крупные потоковые и медиа-компании, включая Microsoft, Netflix, Google, Ericsson, Samsung, Adobe и т. Д., И он создает рекомендации по использованию DASH для различных практических случаев.

MPEG-DASH интегрирован в другие стандарты, например MPEG-DASH поддерживается в HbbTV (начиная с версии 1.5).[11]

Обзор

DASH - это потоковая передача с адаптивным битрейтом технология, где мультимедиа файл разбивается на один или несколько сегментов и доставляется клиенту с помощью HTTP.[12] Описание мультимедийного представления (MPD) описывает информацию о сегменте (время, URL, характеристики СМИ, такие как разрешение видео и битрейты ) и могут быть организованы разными способами, такими как SegmentList, SegmentTemplate, SegmentBase и SegmentTimeline, в зависимости от варианта использования. Сегменты могут содержать любые мультимедийные данные, однако в спецификации приведены конкретные рекомендации и форматы для использования с двумя типами контейнеров: Базовый формат медиафайлов ISO (например, формат файла MP4) или Транспортный поток MPEG-2.

DASH - это аудио / видео кодек агностик. Обычно доступны одно или несколько представлений (т. Е. Версий с разными разрешениями или битрейтами) мультимедийных файлов, и выбор может быть сделан на основе сеть условия, возможности устройства и предпочтения пользователя, позволяющие потоковая передача с адаптивным битрейтом[13] и QoE (качество опыта) справедливость.[14] Стандарт DASH не определяет логику адаптивной потоковой передачи (ABR).[15] DASH также не зависит от протокола уровня приложений. Таким образом, DASH можно использовать с любым протоколом, например, DASH over CCN.[16]

27 июля 2015 г. MPEG LA объявила о призыве к патентам, связанным с MPEG-DASH, с целью создания единого патентного пула для этой технологии.[17] MPEG LA объявила о своей лицензии на патентный портфель MPEG-DASH. Он включает патенты, необходимые для стандарта MPEG Dynamic Adaptive Streaming over HTTP.[18]

Реализации

MPEG-DASH изначально доступен на Android через ExoPlayer, на Samsung Smart TV 2012+, LG Smart TV 2012+, Sony TV 2012+, Philips NetTV 4.1+, Panasonic Viera 2013+ и Chromecast.[19] YouTube, как и Netflix, уже поддерживают MPEG-DASH, и доступны различные проигрыватели MPEG-DASH.[20]

Хотя MPEG-DASH напрямую не поддерживается в HTML5, существуют реализации MPEG-DASH в JavaScript, которые позволяют использовать MPEG-DASH в веб-браузерах с использованием HTML5. Расширения источников мультимедиа (MSE).[21] Существуют также реализации JavaScript, такие как битдэш-плеер.[22] которые поддерживают DRM для MPEG-DASH с использованием HTML5 Зашифрованные медиа-расширения.[23] В сочетании с WebGL адаптивная потоковая передача MPEG-DASH на основе HTML5 обеспечивает также эффективную потоковую передачу видео 360 ° для сценариев использования в реальном времени и по запросу.[24]

Клиенты и библиотеки

  • Shaka - это даш-плеер с открытым исходным кодом от Google.[25]
  • VLC Media Player 3.0 предоставил новый клиентский плагин для MP4 / MPEG и потокового вещания.[26][27][28]
  • Кроссплатформенный мультимедийный фреймворк FOSS GStreamer поддерживает MPEG-DASH и WebM DASH как минимум с версии 1.4.[29]
  • Библиотека с открытым исходным кодом libdash[30] не зависит от платформы и работает на мобильных платформах, таких как Android, iOS, Windows Phone.
  • битмовин предоставляет проигрыватель BitDash MPEG-DASH для HTML5 и Flash.[31]

Серверы

Обратите внимание, что сервер не требует какой-либо специальной поддержки для содержимого DASH, за исключением Live Streaming.

Услуги

Генераторы контента

  • DASHEncoder компании ITEC.[26][42]
  • MP4Box и его мультимедийная структура от GPAC в Telecom ParisTech[43]
  • дашкаст от Telecom ParisTech поддерживает прямую трансляцию в формате MPEG-DASH[44]
  • Упаковщик MediaGoom MPEG-DASH[45]
  • Инструменты и SDK с открытым исходным кодом Bento4[46]

Другой

  • ITEC предлагает услугу проверки файлов MPEG-DASH Media Presentation Description (MPD)[26]
  • Несколько наборов данных DASH[47] предлагаются Институтом информационных технологий (ITEC) Университета Альпен-Адрия в Клагенфурте,[42][48] группа GPAC в Telecom ParisTech[43] и лаборатории цифрового телевидения.[49]
  • BBC имеет тестовые потоки DASH, включая DASH через HTTP / 2.[50]
  • Widevine DRM поддерживает DASH и Зашифрованные медиа-расширения.[51]
  • Mividi предоставляет программный инструмент для анализа и мониторинга потоков MPEG-DASH в реальном времени.[52]

Поддерживаемые плееры и серверы

Клиенты

В настоящее время потоковая передача DASH изначально поддерживается только на Windows 10 через Microsoft Edge. Поддержка DASH в других браузерах и операционных системах доступна через Расширения источников мультимедиа.

ТоварПлатформаПрямая трансляцияDRMПо версииредактор
Microsoft Edge (веб-браузер)Windows 10дадаEdgeHTML v12 +[53]Microsoft
Медиаплеер VLC (проигрыватель медиа)Windows, macOS, Linux, Android, iOS, Windows PhoneдаНеизвестноv3.0VideoLAN
MX Player (медиаплеер)Androidдадаv1.9.18
Поддержка воспроизведения потоков DASH в настоящее время работает нестабильно.
J2 Interactive
NexPlayer (SDK)HTML5 (браузеры MSE), Android (мобильные устройства, ТВ, STB), iOS, Chromecast, Windows, Mac, Linux, Tizen, WebOSдада-NexStreaming
Dash.js (SDK)HTML5 (браузеры MSE)дада-Форум индустрии Dash
Shaka Player (SDK)HTML5 (браузеры MSE)дада-Google
Rx-Player (SDK)HTML5 (браузеры MSE)дада-Канал +
bitdash (SDK)HTML5 (браузеры MSE), Android, телевизоры LG, телевизоры Samsung, Xbox One, универсальная платформа Windowsдада-Битмовин
PRESTOplay (SDK)HTML5 (браузеры MSE), Android, iOS, Windows, Macдада-castLabs
THEOplayer (SDK)HTML5 (браузеры MSE), Android (мобильные устройства, ТВ, STB), iOS, Chromecast, Windows, Mac, Linux, Tizen, WebOSдада-THEO Technologies NV
Viblast Player (SDK)HTML5 (браузеры MSE), Android, iOSдада-Команда Вибласт
Radiant Media Player (SDK)HTML5 (браузеры MSE), Android, iOS, Windows, Mac, Linuxдада-Radiant Media Player
Видеогуляр (SDK)HTML5 (браузеры MSE)дада-
Fluid Player (SDK)HTML5 (браузеры MSE)дада-ExoClick
GStreamer (мультимедийный фреймворк)-дада1.4Команда GStreamer
Либдаш (мультимедийный фреймворк)-дада-bitmovin, Команда ITEC
GPAC (мультимедийная структура)-дада-Телеком ParisTech inc.

Патентообладатели

ОрганизацияПатенты[54]
Макселл15
Нидерландская организация прикладных научных исследований (TNO)8
Nippon Telegraph and Telephone (NTT)5
Фраунгофер4
Колумбийский университет4
Amotech Co., Ltd.2
AVerMedia Technologies, Inc.2
Cable Television Laboratories, Inc.2
Гелиос Стриминг, ООО2
JVC Kenwood1
Lough Corrib Intellectual Property Limited1

Рекомендации

  1. ^ "ABR Logic".
  2. ^ а б «От теории к практике: улучшение адаптации битрейта в эталонном проигрывателе DASH, Спитери, Ситараман и Спарацио, Конференция по мультимедийным системам ACM, июнь 2018» (PDF).
  3. ^ "Целевая страница клиента для справки по JavaScript" dash.js ". reference.dashif.org. Получено 2020-08-28.
  4. ^ Спитери, Кевин; Ургаонкар, Рахул; Ситараман, Рамеш К. (2016). «BOLA: Почти оптимальная адаптация битрейта для онлайн-видео. IEEE INFOCOM, 2016, Спитери, Ургаонкар и Ситараман, IEEE INFOCOM, апрель 2016». arXiv:1601.06748. Дои:10.1109 / TNET.2020.2996964. S2CID  219792107. Цитировать журнал требует | журнал = (помощь)
  5. ^ а б «MPEG ратифицирует проект стандарта для DASH». MPEG. 2011-12-02. Архивировано из оригинал на 2012-08-20. Получено 2012-08-26.
  6. ^ «MPEG-DASH против Apple HLS против Microsoft Smooth Streaming против Adobe HDS». 2015-03-29. Получено 3 июн 2016.
  7. ^ ISO / IEC DIS 23009-1.2 Динамическая адаптивная потоковая передача по HTTP (DASH)
  8. ^ а б ETSI 3GPP 3GPP TS 26.247; Прозрачный сервис потоковой передачи с сквозной коммутацией пакетов (PSS); Прогрессивная загрузка и динамическая адаптивная потоковая передача по HTTP (3GP-DASH)
  9. ^ Спецификация решения Open IPTV Forum, том 2a - HTTP Adaptive Streaming V2.1 В архиве 2011-10-09 на Wayback Machine
  10. ^ Промышленный форум DASH
  11. ^ Спецификация HbbTV 1.5 В архиве 2014-07-03 в Wayback Machine
  12. ^ Обзор динамической адаптивной потоковой передачи по HTTP (DASH)
  13. ^ 3GPP Dynamic Adaptive Streaming через HTTP - стандарты и принципы проектирования В архиве 2016-08-05 в Wayback Machine Т. Штокхаммер
  14. ^ Обеспечение справедливости QoE в масштабе сети с помощью адаптивной потоковой передачи видео с помощью OpenFlow
  15. ^ А. Бенталеб, Б. Таани, А. Беген, К. Тиммермер и Р. Циммерманн, «Обзор схем адаптации битрейта для потоковой передачи мультимедиа по HTTP», в IEEE Communications Surveys & Tutorials (IEEE COMST), Volume 1 Issue 1 , стр. 1-1, 2018.
  16. ^ Y. Liu, J. Geurts, J.-P. Пойнт, С. Ледерер, Б. Райнер, К. Мюллер, К. Тиммерер и Х. Хеллвагнер, «Динамическая адаптивная потоковая передача через CCN: кэширование и анализ служебных данных», В материалах Международной конференции IEEE по коммуникации (ICC) 2013 - Симпозиум по сетям нового поколения, Будапешт, Венгрия, июнь 2013 г.
  17. ^ MPEG LA объявляет конкурс на получение патентов для организации совместной лицензии на MPEG-DASH В архиве 2015-08-07 в Wayback Machine
  18. ^ «Брифинг по лицензии на патентный портфель DASH *» (PDF). MPEG LA. 2019-03-04. Получено 10 июля 2019.
  19. ^ Совместимость устройств
  20. ^ Статус MPEG-DASH сегодня и почему Youtube и Netflix используют его в HTML5
  21. ^ HTML5 Media Source Extensions
  22. ^ Bitdash DRM Testarea В архиве 2015-07-03 в Wayback Machine
  23. ^ HTML5 Encrypted Media Extensions
  24. ^ 360 ° потоковая передача в HTML5
  25. ^ Чимпану, Каталин (24 августа 2015 г.). "Познакомьтесь с Shaka Player, видеопроигрывателем HTML5 от Google для условий низкой пропускной способности". Софтпедия. Получено 2016-08-13.
  26. ^ а б c DASH в ITEC, подключаемый модуль VLC, DASHEncoder и набор данных К. Мюллер, С. Ледерер, К. Тиммерер
  27. ^ К. Мюллер и К. Тиммерер, «Подключаемый модуль VLC Media Player, обеспечивающий динамическую адаптивную потоковую передачу по HTTP», In Proceedings of the ACM Multimedia 2011, Скоттсдейл, Аризона, 28 ноября 2011 г.
  28. ^ «Возможности VLC 3.0».
  29. ^ HTTP-адаптивная потоковая передача с GStreamer
  30. ^ libdash: клиентская библиотека DASH с открытым исходным кодом by bitmovin Gmbh
  31. ^ Подробная информация о функциях проигрывателя bitdash MPEG-DASH
  32. ^ «Потоковая передача через MPEG-DASH с Wowza Streaming Engine».
  33. ^ "Потоковая передача и плейлисты DASH".
  34. ^ Поддержка MPEG-DASH в Nimble Streamer
  35. ^ Netview и унифицированная потоковая передача DASH
  36. ^ «Информационный бюллетень Фармакопеи США». Архивировано из оригинал на 2015-04-21. Получено 2015-04-17.
  37. ^ Akamai анонсирует встроенную поддержку MPEG-DASH и HDS для рабочих процессов видео в реальном времени
  38. ^ «Amazon Elastic Transcoder теперь поддерживает MPEG-DASH». Amazon Web Services, Inc. Получено 2016-06-03.
  39. ^ Справочник по MPEG-DASH и потоковой передаче и ресурсы
  40. ^ bitcodin.com Поддерживаемые форматы
  41. ^ [1]
  42. ^ а б С. Ледерер, К. Мюллер и К. Тиммерер, «Динамическая адаптивная потоковая передача по набору данных HTTP», В материалах конференции ACM Multimedia Systems 2012, Чапел-Хилл, Северная Каролина, 22-24 февраля 2012 г.
  43. ^ а б GPAC Telecom ParisTech
  44. ^ дашкаст Telecom ParisTech
  45. ^ "MediaGoom. Основные возможности веб-потоковой передачи".
  46. ^ Документация Bento4 MPEG DASH
  47. ^ Обзор набора данных MPEG DASH
  48. ^ С. Ледерер, К. Мюллер, К. Тиммерер, К. Конколато, Дж. Ле Февр и К. Флигель, Распределенный набор данных DASH, В материалах конференции ACM по мультимедийным системам (ACM MMSys) 2013, Осло, Норвегия, 2013.
  49. ^ «Набор для тестирования MPEG DASH». Архивировано из оригинал на 2014-03-07. Получено 2013-11-22.
  50. ^ Тестовые потоки MPEG DASH
  51. ^ «Полное руководство по Widevine». encoding.com. Получено 2018-01-11.
  52. ^ «Решение для анализа и мониторинга MPEG-DASH». mividi.com. Получено 2019-09-15.
  53. ^ Упрощенная адаптивная потоковая передача видео: объявление о поддержке HLS и DASH в Windows 10 - IEBlog
  54. ^ "Патентный список DASH" (PDF). MPEG LA. Получено 10 июля 2019.

внешняя ссылка