Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

MPEG-DASH - это первое решение потоковой передачи на основе HTTP с адаптивной скоростью передачи данных, являющееся международным стандартом. [5] MPEG-DASH не следует путать с транспортным протоколом - транспортным протоколом, который использует MPEG-DASH, является TCP.. MPEG-DASH использует существующую инфраструктуру веб-сервера HTTP, которая используется для доставки практически всего содержимого World Wide Web. Он позволяет таким устройствам, как подключенные к Интернету телевизоры, телевизионные приставки, настольные компьютеры, смартфоны, планшеты и т. Д., Потреблять мультимедийный контент (видео, телевидение, радио и т. Д.), Доставляемый через Интернет, справляясь с изменяющимися условиями приема в Интернет. Стандартизация решения для адаптивной потоковой передачи призвана обеспечить уверенность рынка в том, что это решение может быть адаптировано для универсального развертывания по сравнению с аналогичными, но более частными решениями, такими как Smooth Streaming от 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 Dynamic Streaming , Apple Inc. HTTP Live Streaming (HLS) и Microsoft Smooth Streaming . DASH основан на адаптивной потоковой передаче HTTP (AHS) в 3GPP Release 9 и на HTTP Adaptive Streaming (HAS) в Open IPTV Forum Release 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 через 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 Encrypted Media Extensions . [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.
  • bitmovin предоставляет проигрыватель BitDash MPEG-DASH для HTML5 и Flash. [31]

Серверы [ править ]

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

  • Wowza Streaming Engine поддерживает воспроизведение MPEG-DASH с DVR и обеспечивает публикацию DASH Stream Target в Akamai. [32]
  • Brightcove Zencoder поддерживает преобразование / перекодирование MPEG-DASH. [33]
  • Решения для обработки видео от Elemental Technologies поддерживают DASH.
  • Helix Universal Server поддерживает DASH в различных режимах.
  • Nimble Streamer поддерживает live и VOD MPEG-DASH. Для VOD он поддерживает кодеки H.265 и H.264 [34]
  • Unified Origin поддерживает MPEG-DASH. [35] [36]

Услуги [ править ]

  • Akamai CDN поддерживает DASH. [37]
  • Amazon CloudFront CDN поддерживает DASH.
  • Amazon Web Services Elastic Transcoder поддерживает MPEG-DASH. [38]
  • Платформа служб мультимедиа Azure поддерживает MPEG-DASH. [39]
  • Bitmovin предоставляет облачную службу транскодирования bitcodin.com, которая поддерживает MPEG-DASH. [40]
  • CloudFlare Stream поддерживает транскодирование в DASH в VP9 перед передачей конечному пользователю.
  • Cloudinary обеспечивает автоматическое перекодирование с поддержкой MPEG-DASH. [41]
  • CenturyLink CDN поддерживает DASH.
  • CDN Limelight Networks поддерживает DASH.
  • CDN Tata Communications поддерживает DASH.

Генераторы контента [ править ]

  • DASHEncoder компании ITEC. [26] [42]
  • MP4Box and its multimedia framework from GPAC at Telecom ParisTech[43]
  • dashcast from Telecom ParisTech supports MPEG-DASH live streaming[44]
  • MediaGoom MPEG-DASH Packager[45]
  • Bento4 opensource tools and SDK[46]

Other[edit]

  • ITEC offers a validation service for MPEG-DASH Media Presentation Description (MPD) files[26]
  • Multiple DASH datasets[47] are offered by the Institute of Information Technology (ITEC) at Alpen-Adria University Klagenfurt,[42][48] the GPAC group at Telecom ParisTech[43] and Digital TV Labs.[49]
  • The BBC has DASH test streams, including DASH over HTTP/2.[50]
  • Widevine DRM supports DASH and Encrypted Media Extensions.[51]
  • Mividi provides software tool for analyzing and monitoring live MPEG-DASH streams.[52]

Supported players and servers[edit]

Clients[edit]

Currently, DASH streaming is only natively supported on Windows 10 via Microsoft Edge. DASH support on other browsers & operating systems is available via Media Source Extensions.

Patent holders[edit]

References[edit]

  1. ^ "ABR Logic".
  2. ^ a b "From Theory to Practice: Improving Bitrate Adaptation in the DASH Reference Player, by Spiteri, Sitaraman and Sparacio, ACM Multimedia Systems Conference, June 2018" (PDF).
  3. ^ "dash.js JavaScript Reference Client Landing Page". reference.dashif.org. Retrieved 2020-08-28.
  4. ^ Spiteri, Kevin; Urgaonkar, Rahul; Sitaraman, Ramesh K. (2016). "BOLA: Near-optimal bitrate adaptation for online videos. IEEE INFOCOM, 2016, by Spiteri, Urgaonkar, and Sitaraman, IEEE INFOCOM, April 2016". arXiv:1601.06748. doi:10.1109/TNET.2020.2996964. S2CID 219792107. Cite journal requires |journal= (help)
  5. ^ a b "MPEG ratifies its draft standard for DASH". MPEG. 2011-12-02. Archived from the original on 2012-08-20. Retrieved 2012-08-26.
  6. ^ "MPEG-DASH vs. Apple HLS vs. Microsoft Smooth Streaming vs. Adobe HDS". 2015-03-29. Retrieved 3 June 2016.
  7. ^ ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH)
  8. ^ a b ETSI 3GPP 3GPP TS 26.247; Transparent end-to-end packet-switched streaming service (PSS); Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)
  9. ^ Open IPTV Forum Solution Specification Volume 2a – HTTP Adaptive Streaming V2.1 Archived 2011-10-09 at the Wayback Machine
  10. ^ DASH Industry Forum
  11. ^ HbbTV Specification 1.5 Archived 2014-07-03 at the Wayback Machine
  12. ^ Overview of Dynamic Adaptive Streaming over HTTP (DASH)
  13. ^ 3GPP Dynamic Adaptive Streaming over HTTP – Standards and Design Principles Archived 2016-08-05 at the Wayback Machine by T. Stockhammer
  14. ^ Towards Network-wide QoE Fairness using OpenFlow-assisted Adaptive Video Streaming
  15. ^ A. Bentaleb, B. Taani, A. Begen, C. Timmermer, and R. Zimmermann, "A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP", In IEEE Communications Surveys & Tutorials (IEEE COMST), Volume 1 Issue 1, pp. 1-1, 2018.
  16. ^ Y. Liu, J. Geurts, J.-P. Point, S. Lederer, B. Rainer, C. Mueller, C. Timmerer and H. Hellwagner, "Dynamic Adaptive Streaming over CCN: A Caching and Overhead Analysis", In Proceedings of the IEEE International Conference on Communication (ICC) 2013 – Next-Generation Networking Symposium, Budapest, Hungary, June, 2013
  17. ^ MPEG LA Announces Call for Patents to Organize Joint License for MPEG-DASH Archived 2015-08-07 at the Wayback Machine
  18. ^ "DASH Patent Portfolio License Briefing*" (PDF). MPEG LA. 2019-03-04. Retrieved 10 July 2019.
  19. ^ Device Compatibility
  20. ^ The Status of MPEG-DASH today, and why Youtube & Netflix use it in HTML5
  21. ^ HTML5 Media Source Extensions
  22. ^ bitdash DRM Testarea Archived 2015-07-03 at the Wayback Machine
  23. ^ HTML5 Encrypted Media Extensions
  24. ^ 360° Streaming in HTML5
  25. ^ Cimpanu, Catalin (2015-08-24). "Meet Shaka Player, Google's HTML5 Video Player for Low Bandwidth Conditions". Softpedia. Retrieved 2016-08-13.
  26. ^ a b c DASH at ITEC, VLC Plugin, DASHEncoder and Dataset by C. Mueller, S. Lederer, C. Timmerer
  27. ^ C. Müller and C. Timmerer, "A VLC Media Player Plugin enabling Dynamic Adaptive Streaming over HTTP", In Proceedings of the ACM Multimedia 2011 , Scottsdale, Arizona, November 28, 2011.
  28. ^ "VLC 3.0 features".
  29. ^ HTTP Adaptive streaming with GStreamer
  30. ^ libdash: Open-source DASH client library by bitmovin Gmbh
  31. ^ bitdash MPEG-DASH Player Feature Details
  32. ^ "Stream over MPEG-DASH with Wowza Streaming Engine".
  33. ^ "DASH Streaming and Playlists".
  34. ^ MPEG-DASH support in Nimble Streamer
  35. ^ Netview and Unified Streaming streaming DASH
  36. ^ "USP Factsheet". Archived from the original on 2015-04-21. Retrieved 2015-04-17.
  37. ^ Akamai Announces Native MPEG-DASH and HDS Support for Live Video Workflows
  38. ^ "Amazon Elastic Transcoder Now Supports MPEG-DASH". Amazon Web Services, Inc. Retrieved 2016-06-03.
  39. ^ MPEG-DASH and streaming reference and resources
  40. ^ bitcodin.com Supported Formats
  41. ^ [1]
  42. ^ a b S. Lederer, C. Mueller and C. Timmerer, "Dynamic Adaptive Streaming over HTTP Dataset", In Proceedings of the ACM Multimedia Systems Conference 2012, Chapel Hill, North Carolina, February 22-24, 2012.
  43. ^ a b GPAC Telecom ParisTech
  44. ^ dashcast of Telecom ParisTech
  45. ^ "MediaGoom. Essential Web Streaming".
  46. ^ Bento4 MPEG DASH Documentation
  47. ^ MPEG DASH Dataset Overview
  48. ^ S. Lederer, C. Mueller, C. Timmerer, C. Concolato, J. Le Feuvre and K. Fliegel, Distributed DASH Dataset, In Proceedings of the ACM Conference on Multimedia Systems (ACM MMSys) 2013, Oslo, Norway, 2013.
  49. ^ "MPEG DASH Test Suite". Archived from the original on 2014-03-07. Retrieved 2013-11-22.
  50. ^ MPEG DASH Test Streams
  51. ^ "The Complete Guide to Widevine". encoding.com. Retrieved 2018-01-11.
  52. ^ "MPEG-DASH Analysis and Monitoring Solution". mividi.com. Retrieved 2019-09-15.
  53. ^ Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10 – IEBlog
  54. ^ "DASH Patent List" (PDF). MPEG LA. Retrieved 10 July 2019.

External links[edit]

  • MPEG-DASH Standard
  • DASH subscription mailing list
  • DASH research at Alpen-Adria Universität Klagenfurt
  • Mailing list of the open-source DASH client library libdash