MPEG-DASH: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
 
(не показано 30 промежуточных версий 10 участников)
Строка 1: Строка 1:
{{toc-right}}
{{В инкубаторе}}
'''MPEG-DASH''' (от ''[[MPEG]]'' и {{lang-en|Dynamic Adaptive Streaming over HTTP}}) — технология {{iw|Адаптивная потоковая передача данных|адаптивной потоковой передачи данных|en|Adaptive bitrate streaming}}, предоставляющая возможность доставки [[Потоковое мультимедиа|потокового]] мультимедиа-контента через [[Интернет]] по протоколу [[HTTP]]<ref>{{Cite web |url=http://mpeg.chiariglione.org/technologies/mpeg-b/mpb-dash/index.htm |title=Overview of Dynamic Adaptive Streaming over HTTP (DASH) |access-date=2014-12-11 |archive-date=2020-11-24 |archive-url=https://web.archive.org/web/20201124150046/https://mpeg.chiariglione.org/technologies/mpeg-b/mpb-dash/index.htm |deadlink=no }}</ref>. Является первым решением по потоковой передаче данных с адаптивным битрейтом, получившим статус [[Международная стандартизация|международного стандарта]]<ref name="MPEGPressRelease">{{cite news |title=MPEG ratifies its draft standard for DASH |publisher=MPEG |url=http://mpeg.chiariglione.org/meetings/geneva11-1/geneva_press.htm |date=2011-12-02 |accessdate=2012-08-26 |url-status=dead |archiveurl=https://web.archive.org/web/20120820233136/http://mpeg.chiariglione.org/meetings/geneva11-1/geneva_press.htm |archivedate=2012-08-20 }}</ref><ref name="ZIPLink">{{Cite web |url=http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip |title=MPEG-DASH 2nd Edition Specification (ISO/IEC 23009-1:2014) |access-date=2014-12-15 |archive-date=2020-09-27 |archive-url=https://web.archive.org/web/20200927232058/http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip |deadlink=no }}</ref>.
{{Инкубатор, Проверить статью|20141211}}


== Описание ==
'''Dynamic Adaptive Streaming over HTTP''' (сокращённо {{Lang-en|DASH, MPEG-DASH}}) - это технология [[Adaptive_bitrate_streaming|адаптивной потоковой передачи данных]], предоставляющая возможность высококачественной доставки [[Мультимедиа|медиа-контента]] через [[Интернет]] c традиционных [[HTTP]] [[Веб-сервер|веб-серверов]]. MPEG-DASH предусматривает разбиение контента на последовательность небольших файловых сегментов для передачи по HTTP. Каждый сегмент содержит небольшой отрывок контента, который, в свою очередь, может быть значительной длины, например кинофильм или живая трансляция спортивного состязания. Контент может создаваться в нескольких разных [[битрейт|битрейтах]], и клиенту DASH становятся доступными альтернативные сегменты, закодированные в разных битрейтах, выравненные в одной временной шкале. По мере проигрывания контента, клиент автоматически выбирает следующий сегмент для скачивания и проигрывания из доступных альтернатив исходя из условия работы сети. Клиент выбирает сегмент с наивысшим битрейтом, который возможно скачать и проиграть вовремя, без зависания и буферизации, предоставляя высококачественное проигрывание.
Технология предусматривает разбиение [[контент]]а на последовательность небольших файловых сегментов, каждый из которых содержит небольшой отрывок содержимого. Сам контент может создаваться в нескольких [[битрейт]]ах, и клиенту DASH становятся доступными альтернативные сегменты, выравненные в одной временной шкале. По мере проигрывания, клиент автоматически выбирает следующий сегмент для скачивания и воспроизведения из доступных альтернатив исходя из условия работы сети. Клиент выбирает сегмент с наивысшим битрейтом, который возможно скачать и проиграть вовремя, без зависания и буферизации.


Технология использует существующую инфраструктуру [[веб-сервер]]ов HTTP, применяемую для доставки практически всего контента [[Всемирная паутина|Всемирной паутины]], это позволяет таким устройствам как настольные персональные компьютеры, смартфоны, планшеты, телевизоры с доступом в сеть потреблять мультимедийный контент ([[видео]], [[Интернет-радио|радио]], телевидение) с учётом переменных условий работы Интернета.
MPEG-DASH является первым решением по потоковой передаче данных с адаптивным битрейтом, которое является международным стандартом.<ref name="MPEGPressRelease">{{cite news |title=MPEG ratifies its draft standard for DASH |publisher=MPEG |url=http://mpeg.chiariglione.org/meetings/geneva11-1/geneva_press.htm |date=2011-12-02 |accessdate=2012-08-26}}</ref> MPEG-DASH не следует путать с протоколом: протокол, на основе которого работает MPEG-DASH, - это HTTP, отсюда "H" в его названии.


Спецификация предусматривает специальный формат для описания медиапотока (MPD, {{lang-en|media presentation description}}), в нём содержится информация о сегментах (временна́я шкала, [[URL]], характеристики медиа, такие как [[Разрешение (компьютерная графика)|разрешение]] и битрейт видео)<ref>[http://www.slideshare.net/christian.timmerer/dynamic-adaptive-streaming-over-http-dash DASH Overview] {{Wayback|url=http://www.slideshare.net/christian.timmerer/dynamic-adaptive-streaming-over-http-dash |date=20141206083954 }} by C. Timmerer and C. Mueller</ref>. Сегменты могут содержать любые медиаданные, однако спецификация подробно описывает два типа [[Медиаконтейнер|контейнеров]]: {{iw|медиафайл ISO||en|ISO base media file format}} (например, формат файла [[MPEG-4 Part 14|MP4]]) и [[MPEG-TS|MPEG-2 Transport Stream]].
MPEG-DASH использует существующую инфраструктуру веб-серверов HTTP, применяемую для доставки практически всего контента [[Всемирная_паутина|Всемирной паутины]]. Это позволяет таким устройствам, как настольные ПК, смартфоны, планшеты, телевизоры с доступом в сеть и т.п., потреблять мультимедийный контент (видео, радио, ТВ) с учетом переменных условий работы сети Интернет благодаря технологии потоков с адаптивным битрейтом.


Технология не зависит от используемых аудио- и видео-[[кодек]]ов. Как правило, бывает доступно одно или несколько представлений мультимедиа-файлов (например, с разным разрешением или битрейтом) и выбор может быть сделан на основе состояния сети передачи данных, возможностей устройства или предпочтений пользователя, создавая, таким образом, условия для потоковой передачи с адаптивным битрейтом<ref>[http://www.mmsys.org/?q=node/43#mmt1 3GPP Dynamic Adaptive Streaming over HTTP — Standards and Design Principles] {{Wayback|url=http://www.mmsys.org/?q=node%2F43 |date=20160805222811 }} by T. Stockhammer</ref> и оптимальным качеством<ref>{{Cite web |url=http://scholar.google.com/citations?view_op=view_citation&citation_for_view=ZDbuOE4AAAAJ:hqOjcs7Dif8C |title=Google Scholar Citations<!-- Заголовок добавлен ботом --> |access-date=2014-12-11 |archive-date=2014-12-17 |archive-url=https://web.archive.org/web/20141217085839/http://scholar.google.com/citations?view_op=view_citation&citation_for_view=ZDbuOE4AAAAJ:hqOjcs7Dif8C |deadlink=no }}</ref>. DASH также не зависит от [[Сетевая модель OSI|протоколов прикладного уровня]], таким образом, технология может использоваться поверх любого протокола, например [[Content centric networking|CCN]]<ref name="dashccn">{{Cite web |url=http://www-itec.uni-klu.ac.at/dash/?page_id=1097 |title=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 |access-date=2014-12-11 |archive-date=2019-02-06 |archive-url=https://web.archive.org/web/20190206112548/http://www-itec.uni-klu.ac.at/dash/?page_id=1097 |deadlink=no }}</ref>.
== Обзор ==
DASH - это технология потоковой передачи данных адаптивным битрейтом, где мультимедийный файл делится на один или несколько сегментов и доставляется по HTTP.<ref>[http://mpeg.chiariglione.org/technologies/mpeg-b/mpb-dash/index.htm Overview of Dynamic Adaptive Streaming over HTTP (DASH)]</ref>
Описание медиа-презентации ({{Lang-en|media presentation description, MPD}}) описывает информацию о сегментах (временная шкала, URL, характеристики медиа, такие как разрешение и битрейт видео).<ref>[http://www.slideshare.net/christian.timmerer/dynamic-adaptive-streaming-over-http-dash DASH Overview] by C. Timmerer and C. Mueller</ref>
Сегменты могут содержать любые медиа-данные, однако спецификация подробно описывает два типа контейнеров: [[ISO base media file format|ISO base media file format]] (например, формат файла [[MPEG-4_Part_14|MP4]]) и [[MPEG-TS|MPEG-2 Transport Stream]].<ref name="timmerer-2">[http://multimediacommunication.blogspot.com/2011/02/dynamic-adaptive-streaming-over-http.html Updates on DASH] – blog entry</ref>

DASH инвариантен к используемым аудио и видео кодекам. Как правило, бывает доступно одно или несколько представлений мультимедиа-файлов (напр., с разным разрешением или битрейтом) и выбор может быть сделан на основе состояния сети передачи данных, возможностей устройства или предпочтений пользователя, создавая, таким образом, условия для потоковой передачи с адаптивным битрейтом<ref>[http://www.mmsys.org/?q=node/43#mmt1 3GPP Dynamic Adaptive Streaming over HTTP Standards and Design Principles] by T. Stockhammer</ref> и достойного качества.<ref>http://scholar.google.com/citations?view_op=view_citation&citation_for_view=ZDbuOE4AAAAJ:hqOjcs7Dif8C</ref> DASH также инвариантен к протоколу приложений, по которому идёт работа, т.о. DASH можно использовать поверх любого протокола, например [[Content centric networking|CCN]].<ref name="dashccn">[http://www-itec.uni-klu.ac.at/dash/?page_id=1097 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 ]</ref>


== Стандартизация ==
== Стандартизация ==
Технология MPEG-DASH была разработана в рамках [[MPEG]]. Работа над DASH была начата в 2010; она стала Черновиком международного стандарта в январе 2011, и Международным стандартом в ноябре 2011.<ref name="MPEGPressRelease" /><ref name="timmerer-1">[http://multimediacommunication.blogspot.com/2010/05/http-streaming-of-mpeg-media.html HTTP streaming of MPEG media – blog entry]</ref><ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623 ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH)]</ref> Стандарт MPEG-DASH был опубликован как [http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip ISO/IEC 23009-1:2012] в апреле 2012. В июле 2013 был одобрена вторая редакция MPEG-DASH, включающая первую поправку и список опечаток, описывающая поддержку сообщений о событиях и якоря медиа-презентаций.<ref>[http://multimediacommunication.blogspot.co.at/2013/08/mpeg-news-report-from-105th-meeting.html - MPEG-DASH 2nd edition - blog entry]</ref>
Технология была разработана в рамках группы [[MPEG]], работа была начата в 2010 году, в январе 2011 года получила статус драфта (черновика) международного стандарта и утверждена в качестве международного стандарта в ноябре 2011 года<ref name="MPEGPressRelease" /><ref>{{Cite web |url=http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623 |title=ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH) |access-date=2014-12-11 |archive-date=2017-01-29 |archive-url=https://web.archive.org/web/20170129114336/http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623 |deadlink=no }}</ref>. В апреле 2012 года стандарт MPEG-DASH опубликован с идентификатором ISO/IEC 23009-1:2012<ref>{{Cite web |url=http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip |title=ISO/IEC 23009-1:2012 |access-date=2014-12-11 |archive-date=2020-08-26 |archive-url=https://web.archive.org/web/20200826031107/http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip |deadlink=no }}</ref>, в июле 2013 года одобрена вторая редакция стандарта, в которой были исправлены неточности и опечатки, также включившая поддержку сообщений о событиях и якоря медиапрезентаций, в декабре 2014 года вторая редакция стала общедоступной.


Технология DASH схожа с [[HTTP_Live_Streaming|HTTP Live Streaming]] (HLS) от [[Apple Inc.]], HTTP Dynamic Streaming (HDS) от [[Adobe Systems]] и Smooth Streaming от [[Microsoft]].<ref name="timmerer-2" /> DASH основан на Adaptive HTTP streaming (AHS) в Релизе 9 [[3GPP]] и на HTTP Adaptive Streaming (HAS) в Релизе 2 Open IPTV Forum.<ref name="3GPP">ETSI 3GPP [http://www.3gpp.org/ftp/Specs/html-info/26247.htm 3GPP TS 26.247; Transparent end-to-end packet-switched streaming service (PSS); Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)]</ref><ref>[http://www.oipf.tv/live/oipf/release_2.html Open IPTV Forum Solution Specification Volume 2a HTTP Adaptive Streaming V2.1]</ref> В рамках взаимодействия с MPEG, Релиз 10 3GPP перенял DASH (со специфичными кодеками и режимами работы) для работы в беспроводных сетях.<ref name="3GPP" />
Стандарт основан на технологиях Adaptive HTTP streaming (описана в 9-м выпуске стандартов [[3GPP]]) и HTTP Adaptive Streaming (HAS, из 2-го выпуска пакета стандартов {{iw|Open IPTV Forum}}<ref name="3GPP">ETSI 3GPP [http://www.3gpp.org/ftp/Specs/html-info/26247.htm 3GPP TS 26.247; Transparent end-to-end packet-switched streaming service (PSS); Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)]</ref><ref>[http://www.oipf.tv/live/oipf/release_2.html Open IPTV Forum Solution Specification Volume 2a — HTTP Adaptive Streaming V2.1] {{webarchive|url=https://web.archive.org/web/20111009063030/http://www.oipf.tv/live/oipf/release_2.html |date=2011-10-09 }}</ref>. В рамках взаимодействия с MPEG, 10-й выпуск стандартов 3GPP принял DASH (со специфичными кодеками и режимами работы) для работы в беспроводных сетях<ref name="3GPP" />. Кроме того, технология DASH схожа с [[HLS]] (HTTP Live Streaming) от [[Apple]], HDS (HTTP Dynamic Streaming) от [[Adobe]] и [[Технология Smooth Streaming|Smooth Streaming]] от [[Microsoft]]{{Уточнить}}.


В рабочую группу по разработке стандарта MPEG-DASH входят десятки представителей отрасли, таких как Microsoft, Adobe, [[Google]], [[Sony]], [[Netflix]], [[Qualcomm]], [[Ericsson]], [[Samsung]] и другие компании.<ref>[http://dashif.org/members/ Current DASH-IF members]</ref>
В рабочую группу по разработке стандарта MPEG-DASH входят десятки представителей отрасли, среди них Microsoft, Adobe, [[Google (компания)|Google]], [[Sony]], [[Netflix]], [[Qualcomm]], [[Ericsson]], [[Samsung]] и другие компании<ref>{{Cite web |url=http://dashif.org/members/ |title=Current DASH-IF members |access-date=2014-12-11 |archive-date=2015-05-04 |archive-url=https://web.archive.org/web/20150504072557/http://dashif.org/members/ |deadlink=no }}</ref>.

Организация [[MPEG LA]] 27 июля 2015 года объявила о сборе патентов для создания единого патентного пула MPEG-DASH<ref>{{cite web |url=http://www.mpegla.com/Lists/MPEG%20LA%20News%20List/Attachments/96/n-15-07-27.pdf |title=Архивированная копия |accessdate=2015-07-28 |archiveurl=https://web.archive.org/web/20150807012726/http://www.mpegla.com/Lists/MPEG%20LA%20News%20List/Attachments/96/n-15-07-27.pdf |archivedate=2015-08-07 }} MPEG LA Announces Call for Patents to Organize Joint License for MPEG-DASH</ref>


== Практическая реализация ==
== Практическая реализация ==
Для создания веб-плееров с поддержкой DASH разработаны и стандартизованы специальные расширения [[HTML5]] — MSE (''Media Source Extentions'')<ref name="mse">{{Cite web |url=https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html |title=HTML5 MSE |access-date=2014-12-11 |archive-date=2019-03-23 |archive-url=https://web.archive.org/web/20190323030223/https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html |deadlink=no }}</ref>, примером использования таких расширений служит [[Открытое программное обеспечение|открытый проект]] dash.js — JavaScript-проект<ref name="mse"/>.


Некоторые опробованные реализации серверных и клиентских решений, использующих DASH <!--в идеале списки примеров должны базироваться на независимых от авторов этих примеров источнике, и в совокупности рассматривающих предмет-->:
Медиа-индустрия постепенно берет в работу технологию DASH, вырабатывая решения, которые подойдут для коммерческого использования.
* [[Akamai]] [[CDN]] поддерживает DASH во всех режимах<ref>{{Cite web |url=http://www.akamai.com/html/about/press/releases/2014/press-040814.html |title=April 08, 2014 - Akamai Announces Native MPEG-DASH and HDS Support for Live Video Workflows<!-- Заголовок добавлен ботом --> |access-date=2014-12-11 |archive-date=2015-05-13 |archive-url=https://web.archive.org/web/20150513024723/http://www.akamai.com/html/about/press/releases/2014/press-040814.html |deadlink=no }}</ref>.
* [[Microsoft Azure|Azure Media Services]] полностью поддерживают технологию DASH<ref>{{Cite web |url=http://msdn.microsoft.com/en-us/library/ie/dn551370(v=vs.85).aspx |title=MPEG-DASH and streaming reference and resources (Windows)<!-- Заголовок добавлен ботом --> |access-date=2014-12-11 |archive-date=2014-12-26 |archive-url=https://web.archive.org/web/20141226084553/http://msdn.microsoft.com/en-us/library/ie/dn551370(v=vs.85).aspx |deadlink=no }}</ref>.
* Платформа Bitcodin от компании Bitcovin поддерживает создание потоков в MPEG-DASH на выходе<ref>http://www.bitmovin.net/bitcodin-cloud-based-transcoding-streaming-platform/ {{Wayback|url=http://www.bitmovin.net/bitcodin-cloud-based-transcoding-streaming-platform/ |date=20141217003949 }} bitcodin cloud service</ref>.
* Плеер bitdash может проигрывать DASH в браузере как через HTML5 и JavaScript, так и через [[Adobe Flash|Flash]] для устаревших браузеров<ref name="bitdash">{{Cite web |url=http://www.dash-player.com/ |title=bitdash MPEG-DASH Player |access-date=2021-07-18 |archive-date=2016-07-10 |archive-url=https://web.archive.org/web/20160710145025/http://www.dash-player.com/ |deadlink=yes }}</ref>.
* DASHEncoder от ITEC поддерживает создание контента в MPEG-DASH<ref name="itec-dash" /><ref name="dataset">{{Cite web |url=http://www-itec.uni-klu.ac.at/bib/files/p89-lederer.pdf |title=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. |access-date=2014-12-11 |archive-date=2020-07-07 |archive-url=https://web.archive.org/web/20200707201825/http://www-itec.uni-klu.ac.at/bib/files/p89-lederer.pdf |deadlink=no }}</ref>.
* Мультимедийный [[фреймворк]] от GPAC group в Telecom ParisTech<ref name="GPAC Telecom ParisTech">{{Cite web |url=http://gpac.wp.mines-telecom.fr/2011/02/02/mp4box-fragmentation-segmentation-splitting-and-interleaving/ |title=GPAC Telecom ParisTech |access-date=2014-12-11 |archive-date=2016-11-21 |archive-url=https://web.archive.org/web/20161121114739/https://gpac.wp.mines-telecom.fr/2011/02/02/mp4box-fragmentation-segmentation-splitting-and-interleaving/ |deadlink=no }}</ref> и CastLabs поддерживает создание контента в MPEG-DASH.
* Поддержка DASH и SDK для создания плеера на [[Android]] (с 2.2 по 4.x) реализована в [[Helix Universal Server]].
* Различные наборы данных DASH разработаны Институтом информационных технологий [[Клагенфуртский университет|Клагенфуртского университета]]<ref name="dataset" /><ref name="distributeddataset">{{Cite web |url=http://www-itec.uni-klu.ac.at/dash/?page_id=958 |title=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. |access-date=2014-12-11 |archive-date=2019-02-06 |archive-url=https://web.archive.org/web/20190206112553/http://www-itec.uni-klu.ac.at/dash/?page_id=958 |deadlink=no }}</ref> группой GPAC в Telecom ParisTech<ref name="GPAC Telecom ParisTech" /> и в Digital TV Labs.<ref name="DASH Digital TV Labs">{{Cite web |url=http://digitaltv-labs.com/products/consumer_electronics/details/m-peg_dash |title=MPEG DASH Test Suite |accessdate=2014-12-11 |archiveurl=https://web.archive.org/web/20140307212517/http://digitaltv-labs.com/products/consumer_electronics/details/m-peg_dash |archivedate=2014-03-07 |deadlink=yes }}</ref>; кроме того, институтом предоставляется сервис проверки файлов описания медиапрезентации (MPD)<ref name="itec-dash" />, а также разработан плагин к [[VLC]], позволяющий как вещать DASH, так и проигрывать его<ref name="itec-dash">[http://www-itec.uni-klu.ac.at/dash/ DASH at ITEC, VLC Plugin, DASHEncoder and Dataset] {{Wayback|url=http://www-itec.uni-klu.ac.at/dash/ |date=20190107105434 }} by C. Mueller, S. Lederer, C. Timmerer</ref><ref name="vlc-dash-paper">{{Cite web |url=http://www-itec.uni-klu.ac.at/bib/files/p723-muller.pdf |title=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. |access-date=2014-12-11 |archive-date=2020-09-04 |archive-url=https://web.archive.org/web/20200904165055/http://www-itec.uni-klu.ac.at/bib/files/p723-muller.pdf |deadlink=no }}</ref>.
* Клиентская свободно распространяемая библиотека libdash<ref name="libdash">[http://www.bitmovin.net/libdash libdash: Open-source DASH client library] {{Wayback|url=http://www.bitmovin.net/libdash |date=20130902090651 }} от bitmovin Gmbh</ref> не зависит от платформы и может использоваться на платформах [[Android]], [[iOS]], [[Windows Phone]] и других.
* Модуль nginx-rtmp для [[Nginx]] позволяет выдавать контент MPEG-DASH в режиме живого потока, такой поток проигрывается модифицированным плеером dash.js, а также плеером bitdash<ref name="bitdash" />.
* Nimble Streamer позволяет выдавать потоки MPEG-DASH в режиме [[Video on Demand|VOD]] из MP4-файлов и живом режиме из [[RTMP]]<ref>{{Cite web |url=https://wmspanel.com/nimble/dash |title=MPEG-DASH in Nimble Streamer |access-date=2014-12-11 |archive-date=2020-09-22 |archive-url=https://web.archive.org/web/20200922214309/https://wmspanel.com/nimble/dash |deadlink=no }}</ref>.
* Path1 PiXiE Encoder выдаёт DASH потоки в живом режиме<ref>{{Cite web |url=http://path1.com/products/pixie-encoder |title=Path 1 MPEG-DASH AVC Live Profile Adaptive Bitrate Encoder {{!}} Path 1<!-- Заголовок добавлен ботом --> |access-date=2014-12-11 |archive-date=2014-12-26 |archive-url=https://web.archive.org/web/20141226085112/http://path1.com/products/pixie-encoder |deadlink=no }}</ref>.
* [[Wowza|Wowza Streaming Engine]] позволяет выдавать потоки DASH в разных режимах<ref>{{Cite web |url=http://www.wowza.com/products/streaming-engine/features/mpeg-dash |title=MPEG-DASH Support in Wowza Streaming Engine |access-date=2014-12-11 |archive-date=2014-12-15 |archive-url=https://web.archive.org/web/20141215232256/http://www.wowza.com/products/streaming-engine/features/mpeg-dash |deadlink=no }}</ref>.


== См. также ==
Для создания плееров DASH на веб-сайтах можно использовать HTML5 Media Source Extentions (MSE)<ref name="mse">[https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html HTML5 MSE ]</ref> и вместе с ней плееры на основе [[JavaScript]]. Примером может служить [[Открытое программное обеспечение|open-source проект]] dash.js<ref name="mse"/> от DASH Industry Forum.
* [[HTTP Live Streaming]] (HLS)

* [[Последовательное скачивание]]
Некоторые опробованные реализации серверных и клиентских решений перечислены ниже.

* [[Akamai]] [[CDN]] поддерживает DASH во всех режимах.<ref>http://www.akamai.com/html/about/press/releases/2014/press-040814.html</ref>
* [[Microsoft Azure|Azure Media Services]] полностью поддерживают технологию DASH <ref>http://msdn.microsoft.com/en-us/library/ie/dn551370(v=vs.85).aspx</ref>
* Платформа bitcodin от bitmovin GmbH поддерживает создание потоков в MPEG-DASH на выходе<ref>http://www.bitmovin.net/bitcodin-cloud-based-transcoding-streaming-platform/ bitcodin cloud service</ref>
* Плеер bitdash может проигрывать DASH в браузере как через HTML5 и JavaScript, так и через Flash для устаревших браузеров.<ref name="bitdash">[http://www.dash-player.com bitdash MPEG-DASH Player]</ref>
* DASHEncoder от ITEC поддерживает создание контента в MPEG-DASH..<ref name="itec-dash" /><ref name="dataset">[http://www-itec.uni-klu.ac.at/bib/files/p89-lederer.pdf 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.]</ref>
* Мультимедийный [[фреймворк]] от GPAC group в Telecom ParisTech <ref name="GPAC Telecom ParisTech">[http://gpac.wp.mines-telecom.fr/2011/02/02/mp4box-fragmentation-segmentation-splitting-and-interleaving/ GPAC Telecom ParisTech]</ref> и castLabs GmbH поддерживает создание контента в MPEG-DASH.
* Поддержка DASH и SDK для создания плеера на Android (с 2.2 по 4.x) реализована в [[Helix Universal Server]].
* Различные наборы данных DASH разработаны Институтом Информационных Технологий (ITEC) в Alpen-Adria University Klagenfurt,<ref name="dataset" /><ref name="distributeddataset">[http://www-itec.uni-klu.ac.at/dash/?page_id=958 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.]</ref> группой GPAC в Telecom ParisTech<ref name="GPAC Telecom ParisTech" /> и в Digital TV Labs.<ref name="DASH Digital TV Labs">[http://digitaltv-labs.com/products/consumer_electronics/details/m-peg_dash MPEG DASH Test Suite]</ref>
* ITEC предоставляет сервис валидации для файлов описания медиа-презентации (MPD) MPEG-DASH.<ref name="itec-dash" />
* Клиентская open-source библиотека libdash,<ref name="libdash">[http://www.bitmovin.net/libdash libdash: Open-source DASH client library] by bitmovin Gmbh</ref> не зависит от платформы и может использоваться на платформах Android, iOS, Windows Phone, и т.п.
* nginx-rtmp-module для [[Nginx]] позволяет выдавать MPEG-DASH потоки в режиме живого потока<ref>[http://nginx-rtmp.blogspot.ru/2013/11/mpeg-dash-in-nginx-rtmp-module-108.html MPEG-DASH in nginx-rtmp-module 1.0.8]</ref> Поток играется модифицированным плеером dash.js<ref>[http://nginx-rtmp.blogspot.ru/2013/11/mpeg-dash-live-streaming-in-nginx-rtmp.html MPEG-DASH live streaming in nginx-rtmp-module]</ref>, а также плеером bitdash.<ref name="bitdash" />
* Nimble Streamer позволяет выдавать потоки MPEG-DASH в режиме VOD из MP4 файлов<ref>[https://wmspanel.com/nimble/dash MPEG-DASH in Nimble Streamer]</ref>
* Path1 PiXiE Encoder выдаёт DASH потоки в живом режиме.<ref>http://path1.com/products/pixie-encoder</ref>
* Плагин DASH к [[VLC]] от ITEC позволяет выдавать DASH и проигрывать его.<ref name="itec-dash">[http://www-itec.uni-klu.ac.at/dash/ DASH at ITEC, VLC Plugin, DASHEncoder and Dataset] by C. Mueller, S. Lederer, C. Timmerer</ref><ref name="vlc-dash-paper">[http://www-itec.uni-klu.ac.at/bib/files/p723-muller.pdf 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.]</ref>
* [[Wowza|Wowza Streaming Engine]] позволяет выдавать потоки DASH в разных режимах <ref>[http://www.wowza.com/products/streaming-engine/features/mpeg-dash MPEG-DASH Support in Wowza Streaming Engine]</ref>


== Примечания ==
== Примечания ==
Строка 50: Строка 46:


== Ссылки ==
== Ссылки ==
* [http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip Стандарт MPEG-DASH]
* [http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip Общедоступная редакция стандарта MPEG-DASH]
* [http://lists.uni-klu.ac.at/mailman/listinfo/dash Список рассылки DASH]
* [http://lists.uni-klu.ac.at/mailman/listinfo/dash Список рассылки DASH]
* [http://dash.itec.aau.at/ Исследования по DASHв Alpen-Adria Universität Klagenfurt]
* [http://dash.itec.aau.at/ Исследования по DASH в Клагенфуртском университете]
* [http://vicky.bitmovin.net/mailman/listinfo/libdash-dev Список рассылки разработчиков клиентской open-source библиотеки DASH libdash]
* [https://web.archive.org/web/20130624105147/http://vicky.bitmovin.net/mailman/listinfo/libdash-dev Список рассылки разработчиков свободной распространяемой клиентской библиотеки libdash]
* [http://www.dashif.org/ DASH Industry Forum] – Группа продвижения MPEG-DASH.
* [http://www.dashif.org/ DASH Industry Forum] — группа продвижения MPEG-DASH.
* [http://multimediacommunication.blogspot.co.at/2013/09/mpeg-dash-tutorials.html MPEG-DASH Tutorials] - Набор (видео)уроков от действующих редакторов.

== См. также ==
* [[Потоковое мультимедиа]]


{{MPEG}}
{{MPEG}}


[[:Категория:Мультимедиа]]
[[Категория:Мультимедиа]]

Текущая версия от 23:39, 16 декабря 2023

MPEG-DASH (от MPEG и англ. Dynamic Adaptive Streaming over HTTP) — технология адаптивной потоковой передачи данных[англ.], предоставляющая возможность доставки потокового мультимедиа-контента через Интернет по протоколу HTTP[1]. Является первым решением по потоковой передаче данных с адаптивным битрейтом, получившим статус международного стандарта[2][3].

Технология предусматривает разбиение контента на последовательность небольших файловых сегментов, каждый из которых содержит небольшой отрывок содержимого. Сам контент может создаваться в нескольких битрейтах, и клиенту DASH становятся доступными альтернативные сегменты, выравненные в одной временной шкале. По мере проигрывания, клиент автоматически выбирает следующий сегмент для скачивания и воспроизведения из доступных альтернатив исходя из условия работы сети. Клиент выбирает сегмент с наивысшим битрейтом, который возможно скачать и проиграть вовремя, без зависания и буферизации.

Технология использует существующую инфраструктуру веб-серверов HTTP, применяемую для доставки практически всего контента Всемирной паутины, это позволяет таким устройствам как настольные персональные компьютеры, смартфоны, планшеты, телевизоры с доступом в сеть потреблять мультимедийный контент (видео, радио, телевидение) с учётом переменных условий работы Интернета.

Спецификация предусматривает специальный формат для описания медиапотока (MPD, англ. media presentation description), в нём содержится информация о сегментах (временна́я шкала, URL, характеристики медиа, такие как разрешение и битрейт видео)[4]. Сегменты могут содержать любые медиаданные, однако спецификация подробно описывает два типа контейнеров: медиафайл ISO[англ.] (например, формат файла MP4) и MPEG-2 Transport Stream.

Технология не зависит от используемых аудио- и видео-кодеков. Как правило, бывает доступно одно или несколько представлений мультимедиа-файлов (например, с разным разрешением или битрейтом) и выбор может быть сделан на основе состояния сети передачи данных, возможностей устройства или предпочтений пользователя, создавая, таким образом, условия для потоковой передачи с адаптивным битрейтом[5] и оптимальным качеством[6]. DASH также не зависит от протоколов прикладного уровня, таким образом, технология может использоваться поверх любого протокола, например CCN[7].

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

[править | править код]

Технология была разработана в рамках группы MPEG, работа была начата в 2010 году, в январе 2011 года получила статус драфта (черновика) международного стандарта и утверждена в качестве международного стандарта в ноябре 2011 года[2][8]. В апреле 2012 года стандарт MPEG-DASH опубликован с идентификатором ISO/IEC 23009-1:2012[9], в июле 2013 года одобрена вторая редакция стандарта, в которой были исправлены неточности и опечатки, также включившая поддержку сообщений о событиях и якоря медиапрезентаций, в декабре 2014 года вторая редакция стала общедоступной.

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

В рабочую группу по разработке стандарта MPEG-DASH входят десятки представителей отрасли, среди них Microsoft, Adobe, Google, Sony, Netflix, Qualcomm, Ericsson, Samsung и другие компании[12].

Организация MPEG LA 27 июля 2015 года объявила о сборе патентов для создания единого патентного пула MPEG-DASH[13]

Практическая реализация

[править | править код]

Для создания веб-плееров с поддержкой DASH разработаны и стандартизованы специальные расширения HTML5 — MSE (Media Source Extentions)[14], примером использования таких расширений служит открытый проект dash.js — JavaScript-проект[14].

Некоторые опробованные реализации серверных и клиентских решений, использующих DASH :

  • Akamai CDN поддерживает DASH во всех режимах[15].
  • Azure Media Services полностью поддерживают технологию DASH[16].
  • Платформа Bitcodin от компании Bitcovin поддерживает создание потоков в MPEG-DASH на выходе[17].
  • Плеер bitdash может проигрывать DASH в браузере как через HTML5 и JavaScript, так и через Flash для устаревших браузеров[18].
  • DASHEncoder от ITEC поддерживает создание контента в MPEG-DASH[19][20].
  • Мультимедийный фреймворк от GPAC group в Telecom ParisTech[21] и CastLabs поддерживает создание контента в MPEG-DASH.
  • Поддержка DASH и SDK для создания плеера на Android (с 2.2 по 4.x) реализована в Helix Universal Server.
  • Различные наборы данных DASH разработаны Институтом информационных технологий Клагенфуртского университета[20][22] группой GPAC в Telecom ParisTech[21] и в Digital TV Labs.[23]; кроме того, институтом предоставляется сервис проверки файлов описания медиапрезентации (MPD)[19], а также разработан плагин к VLC, позволяющий как вещать DASH, так и проигрывать его[19][24].
  • Клиентская свободно распространяемая библиотека libdash[25] не зависит от платформы и может использоваться на платформах Android, iOS, Windows Phone и других.
  • Модуль nginx-rtmp для Nginx позволяет выдавать контент MPEG-DASH в режиме живого потока, такой поток проигрывается модифицированным плеером dash.js, а также плеером bitdash[18].
  • Nimble Streamer позволяет выдавать потоки MPEG-DASH в режиме VOD из MP4-файлов и живом режиме из RTMP[26].
  • Path1 PiXiE Encoder выдаёт DASH потоки в живом режиме[27].
  • Wowza Streaming Engine позволяет выдавать потоки DASH в разных режимах[28].

Примечания

[править | править код]
  1. Overview of Dynamic Adaptive Streaming over HTTP (DASH). Дата обращения: 11 декабря 2014. Архивировано 24 ноября 2020 года.
  2. 1 2 "MPEG ratifies its draft standard for DASH". MPEG. 2011-12-02. Архивировано из оригинала 20 августа 2012. Дата обращения: 26 августа 2012.
  3. DASH Overview Архивная копия от 6 декабря 2014 на Wayback Machine by C. Timmerer and C. Mueller
  4. 3GPP Dynamic Adaptive Streaming over HTTP — Standards and Design Principles Архивная копия от 5 августа 2016 на Wayback Machine by T. Stockhammer
  5. Google Scholar Citations. Дата обращения: 11 декабря 2014. Архивировано 17 декабря 2014 года.
  6. 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. Дата обращения: 11 декабря 2014. Архивировано 6 февраля 2019 года.
  7. ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH). Дата обращения: 11 декабря 2014. Архивировано 29 января 2017 года.
  8. ISO/IEC 23009-1:2012. Дата обращения: 11 декабря 2014. Архивировано 26 августа 2020 года.
  9. 1 2 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)
  10. Open IPTV Forum Solution Specification Volume 2a — HTTP Adaptive Streaming V2.1 Архивировано 9 октября 2011 года.
  11. Current DASH-IF members. Дата обращения: 11 декабря 2014. Архивировано 4 мая 2015 года.
  12. Архивированная копия. Дата обращения: 28 июля 2015. Архивировано 7 августа 2015 года. MPEG LA Announces Call for Patents to Organize Joint License for MPEG-DASH
  13. 1 2 HTML5 MSE. Дата обращения: 11 декабря 2014. Архивировано 23 марта 2019 года.
  14. April 08, 2014 - Akamai Announces Native MPEG-DASH and HDS Support for Live Video Workflows. Дата обращения: 11 декабря 2014. Архивировано 13 мая 2015 года.
  15. MPEG-DASH and streaming reference and resources (Windows). Дата обращения: 11 декабря 2014. Архивировано 26 декабря 2014 года.
  16. http://www.bitmovin.net/bitcodin-cloud-based-transcoding-streaming-platform/ Архивная копия от 17 декабря 2014 на Wayback Machine bitcodin cloud service
  17. 1 2 bitdash MPEG-DASH Player. Дата обращения: 18 июля 2021. Архивировано из оригинала 10 июля 2016 года.
  18. 1 2 3 DASH at ITEC, VLC Plugin, DASHEncoder and Dataset Архивная копия от 7 января 2019 на Wayback Machine by C. Mueller, S. Lederer, C. Timmerer
  19. 1 2 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. Дата обращения: 11 декабря 2014. Архивировано 7 июля 2020 года.
  20. 1 2 GPAC Telecom ParisTech. Дата обращения: 11 декабря 2014. Архивировано 21 ноября 2016 года.
  21. 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. Дата обращения: 11 декабря 2014. Архивировано 6 февраля 2019 года.
  22. MPEG DASH Test Suite. Дата обращения: 11 декабря 2014. Архивировано из оригинала 7 марта 2014 года.
  23. 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. Дата обращения: 11 декабря 2014. Архивировано 4 сентября 2020 года.
  24. libdash: Open-source DASH client library Архивная копия от 2 сентября 2013 на Wayback Machine от bitmovin Gmbh
  25. MPEG-DASH in Nimble Streamer. Дата обращения: 11 декабря 2014. Архивировано 22 сентября 2020 года.
  26. Path 1 MPEG-DASH AVC Live Profile Adaptive Bitrate Encoder | Path 1. Дата обращения: 11 декабря 2014. Архивировано 26 декабря 2014 года.
  27. MPEG-DASH Support in Wowza Streaming Engine. Дата обращения: 11 декабря 2014. Архивировано 15 декабря 2014 года.