MPEG-DASH: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Спасено источников — 2, отмечено мёртвыми — 0. #IABot (v1.6.1) |
|||
(не показано 10 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
⚫ | |||
'''MPEG-DASH''' (от ''[[MPEG]]'' и {{lang-en|Dynamic Adaptive Streaming over HTTP}}) — технология |
'''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>. |
||
⚫ | |||
== Описание == |
== Описание == |
||
Технология предусматривает разбиение [[ |
Технология предусматривает разбиение [[контент]]а на последовательность небольших файловых сегментов, каждый из которых содержит небольшой отрывок содержимого. Сам контент может создаваться в нескольких [[битрейт]]ах, и клиенту DASH становятся доступными альтернативные сегменты, выравненные в одной временной шкале. По мере проигрывания, клиент автоматически выбирает следующий сегмент для скачивания и воспроизведения из доступных альтернатив исходя из условия работы сети. Клиент выбирает сегмент с наивысшим битрейтом, который возможно скачать и проиграть вовремя, без зависания и буферизации. |
||
Технология использует существующую инфраструктуру [[веб-сервер]]ов HTTP, применяемую для доставки практически всего контента [[Всемирная паутина|Всемирной паутины]], это позволяет таким устройствам как настольные персональные компьютеры, смартфоны, планшеты, телевизоры с доступом в сеть потреблять мультимедийный контент ([[видео]], [[Интернет-радио|радио]], телевидение) с учётом переменных условий работы Интернета. |
Технология использует существующую инфраструктуру [[веб-сервер]]ов HTTP, применяемую для доставки практически всего контента [[Всемирная паутина|Всемирной паутины]], это позволяет таким устройствам как настольные персональные компьютеры, смартфоны, планшеты, телевизоры с доступом в сеть потреблять мультимедийный контент ([[видео]], [[Интернет-радио|радио]], телевидение) с учётом переменных условий работы Интернета. |
||
Спецификация предусматривает специальный формат для описания медиапотока (MPD, {{lang-en|media presentation description}}), в нём содержится информация о сегментах (временна́я шкала, [[URL]], характеристики медиа, такие как [[ |
Спецификация предусматривает специальный формат для описания медиапотока (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] by T. Stockhammer</ref> и оптимальным качеством<ref> |
Технология не зависит от используемых аудио- и видео-[[кодек]]ов. Как правило, бывает доступно одно или несколько представлений мультимедиа-файлов (например, с разным разрешением или битрейтом) и выбор может быть сделан на основе состояния сети передачи данных, возможностей устройства или предпочтений пользователя, создавая, таким образом, условия для потоковой передачи с адаптивным битрейтом<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>. |
||
== Стандартизация == |
== Стандартизация == |
||
Технология была разработана в рамках группы [[MPEG]], работа была начата в 2010 году, в январе 2011 года получила статус драфта (черновика) международного стандарта и утверждена в качестве международного стандарта в ноябре 2011 года<ref name="MPEGPressRelease" /><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 от [[Microsoft]]{{Уточнить}}. |
Стандарт основан на технологиях 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 (компания)|Google]], [[Sony]], [[Netflix]], [[Qualcomm]], [[Ericsson]], [[Samsung]] и другие компании<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> |
Организация [[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"> |
Для создания веб-плееров с поддержкой 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> |
* [[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> |
* [[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/ bitcodin cloud service</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"> |
* Плеер 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"> |
* 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"> |
* Мультимедийный [[фреймворк]] от 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 и SDK для создания плеера на [[Android]] (с 2.2 по 4.x) реализована в [[Helix Universal Server]]. |
||
* Различные наборы данных DASH разработаны Институтом информационных технологий [[Клагенфуртский университет|Клагенфуртского университета]]<ref name="dataset" /><ref name="distributeddataset"> |
* Различные наборы данных 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] от bitmovin Gmbh</ref> не зависит от платформы и может использоваться на платформах [[Android]], [[iOS]], [[Windows Phone]] и других. |
* Клиентская свободно распространяемая библиотека 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" />. |
* Модуль nginx-rtmp для [[Nginx]] позволяет выдавать контент MPEG-DASH в режиме живого потока, такой поток проигрывается модифицированным плеером dash.js, а также плеером bitdash<ref name="bitdash" />. |
||
* Nimble Streamer позволяет выдавать потоки MPEG-DASH в режиме [[ |
* 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> |
* 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> |
* [[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>. |
||
== |
== См. также == |
||
⚫ | |||
==См. также== |
|||
* [[HTTP Live Streaming]] (HLS) |
* [[HTTP Live Streaming]] (HLS) |
||
* [[Последовательное скачивание]] |
* [[Последовательное скачивание]] |
||
== Примечания == |
|||
⚫ | |||
== Ссылки == |
== Ссылки == |
||
Строка 48: | Строка 49: | ||
* [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 в Клагенфуртском университете] |
* [http://dash.itec.aau.at/ Исследования по DASH в Клагенфуртском университете] |
||
* [http://vicky.bitmovin.net/mailman/listinfo/libdash-dev Список рассылки разработчиков свободной распространяемой клиентской библиотеки 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. |
||
Текущая версия от 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 года.