MPEG-DASH: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Yurriq (обсуждение | вклад) Нет описания правки |
|||
(не показано 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}} |
|||
== Описание == |
|||
Технология предусматривает разбиение [[контент]]а на последовательность небольших файловых сегментов, каждый из которых содержит небольшой отрывок содержимого. Сам контент может создаваться в нескольких [[битрейт]]ах, и клиенту 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]]. |
|||
⚫ | |||
⚫ | Технология не зависит от используемых аудио- и видео-[[кодек]]ов. Как правило, бывает доступно одно или несколько представлений мультимедиа-файлов (например, с разным разрешением или битрейтом) и выбор может быть сделан на основе состояния сети передачи данных, возможностей устройства или предпочтений пользователя, создавая, таким образом, условия для потоковой передачи с адаптивным битрейтом<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> |
|||
⚫ | |||
== Стандартизация == |
== Стандартизация == |
||
Технология |
Технология была разработана в рамках группы [[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 года вторая редакция стала общедоступной. |
||
Стандарт основан на технологиях 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 входят десятки представителей отрасли, |
В рабочую группу по разработке стандарта 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 разработаны Институтом информационных технологий [[Клагенфуртский университет|Клагенфуртского университета]]<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]] и других. |
||
⚫ | |||
⚫ | * 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> |
|||
⚫ | |||
⚫ | |||
⚫ | * DASHEncoder от ITEC поддерживает создание контента в MPEG-DASH |
||
⚫ | |||
⚫ | |||
* Различные наборы данных 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" /> |
|||
⚫ | |||
⚫ | * nginx-rtmp |
||
⚫ | |||
* 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> |
|||
⚫ | |||
== Примечания == |
== Примечания == |
||
Строка 50: | Строка 46: | ||
== Ссылки == |
== Ссылки == |
||
* [http://standards.iso.org/ittf/PubliclyAvailableStandards/ |
* [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/ Исследования по |
* [http://dash.itec.aau.at/ Исследования по DASH в Клагенфуртском университете] |
||
* [http://vicky.bitmovin.net/mailman/listinfo/libdash-dev Список рассылки разработчиков |
* [https://web.archive.org/web/20130624105147/http://vicky.bitmovin.net/mailman/listinfo/libdash-dev Список рассылки разработчиков свободной распространяемой клиентской библиотеки libdash] |
||
* [http://www.dashif.org/ DASH Industry Forum] |
* [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].
См. также
[править | править код]Примечания
[править | править код]- ↑ Overview of Dynamic Adaptive Streaming over HTTP (DASH) . Дата обращения: 11 декабря 2014. Архивировано 24 ноября 2020 года.
- ↑ 1 2 "MPEG ratifies its draft standard for DASH". MPEG. 2011-12-02. Архивировано из оригинала 20 августа 2012. Дата обращения: 26 августа 2012.
- ↑ MPEG-DASH 2nd Edition Specification (ISO/IEC 23009-1:2014) . Дата обращения: 15 декабря 2014. Архивировано 27 сентября 2020 года.
- ↑ DASH Overview Архивная копия от 6 декабря 2014 на Wayback Machine by C. Timmerer and C. Mueller
- ↑ 3GPP Dynamic Adaptive Streaming over HTTP — Standards and Design Principles Архивная копия от 5 августа 2016 на Wayback Machine by T. Stockhammer
- ↑ Google Scholar Citations . Дата обращения: 11 декабря 2014. Архивировано 17 декабря 2014 года.
- ↑ 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 года.
- ↑ ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH) . Дата обращения: 11 декабря 2014. Архивировано 29 января 2017 года.
- ↑ ISO/IEC 23009-1:2012 . Дата обращения: 11 декабря 2014. Архивировано 26 августа 2020 года.
- ↑ 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)
- ↑ Open IPTV Forum Solution Specification Volume 2a — HTTP Adaptive Streaming V2.1 Архивировано 9 октября 2011 года.
- ↑ Current DASH-IF members . Дата обращения: 11 декабря 2014. Архивировано 4 мая 2015 года.
- ↑ Архивированная копия . Дата обращения: 28 июля 2015. Архивировано 7 августа 2015 года. MPEG LA Announces Call for Patents to Organize Joint License for MPEG-DASH
- ↑ 1 2 HTML5 MSE . Дата обращения: 11 декабря 2014. Архивировано 23 марта 2019 года.
- ↑ April 08, 2014 - Akamai Announces Native MPEG-DASH and HDS Support for Live Video Workflows . Дата обращения: 11 декабря 2014. Архивировано 13 мая 2015 года.
- ↑ MPEG-DASH and streaming reference and resources (Windows) . Дата обращения: 11 декабря 2014. Архивировано 26 декабря 2014 года.
- ↑ http://www.bitmovin.net/bitcodin-cloud-based-transcoding-streaming-platform/ Архивная копия от 17 декабря 2014 на Wayback Machine bitcodin cloud service
- ↑ 1 2 bitdash MPEG-DASH Player . Дата обращения: 18 июля 2021. Архивировано из оригинала 10 июля 2016 года.
- ↑ 1 2 3 DASH at ITEC, VLC Plugin, DASHEncoder and Dataset Архивная копия от 7 января 2019 на Wayback Machine by C. Mueller, S. Lederer, C. Timmerer
- ↑ 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 года.
- ↑ 1 2 GPAC Telecom ParisTech . Дата обращения: 11 декабря 2014. Архивировано 21 ноября 2016 года.
- ↑ 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 года.
- ↑ MPEG DASH Test Suite . Дата обращения: 11 декабря 2014. Архивировано из оригинала 7 марта 2014 года.
- ↑ 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 года.
- ↑ libdash: Open-source DASH client library Архивная копия от 2 сентября 2013 на Wayback Machine от bitmovin Gmbh
- ↑ MPEG-DASH in Nimble Streamer . Дата обращения: 11 декабря 2014. Архивировано 22 сентября 2020 года.
- ↑ Path 1 MPEG-DASH AVC Live Profile Adaptive Bitrate Encoder | Path 1 . Дата обращения: 11 декабря 2014. Архивировано 26 декабря 2014 года.
- ↑ MPEG-DASH Support in Wowza Streaming Engine . Дата обращения: 11 декабря 2014. Архивировано 15 декабря 2014 года.