stringtranslate.com

Динамическая адаптивная потоковая передача по HTTP

Dynamic Adaptive Streaming over HTTP ( DASH ), также известный как MPEG-DASH , представляет собой технологию потоковой передачи с адаптивным битрейтом , которая обеспечивает высококачественную потоковую передачу медиаконтента через Интернет, доставляемого с обычных веб-серверов HTTP . Подобно решению Apple HTTP Live Streaming (HLS), MPEG-DASH работает, разбивая контент на последовательность небольших сегментов, которые обслуживаются по HTTP . Ранняя система потоковой передачи на основе веб-сервера HTTP под названием SProxy была разработана и развернута в лабораториях Hewlett Packard в 2006 году. [2] [3] Она показала, как использовать запросы диапазона HTTP для разбиения контента на небольшие сегменты. SProxy демонстрирует эффективность потоковой передачи на основе сегментов, получая лучшее проникновение в Интернет благодаря широкому развертыванию брандмауэров и сокращая ненужную передачу трафика, если пользователь решает завершить сеанс потоковой передачи раньше, до достижения конца. Каждый сегмент содержит короткий интервал времени воспроизведения контента, который может длиться много часов, например, фильм или прямая трансляция спортивного мероприятия. Контент предоставляется с различными скоростями передачи данных, т. е. альтернативные сегменты, закодированные с различными скоростями передачи данных, охватывающие выровненные короткие интервалы времени воспроизведения. Пока контент воспроизводится клиентом MPEG-DASH, клиент использует алгоритм адаптации скорости передачи данных (ABR) [4] для автоматического выбора сегмента с максимально возможной скоростью передачи данных, который может быть загружен вовремя для воспроизведения, не вызывая остановок или повторной буферизации при воспроизведении. [5] Текущий эталонный клиент MPEG-DASH dash.js [6] предлагает как основанные на буфере (BOLA [7] ), так и гибридные (DYNAMIC [5] ) алгоритмы адаптации скорости передачи данных. Таким образом, клиент MPEG-DASH может плавно адаптироваться к изменяющимся условиям сети и обеспечивать высококачественное воспроизведение с небольшим количеством остановок или повторной буферизации.

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

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

Технология MPEG-DASH была разработана в рамках MPEG . Работа над DASH началась в 2010 году; в январе 2011 года она стала проектом международного стандарта, а в ноябре 2011 года — международным стандартом. [8] [10] Стандарт MPEG-DASH был опубликован в апреле 2012 года, но был пересмотрен в 2019 году, а затем еще раз в 2022 году как [1].

DASH — это технология, связанная с Adobe Systems HTTP Dynamic Streaming , Apple Inc. HTTP Live Streaming (HLS) и Microsoft Smooth Streaming . DASH основана на Adaptive HTTP Streaming (AHS) в 3GPP Release 9 и на HTTP Adaptive Streaming (HAS) в Open IPTV Forum Release 2. [11] [12] В рамках сотрудничества с MPEG, 3GPP Release 10 принял DASH (с определенными кодеками и режимами работы) для использования в беспроводных сетях. [11]

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

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

Обзор

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

DASH не зависит от аудио/видеокодеков . Обычно доступно одно или несколько представлений (т. е. версий с разным разрешением или битрейтом) мультимедийных файлов, выбор может быть сделан на основе сетевых условий, возможностей устройства и предпочтений пользователя, что позволяет использовать адаптивную потоковую передачу битрейта [16] и справедливость QoE (качество восприятия) . [17] Стандарт DASH не определяет логику адаптивной потоковой передачи битрейта (ABR). [18] DASH также не зависит от базового протокола прикладного уровня. Таким образом, DASH может использоваться с любым протоколом, например, DASH через CCN . [19]

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

Реализации

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

Хотя MPEG-DASH напрямую не поддерживается в HTML5, существуют реализации JavaScript MPEG-DASH, которые позволяют использовать MPEG-DASH в веб-браузерах с помощью HTML5 Media Source Extensions (MSE). [25] Существуют также реализации JavaScript, такие как проигрыватель bitdash [26] , которые поддерживают DRM для MPEG-DASH с помощью HTML5 Encrypted Media Extensions . [27] В сочетании с WebGL адаптивная потоковая передача битрейта на основе HTML5 MPEG-DASH также обеспечивает эффективную потоковую передачу видео 360° для использования в режиме реального времени и по запросу. [28]

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

Серверы

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

Услуги

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

Другой

Поддерживаемые игроки и серверы

Клиенты

Windows 10 раньше имела встроенную поддержку потоковой передачи DASH в EdgeHTML , фирменном браузерном движке, который использовался в Microsoft Edge (теперь именуемом Edge Legacy) до перехода на браузерный движок Blink на базе Chromium . Edge Legacy был включен в Windows 10 вплоть до версии 2004. Он был заменен Edge Chromium в версии 20H2.

Поддержка DASH в других браузерах и операционных системах доступна через Media Source Extensions .

Владельцы патентов

Ссылки

  1. ^ "DASH Adaptive Streaming for HTML 5 Video" . Получено 11 июля 2024 г. .
  2. ^ Чэнь, Сунцин; Шэнь, Бо; Тань, Вай-тянь; Ви, Сьюзи; Чжан, Сяодун (2006-07-09). «Дело в пользу потоковой передачи через Интернет через веб-серверы». Международная конференция IEEE по мультимедиа и выставкам 2006 года . стр. 2145–2148. doi :10.1109/ICME.2006.262660. eISSN  1945-788X. ISBN 1-4244-0367-7. ISSN  1945-7871. S2CID  9202042.
  3. ^ Чэнь, Сунцин; Шэнь, Бо; Ви, Сьюзи; Чжан, Сяодун (2007-07-23). ​​«SProxy: кэширующая инфраструктура для поддержки потоковой передачи в Интернете». IEEE Transactions on Multimedia . 9 (5): 1062–1072. CiteSeerX 10.1.1.74.4838 . doi :10.1109/TMM.2007.898943. ISSN  1520-9210. S2CID  870854. 
  4. ^ "Логика ABR". GitHub .
  5. ^ ab «От теории к практике: улучшение адаптации битрейта в эталонном проигрывателе DASH, Спитери, Ситараман и Спарацио, конференция ACM Multimedia Systems, июнь 2018 г.» (PDF) .
  6. ^ "Целевая страница клиента JavaScript Reference dash.js". reference.dashif.org . Получено 28.08.2020 .
  7. ^ Спитери, Кевин; Ургаонкар, Рахул; Ситараман, Рамеш К. (2020). «BOLA: адаптация битрейта, близкая к оптимальному, для онлайн-видео». Транзакции IEEE/ACM в сети . 28 (4): 1698–1711. arXiv : 1601.06748 . дои : 10.1109/TNET.2020.2996964. S2CID  219792107.
  8. ^ ab "MPEG ратифицирует свой проект стандарта DASH". MPEG. 2011-12-02. Архивировано из оригинала 20-08-2012 . Получено 26-08-2012 .
  9. ^ "MPEG-DASH против Apple HLS против Microsoft Smooth Streaming против Adobe HDS". 2015-03-29 . Получено 3 июня 2016 .
  10. ^ «ISO/IEC 23009-1:2012». ИСО .
  11. ^ ab ETSI 3GPP 3GPP TS 26.247; Прозрачная сквозная служба потоковой передачи с коммутацией пакетов (PSS); Прогрессивная загрузка и динамическая адаптивная потоковая передача по HTTP (3GP-DASH)
  12. ^ Спецификация решения форума Open IPTV, том 2a – HTTP Adaptive Streaming V2.1. Архивировано 09.10.2011 на Wayback Machine.
  13. ^ "Форум индустрии DASH | Катализация принятия MPEG-DASH". dashif.org .
  14. ^ "HbbTV Specification 1.5" (PDF) . Архивировано из оригинала (PDF) 3 июля 2014 г.
  15. ^ "Технологии | MPEG". mpeg.chiariglione.org .
  16. ^ Динамическая адаптивная потоковая передача 3GPP по HTTP – стандарты и принципы проектирования. Архивировано 05.08.2016 на Wayback Machine Т. Стокхаммером.
  17. ^ «На пути к обеспечению справедливости QoE в масштабах всей сети с использованием адаптивной потоковой передачи видео с поддержкой OpenFlow». scholar.google.com .
  18. ^ Бенталеб, Абдельхак; Таани, Баян; Беген, Али К.; Тиммерер, Кристиан; Циммерманн, Роджер (21 января 2019 г.). «Обзор схем адаптации битрейта для потоковой передачи мультимедиа через HTTP». Опросы и учебные пособия IEEE по коммуникациям . 21 (1): 562–585. дои : 10.1109/COMST.2018.2862938 . S2CID  67867085.
  19. ^ «DASH через ICN/CCN | ITEC – Динамическая адаптивная потоковая передача по HTTP».
  20. ^ "MPEG LA объявляет о приеме заявок на патенты для организации совместной лицензии на MPEG-DASH" (PDF) . Архивировано из оригинала (PDF) 7 августа 2015 г.
  21. ^ «Брифинг по лицензиям на патентный портфель DASH *» (PDF) . MPEG Лос-Анджелес . 04.03.2019 . Проверено 10 июля 2019 г.
  22. ^ "ExoPlayer". Разработчики Android . Получено 7 декабря 2021 г.
  23. ^ Совместимость устройств
  24. ^ Статус MPEG-DASH сегодня и почему Youtube и Netflix используют его в HTML5
  25. ^ Расширения HTML5 Media Source
  26. ^ "Video Player SDKs для безупречного просмотра | HTML5 Player". bitmovin.com . Архивировано из оригинала 3 июля 2015 г.
  27. ^ "Расширения зашифрованных медиафайлов". w3c.github.io .
  28. ^ «Эта демонстрация показывает, как Bitmovin Player отображает видео 360° с VR». bitmovin.com .
  29. ^ abc Vijayanagar, Кришна Рао (3 июня 2021 г.). «13 лучших видеоплееров HTML5 для Интернета, обзор [2021]». OTTVerse . Получено 7 декабря 2021 г. .
  30. ^ abc "clappr dash.js hls.js rx-player shaka-player videojs-contrib-hls". npm trends.com . Получено 7 декабря 2021 г. .
  31. ^ Чжан, Бо; Тейшейра, Тьяго; Резник, Юрий (24 июня 2021 г.). «Производительность потоковых проигрывателей HTTP с низкой задержкой». Материалы 12-й конференции ACM по мультимедийным системам . стр. 356–362. дои : 10.1145/3458305.3478442 . ISBN 9781450384346. S2CID  237596948.
  32. ^ Cimpanu, Catalin (2015-08-24). "Встречайте Shaka Player, HTML5-видеоплеер от Google для условий низкой пропускной способности". Softpedia . Получено 2016-08-13 .
  33. ^ "Ultimate HTML5 Video-Player Showdown: 12 Players Compared". Cloudinary . 28 июня 2020 г. Получено 7 декабря 2021 г.
  34. ^ abc DASH в ITEC, плагин VLC, DASHEncoder и набор данных от C. Mueller, S. Lederer, C. Timmerer
  35. ^ "C. Müller и C. Timmerer, "Плагин VLC Media Player, обеспечивающий динамическую адаптивную потоковую передачу по HTTP", в трудах ACM Multimedia 2011, Скоттсдейл, Аризона, 28 ноября 2011 г." (PDF) .
  36. ^ "VLC 3.0 features". Архивировано из оригинала 2020-07-30 . Получено 2015-02-13 .
  37. ^ «HTTP-адаптивная потоковая передача с помощью GStreamer – coaxion.net – блог slomo».
  38. ^ libdash: Клиентская библиотека DASH с открытым исходным кодом от bitmovin Gmbh
  39. ^ "SDK видеоплеера для безупречного просмотра | HTML5 Player". bitmovin.com .
  40. ^ "Трансляция MPEG-DASH через HTTP с помощью Wowza Streaming Engine". Wowza Media Systems .
  41. ^ "DASH Streaming and Playlists". Архивировано из оригинала 2017-08-31 . Получено 2016-07-05 .
  42. ^ "Трансляция MPEG-DASH через Nimble Streamer - Softvelum". wmspanel.com .
  43. ^ "Netview и унифицированная потоковая передача DASH". Журнал Streaming Media .
  44. ^ "Информационный листок USP". Архивировано из оригинала 21.04.2015 . Получено 17.04.2015 .
  45. ^ Akamai объявляет о встроенной поддержке MPEG-DASH и HDS для рабочих процессов живого видео
  46. ^ "Amazon Elastic Transcoder теперь поддерживает MPEG-DASH". Amazon Web Services, Inc. Получено 2016-06-03 .
  47. ^ "MPEG-DASH и потоковая передача справочная информация и ресурсы". 3 марта 2016 г.
  48. ^ "bitcodin.com Поддерживаемые форматы". Архивировано из оригинала 2016-03-28 . Получено 2015-05-04 .
  49. ^ «Доставка HLS и MPEG-DASH с помощью видеоплеера Cloudinary | Cloudinary». cloudinary.com .
  50. ^ "Engineering Broadcast: FM и Online". Insanity Radio Tech . 26 июля 2017 г. Получено 7 декабря 2021 г.
  51. ^ ab "С. Ледерер, К. Мюллер и К. Тиммерер, "Динамическая адаптивная потоковая передача по HTTP-набору данных", в трудах конференции ACM Multimedia Systems Conference 2012, Чапел-Хилл, Северная Каролина, 22-24 февраля 2012 г." (PDF) .
  52. ^ ab "Фрагментация, сегментация, разделение и чередование · gpac/gpac Wiki". GitHub .
  53. ^ "DashCast | GPAC".
  54. ^ "Media Goom. Essential Adaptive Web Streaming with MPEG-DASH and HLS". Архивировано из оригинала 2017-01-18.
  55. ^ «Начало работы — Bento4». www.bento4.com .
  56. ^ Обзор набора данных MPEG DASH
  57. ^ «Распределенный набор данных DASH | ITEC – Динамическая адаптивная потоковая передача по HTTP».
  58. ^ "MPEG DASH Test Suite". Архивировано из оригинала 2014-03-07 . Получено 2013-11-22 .
  59. ^ "Тестовые потоки MPEG DASH". BBC R&D . 9 сентября 2013 г.
  60. ^ "Полное руководство по Widevine". encoding.com. Архивировано из оригинала 2021-12-29 . Получено 2018-01-11 .
  61. ^ "Решение для анализа и мониторинга MPEG-DASH". mividi.com . Получено 15.09.2019 .
  62. ^ «Упрощенная адаптивная потоковая передача видео: анонс поддержки HLS и DASH в Windows 10». learn.microsoft.com . 29 января 2015 г.
  63. ^ "Динамическая адаптивная потоковая передача по HTTP (MPEG-DASH) | Могу ли я использовать... Таблицы поддержки для HTML5, CSS3 и т. д.". caniuse.com .
  64. ^ «История версий MPC-BE — Видеопомощь».
  65. ^ "Список патентов DASH" (PDF) . MPEG LA . Получено 10 июля 2019 г.

Внешние ссылки