stringtranslate.com

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

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

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

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

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

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

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

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

Обзор

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

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

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

Реализации

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

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

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

Серверы

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

Услуги

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

Другой

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

Клиенты

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

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

Обладатели патентов

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

  1. ^ Чен, Сунцин; Шен, Бо; Тан, Вай-тян; Ух, Сьюзи; Чжан, Сяодун (9 июля 2006 г.). «Аргументы в пользу потоковой передачи через Интернет через веб-серверы». 2006 Международная конференция IEEE по мультимедиа и выставкам . стр. 2145–2148. дои : 10.1109/ICME.2006.262660. eISSN  1945-788X. ISBN 1-4244-0367-7. ISSN  1945-7871. S2CID  9202042.
  2. ^ Чен, Сунцин; Шен, Бо; Ух, Сьюзи; Чжан, Сяодун (23 июля 2007 г.). «SProxy: инфраструктура кэширования для поддержки потоковой передачи через Интернет». Транзакции IEEE в мультимедиа . 9 (5): 1062–1072. CiteSeerX 10.1.1.74.4838 . дои : 10.1109/TMM.2007.898943. ISSN  1520-9210. S2CID  870854. 
  3. ^ "Логика ABR" . Гитхаб .
  4. ^ ab «От теории к практике: улучшение адаптации битрейта в эталонном проигрывателе DASH, Спитери, Ситараман и Спарацио, конференция ACM Multimedia Systems, июнь 2018 г.» (PDF) .
  5. ^ "Целевая страница клиента со ссылкой на JavaScript Dash.js" . ссылка.dashif.org . Проверено 28 августа 2020 г.
  6. ^ Спитери, Кевин; Ургаонкар, Рахул; Ситараман, Рамеш К. (2020). «BOLA: адаптация битрейта, близкая к оптимальному, для онлайн-видео». Транзакции IEEE/ACM в сети . 28 (4): 1698–1711. arXiv : 1601.06748 . дои : 10.1109/TNET.2020.2996964. S2CID  219792107.
  7. ^ ab «MPEG ратифицирует проект стандарта для DASH». МПЕГ. 2011-12-02. Архивировано из оригинала 20 августа 2012 г. Проверено 26 августа 2012 г.
  8. ^ «MPEG-DASH против Apple HLS против Microsoft Smooth Streaming против Adobe HDS» . 29 марта 2015 г. Проверено 3 июня 2016 г.
  9. ^ «ISO/IEC 23009-1:2012». ИСО .
  10. ^ ab ETSI 3GPP 3GPP TS 26.247; Прозрачная сквозная потоковая служба с коммутацией пакетов (PSS); Прогрессивная загрузка и динамическая адаптивная потоковая передача через HTTP (3GP-DASH)
  11. ^ Спецификация решения открытого форума IPTV, том 2a - Адаптивная потоковая передача HTTP V2.1. Архивировано 9 октября 2011 г. на Wayback Machine.
  12. ^ «Отраслевой форум DASH | Катализирует внедрение MPEG-DASH» . Dashif.org .
  13. ^ «Спецификация HbbTV 1.5» (PDF) . Архивировано из оригинала (PDF) 3 июля 2014 г.
  14. ^ «Технологии | MPEG». mpeg.chiariglione.org .
  15. ^ Динамическая адаптивная потоковая передача 3GPP через HTTP - Стандарты и принципы проектирования. Архивировано 5 августа 2016 г. в Wayback Machine Т. Стокхаммером.
  16. ^ «На пути к обеспечению справедливости качества обслуживания в масштабах всей сети с использованием адаптивной потоковой передачи видео с помощью OpenFlow» . ученый.google.com .
  17. ^ Бенталеб, Абдельхак; Таани, Баян; Беген, Али К.; Тиммерер, Кристиан; Циммерманн, Роджер (21 января 2019 г.). «Обзор схем адаптации битрейта для потоковой передачи мультимедиа через HTTP». Опросы и учебные пособия IEEE по коммуникациям . 21 (1): 562–585. дои : 10.1109/COMST.2018.2862938 . S2CID  67867085.
  18. ^ «DASH через ICN/CCN | ITEC – динамическая адаптивная потоковая передача через HTTP» .
  19. ^ «MPEG LA объявляет о приеме патентов для организации совместной лицензии на MPEG-DASH» (PDF) . Архивировано из оригинала (PDF) 7 августа 2015 г.
  20. ^ «Брифинг по лицензиям на патентный портфель DASH *» (PDF) . MPEG Лос-Анджелес . 04.03.2019 . Проверено 10 июля 2019 г.
  21. ^ "Экзоплеер". Android-разработчики . Проверено 7 декабря 2021 г.
  22. ^ Совместимость устройств
  23. ^ Статус MPEG-DASH сегодня и почему Youtube и Netflix используют его в HTML5.
  24. ^ Расширения медиа-источников HTML5
  25. ^ «SDK видеоплеера для безупречного просмотра | HTML5 Player» . bitmovin.com . Архивировано из оригинала 3 июля 2015 года.
  26. ^ «Расширения зашифрованного мультимедиа». w3c.github.io .
  27. ^ «Эта демонстрация показывает Bitmovin Player, отображающий видео 360 ° с VR» . bitmovin.com .
  28. ↑ abc Виджаянагар, Кришна Рао (3 июня 2021 г.). «Обзор 13 лучших видеоплееров HTML5 для Интернета [2021]». ОТТВерс . Проверено 7 декабря 2021 г.
  29. ^ abc "clappr Dash.js hls.js rx-player shaka-player videojs-contrib-hls". NPM Trends.com . Проверено 7 декабря 2021 г.
  30. ^ Чжан, Бо; Тейшейра, Тьяго; Резник, Юрий (24 июня 2021 г.). «Производительность потоковых проигрывателей HTTP с низкой задержкой». Материалы 12-й конференции ACM по мультимедийным системам . стр. 356–362. дои : 10.1145/3458305.3478442 . ISBN 9781450384346. S2CID  237596948.
  31. ^ Чимпану, Каталин (24 августа 2015 г.). «Знакомьтесь с Shaka Player, видеоплеером HTML5 от Google для условий низкой пропускной способности». Софтпедия . Проверено 13 августа 2016 г.
  32. ^ «Окончательная битва видеоплееров HTML5: сравнение 12 игроков» . Облачно . 28 июня 2020 г. Проверено 7 декабря 2021 г.
  33. ^ abc DASH в ITEC, плагин VLC, DASHEncoder и набор данных К. Мюллера, С. Ледерера, К. Тиммерера
  34. ^ «К. Мюллер и К. Тиммерер, «Плагин VLC Media Player, обеспечивающий динамическую адаптивную потоковую передачу через HTTP», В материалах ACM Multimedia 2011, Скоттсдейл, Аризона, 28 ноября 2011 г.» (PDF) .
  35. ^ «Функции VLC 3.0» .
  36. ^ «Адаптивная потоковая передача HTTP с помощью GStreamer - coaxion.net - блог slomo» .
  37. ^ libdash: Клиентская библиотека DASH с открытым исходным кодом от bitmovin Gmbh.
  38. ^ «SDK видеоплеера для безупречного просмотра | HTML5 Player» . bitmovin.com .
  39. ^ «Потоковая передача MPEG-DASH через HTTP с помощью Wowza Streaming Engine» . Вовза Медиа Системс .
  40. ^ «Потоковая передача DASH и плейлисты» .
  41. ^ «Потоковая передача MPEG-DASH через Nimble Streamer — Softvelum» . wmspanel.com .
  42. ^ «Netview и унифицированная потоковая передача DASH» . Журнал стриминговых медиа .
  43. ^ «Информационный бюллетень Фармакопеи США» . Архивировано из оригинала 21 апреля 2015 г. Проверено 17 апреля 2015 г.
  44. ^ Akamai объявляет о встроенной поддержке MPEG-DASH и HDS для рабочих процессов видео в реальном времени
  45. ^ «Amazon Elastic Transcoder теперь поддерживает MPEG-DASH» . Amazon Веб-сервисы, Inc. Проверено 3 июня 2016 г.
  46. ^ «MPEG-DASH, справочники и ресурсы по потоковой передаче» . 3 марта 2016 г.
  47. ^ «Поддерживаемые форматы bitcodin.com» . Архивировано из оригинала 28 марта 2016 г. Проверено 4 мая 2015 г.
  48. ^ «Доставка HLS и MPEG-DASH с помощью видеоплеера Cloudinary | Cloudinary» . Cloudinary.com .
  49. ^ «Инженерное вещание: FM и онлайн» . Безумная радиотехника . 26 июля 2017 года . Проверено 7 декабря 2021 г.
  50. ^ ab «С. Ледерер, К. Мюллер и К. Тиммерер, «Динамическая адаптивная потоковая передача через набор данных HTTP», В материалах конференции ACM Multimedia Systems 2012, Чапел-Хилл, Северная Каролина, 22–24 февраля 2012 г.» (PDF ) .
  51. ^ ab «Фрагментация, сегментация, разделение и чередование · gpac/gpac Wiki». Гитхаб .
  52. ^ "DashCast | GPAC" .
  53. ^ «Media Goom. Основная адаптивная веб-потоковая передача с MPEG-DASH и HLS» . Архивировано из оригинала 18 января 2017 г.
  54. ^ «Начало работы - Bento4» . www.bento4.com .
  55. ^ Обзор набора данных MPEG DASH
  56. ^ «Распределенный набор данных DASH | ITEC – динамическая адаптивная потоковая передача через HTTP» .
  57. ^ "Тестовый набор MPEG DASH" . Архивировано из оригинала 7 марта 2014 г. Проверено 22 ноября 2013 г.
  58. ^ «Тестовые потоки MPEG DASH» . Исследования и разработки BBC . 9 сентября 2013 г.
  59. ^ «Полное руководство по Widevine». кодирование.com . Проверено 11 января 2018 г.
  60. ^ «Решение для анализа и мониторинга MPEG-DASH» . mividi.com . Проверено 15 сентября 2019 г.
  61. ^ «Упрощенная адаптивная потоковая передача видео: объявление о поддержке HLS и DASH в Windows 10» . Learn.microsoft.com . 29 января 2015 г.
  62. ^ «Динамическая адаптивная потоковая передача через HTTP (MPEG-DASH) | Могу ли я использовать… Таблицы поддержки HTML5, CSS3 и т. Д.» caniuse.com .
  63. ^ «История версий MPC-BE — VideoHelp» .
  64. ^ «Список патентов DASH» (PDF) . MPEG Лос-Анджелес . Проверено 10 июля 2019 г.

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