Потоковая передача с адаптивным битрейтом — это метод, используемый для потоковой передачи мультимедиа по компьютерным сетям .
В то время как в прошлом большинство технологий потоковой передачи видео или аудио использовали протоколы потоковой передачи, такие как RTP с RTSP , сегодняшние технологии адаптивной потоковой передачи основаны почти исключительно на HTTP [ 1] и предназначены для эффективной работы в крупных распределенных сетях HTTP.
Потоковая передача с адаптивным битрейтом работает путем определения пропускной способности пользователя и мощности процессора в режиме реального времени и соответствующим образом регулирует качество медиапотока. [2] Для этого требуется использование кодера , который кодирует один исходный носитель (видео или аудио) с разными скоростями передачи данных . Клиент проигрывателя [3] переключается между потоковой передачей различных кодировок в зависимости от доступных ресурсов. [4] Это приводит к очень малой буферизации , более быстрому запуску и хорошему опыту как для высокопроизводительных, так и для низкопроизводительных соединений. [5]
Более конкретно, потоковая передача с адаптивным битрейтом — это метод потоковой передачи видео через HTTP, при котором исходный контент кодируется с разными скоростями передачи данных. Каждый из потоков с различной скоростью передачи данных сегментируется на небольшие многосекундные части. [6] Размер сегмента может варьироваться в зависимости от конкретной реализации, но обычно он составляет от двух до десяти секунд. [4] [6] Сначала клиент загружает файл манифеста , который описывает доступные сегменты потока и соответствующие им скорости передачи данных. Во время запуска потока клиент обычно запрашивает сегменты из потока с самой низкой скоростью передачи данных. Если клиент обнаружит, что пропускная способность сети превышает скорость передачи загруженного сегмента, он запросит сегмент с более высокой скоростью передачи данных. Позже, если клиент обнаружит, что пропускная способность сети ухудшилась, он запросит сегмент с более низкой скоростью передачи данных. Алгоритм адаптивного битрейта (ABR) в клиенте выполняет ключевую функцию принятия решения о том, какие сегменты битрейта загружать, на основе текущего состояния сети. Несколько типов алгоритмов ABR используются в коммерческих целях: алгоритмы на основе пропускной способности используют для принятия решений пропускную способность, достигнутую в ходе последних предыдущих загрузок (например, правило пропускной способности в Dash.js), алгоритмы на основе буфера используют только текущий уровень буфера клиента (например, , BOLA [7] в Dash.js), а гибридные алгоритмы объединяют оба типа информации (например, DYNAMIC [8] в Dash.js).
Пост-продакшн , сети доставки контента и студии используют технологию адаптивной скорости передачи данных, чтобы предоставить потребителям видео более высокого качества, используя меньше рабочей силы и ресурсов. Создание нескольких видеовыходов, особенно для потоковой передачи с адаптивной скоростью передачи данных, представляет большую ценность для потребителей. [9] Если технология работает правильно, контент конечного пользователя или потребителя должен воспроизводиться без перерывов и потенциально остаться незамеченным. Медиакомпании уже много лет активно используют технологию адаптивной скорости передачи данных, и это, по сути, стало стандартной практикой для провайдеров потокового вещания высокого класса; разрешение небольшой буферизации при потоковой передаче каналов с высоким разрешением (начинается с низкого разрешения и поднимается вверх).
Традиционная потоковая передача с адаптивным битрейтом, управляемая сервером, предоставляет потребителям потокового мультимедиа наилучшие возможности, поскольку медиасервер автоматически адаптируется к любым изменениям в сети каждого пользователя и условиям воспроизведения. [10] Индустрия средств массовой информации и развлечений также получает выгоду от потоковой передачи с адаптивным битрейтом. По мере роста видеопространства сети доставки контента и видеопровайдеры могут предоставить клиентам превосходные впечатления от просмотра. Технология адаптивного битрейта требует дополнительного кодирования , но упрощает общий рабочий процесс и дает лучшие результаты.
Технологии потоковой передачи с адаптивным битрейтом на основе HTTP дают дополнительные преимущества по сравнению с традиционной потоковой передачей с адаптивным битрейтом, управляемой сервером. Во-первых, поскольку технология потоковой передачи построена на основе HTTP , в отличие от адаптивной потоковой передачи на основе RTP , пакеты без проблем проходят через межсетевой экран и устройства NAT . Во-вторых, поскольку потоковая передача HTTP управляется исключительно клиентом, вся логика адаптации находится на клиенте. Это снижает потребность в постоянных соединениях между сервером и клиентским приложением. Более того, серверу не требуется хранить информацию о состоянии сеанса на каждом клиенте, что повышает масштабируемость. Наконец, можно легко адаптировать существующую инфраструктуру доставки HTTP, такую как HTTP-кэши и серверы. [11] [12] [13] [14]
Масштабируемая CDN используется для доставки потокового мультимедиа интернет-аудитории. CDN получает поток от источника на своем исходном сервере, а затем реплицирует его на многие или все свои пограничные кэш-серверы . Конечный пользователь запрашивает поток и перенаправляется на «ближайший» пограничный сервер. Это можно проверить с помощью libdash [15] и набора данных Distributed DASH (D-DASH) [16] , который имеет несколько зеркал в Европе, Азии и США. Использование адаптивной потоковой передачи на основе HTTP позволяет пограничному серверу запускать простое программное обеспечение HTTP-сервера, стоимость лицензии которого дешевая или бесплатная, что снижает стоимость лицензирования программного обеспечения по сравнению с дорогостоящими лицензиями медиасервера (например, Adobe Flash Media Streaming Server). Стоимость CDN для потокового мультимедиа HTTP в этом случае аналогична стоимости CDN веб-кэширования HTTP.
Адаптивная скорость передачи данных по HTTP была создана DVD Forum в группе WG1 Special Streaming в октябре 2002 года. Сопредседателями группы выступили Toshiba и Phoenix Technologies . Экспертная группа рассчитывает при сотрудничестве Microsoft , Apple Computer , DTS Inc. , Warner Brothers , 20th Century Fox , Digital Deluxe, Disney , Macromedia и Akamai . [ сомнительно - обсудить ] [ необходима ссылка ] Технология первоначально называлась DVDoverIP и была неотъемлемой частью книги DVD ENAV. [17] Идея возникла из хранения секторов TS DVD MPEG-1 и MPEG-2 в небольших файлах размером 2 КБ, которые будут передаваться плееру с помощью HTTP-сервера. Сегменты MPEG-1 обеспечивали поток с более низкой полосой пропускания, тогда как MPEG-2 обеспечивал поток с более высокой скоростью передачи данных. Исходная схема XML предоставляла простой список воспроизведения битрейтов, языков и URL-серверов. Первый рабочий прототип был представлен на DVD-форуме компанией Phoenix Technologies в лаборатории Harman Kardon в Филлингене, Германия. [ нужна цитата ]
Потоковая передача с адаптивной скоростью передачи данных была представлена компанией Move Networks в 2006 году [18] и в настоящее время разрабатывается и используется Adobe Systems , Apple , Microsoft и Octoshape. [19] В октябре 2010 года компания Move Networks получила патент на потоковую передачу с адаптивной скоростью передачи данных (патент США № 7818444). [20]
Динамическая адаптивная потоковая передача через HTTP (DASH), также известная как MPEG-DASH, является единственным решением потоковой передачи на основе HTTP с адаптивной скоростью передачи данных, которое является международным стандартом [21] . Технология MPEG-DASH была разработана в рамках MPEG . Работа над DASH началась в 2010 году и стала проектом международного стандарта в январе 2011 года и международным стандартом в ноябре 2011 года. [21] [22] [23] Стандарт MPEG-DASH был опубликован как ISO/IEC 23009-1:2012 в апреле. , 2012.
MPEG-DASH — это технология, связанная с динамической потоковой передачей HTTP Adobe Systems , потоковой передачей HTTP Live Streaming (HLS) компании Apple Inc. и Microsoft Smooth Streaming. [24] DASH основан на адаптивной потоковой передаче HTTP (AHS) в версии 9 3GPP и на адаптивной потоковой передаче HTTP (HAS) в версии 2 Open IPTV Forum . [25] В рамках сотрудничества с MPEG в версии 10 3GPP принят DASH ( с определенными кодеками и режимами работы) для использования в беспроводных сетях. [25]
Цель стандартизации решения адаптивной потоковой передачи — убедить рынок в том, что это решение может работать универсально, в отличие от других решений, более специфичных для определенных поставщиков, таких как HLS от Apple, Smooth Streaming от Microsoft или HDS от Adobe.
Доступными реализациями являются проигрыватель Bitdash MPEG-DASH на основе HTML5 [26], а также библиотека клиентского доступа DASH на основе C++ с открытым исходным кодом libdash компании bitmovin GmbH [15] инструменты DASH Института информационных технологий (ITEC) в Альпене. -Университет Адрия Клагенфурт, [3] [27] мультимедийная структура группы GPAC в Telecom ParisTech, [28] и проигрыватель Dash.js [29] DASH-IF .
HTTP Live Streaming (HLS) — это протокол передачи потокового мультимедиа на основе HTTP, реализованный Apple Inc. как часть QuickTime X и iOS . HLS поддерживает как прямой эфир, так и видео по запросу . Он работает путем разбиения медиапотоков или файлов на короткие фрагменты (медиасегменты), которые сохраняются в виде файлов MPEG-TS или фрагментированных файлов MP4 . Обычно это делается при нескольких битрейтах с использованием приложения сегментатора потока или файла, также известного как упаковщик. Одна из таких реализаций сегментатора предоставлена Apple. [30] Доступны дополнительные упаковщики, в том числе бесплатные предложения с открытым исходным кодом, такие как Shaka Packager от Google [31] , а также различные коммерческие инструменты, такие как Unified Streaming. [32] Сегментатор также отвечает за создание набора файлов списков воспроизведения в формате M3U8, которые описывают медиафрагменты. Каждый список воспроизведения привязан к определенному битрейту и содержит относительные или абсолютные URL-адреса фрагментов для этого битрейта. Затем клиент несет ответственность за запрос соответствующего списка воспроизведения в зависимости от доступной пропускной способности.
HTTP Live Streaming — стандартная функция iPhone 3.0 и более поздних версий. [33]
Apple представила свое решение на рассмотрение IETF в виде информационного запроса на комментарии . [34] Это было официально принято как RFC 8216. Существует ряд проприетарных решений и решений с открытым исходным кодом как для реализации сервера (сегментатор), так и для клиентского проигрывателя.
Потоки HLS можно идентифицировать по расширению формата URL-адреса списка воспроизведения m3u8 или MIME-типу application/vnd.apple.mpegurl. [35] Эти адаптивные потоки могут быть доступны с разными скоростями передачи данных, и клиентское устройство взаимодействует с сервером для получения наилучшей доступной скорости передачи данных, которая может быть надежно доставлена.
Воспроизведение HLS поддерживается на многих платформах, включая Safari и собственные приложения для macOS/iOS, Microsoft Edge в Windows 10, ExoPlayer в Android и платформу Roku. Многие смарт-телевизоры также имеют встроенную поддержку HLS. Воспроизведение HLS на других платформах, таких как Chrome/Firefox, обычно достигается с помощью реализации проигрывателя браузера/JavaScript. Доступно множество проигрывателей с открытым исходным кодом и коммерческих проигрывателей, включая hls.js, http-streaming video.js, BitMovin, JWPlayer, THEOplayer и т. д.
«Динамическая потоковая передача HTTP — это процесс эффективной доставки потокового видео пользователям путем динамического переключения между различными потоками различного качества и размера во время воспроизведения. Это обеспечивает пользователям наилучшие впечатления от просмотра, которые может поддерживать их полоса пропускания и локальное компьютерное оборудование ( ЦП ). Еще один Основная цель динамической потоковой передачи — сделать этот процесс плавным и плавным для пользователей, чтобы в случае необходимости увеличения или уменьшения качества потока это было плавное и почти незаметное переключение, не нарушающее непрерывное воспроизведение». [36]
Последние версии Flash Player и Flash Media Server поддерживают потоковую передачу с адаптивной скоростью передачи данных по традиционному протоколу RTMP , а также HTTP , аналогично решениям на основе HTTP от Apple и Microsoft. [37] Динамическая потоковая передача HTTP поддерживается в Flash Player. 10.1 и более поздние версии. [38] Преимущество потоковой передачи на основе HTTP заключается в том, что не требуется открывать какие-либо порты брандмауэра, кроме обычных портов, используемых веб-браузерами. Потоковая передача на основе HTTP также позволяет кэшировать фрагменты видео браузерами , прокси-серверами и CDN , что значительно снижает нагрузку на исходный сервер.
Smooth Streaming — это расширение IIS Media Services , которое обеспечивает адаптивную потоковую передачу мультимедиа клиентам через HTTP. [39] Спецификация формата основана на базовом формате мультимедийных файлов ISO и стандартизирована Microsoft как защищенный совместимый формат файлов. [40] Microsoft активно участвует в усилиях организаций 3GPP , MPEG и DECE по стандартизации потоковой передачи HTTP с адаптивной скоростью передачи данных. Microsoft предоставляет комплекты разработки программного обеспечения Smooth Streaming Client для Silverlight и Windows Phone 7 , а также комплект Smooth Streaming Porting Kit, который можно использовать для других клиентских операционных систем, таких как Apple iOS, Android и Linux. [41] IIS Media Services 4.0, выпущенный в ноябре 2010 года, представил функцию, которая позволяет динамически переупаковывать видео Live Smooth Streaming H.264/AAC в формат Apple HTTP Adaptive Streaming и доставлять их на устройства iOS без необходимости повторного кодирования. . Microsoft успешно продемонстрировала доставку HD-видео 1080p в реальном времени и по запросу с помощью Smooth Streaming для клиентов Silverlight. В 2010 году Microsoft также в партнерстве с NVIDIA продемонстрировала потоковую передачу стереоскопического 3D-видео 1080p на ПК, оснащенные технологией NVIDIA 3D Vision . [42]
CMAF — это формат контейнера презентаций, используемый для доставки как HLS, так и MPEG-DASH. Следовательно, он предназначен для упрощения доставки потокового мультимедиа на основе HTTP. Он был предложен в 2016 году Apple и Microsoft и официально опубликован в 2018 году. [43]
QuavStreams Adaptive Streaming — это технология потоковой передачи мультимедиа, разработанная Quavlive. Сервер потоковой передачи — это HTTP-сервер, который имеет несколько версий каждого видео, закодированных с разными битрейтами и разрешениями. Сервер доставляет закодированные видео/аудиокадры, переключаясь с одного уровня на другой в соответствии с текущей доступной полосой пропускания. Управление полностью серверное, поэтому клиенту не нужны специальные дополнительные возможности. В управлении потоковой передачей используется теория управления с обратной связью. [44] В настоящее время QuavStreams поддерживает кодеки H.264/MP3, мультиплексированные в контейнер FLV, и кодеки VP8/Vorbis, мультиплексированные в контейнер WEBM.
Uplynk обеспечивает потоковую передачу HD с адаптивным битрейтом на несколько платформ, включая iOS, Android, Windows Mac, Linux и Roku, в различных комбинациях браузеров, кодируя видео в облаке с использованием единого незапатентованного формата адаптивной потоковой передачи. Вместо потоковой передачи и хранения нескольких форматов для разных платформ и устройств, Uplynk хранит и передает только один. Первой студией, которая использовала эту технологию для доставки, была Disney–ABC Television Group , которая использовала ее для кодирования видео для веб-приложений, мобильных приложений и приложений потоковой передачи планшетов в приложениях ABC Player, ABC Family и Watch Disney, а также в прямом эфире канала Watch Disney Channel. Посмотрите Disney Junior и посмотрите Disney XD. [45] [46]
В последние годы преимущества алгоритмов самообучения в потоковой передаче с адаптивным битрейтом исследовались в научных кругах. Хотя большинство первоначальных подходов к самообучению реализованы на стороне сервера [47] [48] [49] (например, контроль доступа с использованием обучения с подкреплением или искусственных нейронных сетей ), более поздние исследования сосредоточены на разработке самообучающихся систем. изучение клиентов HTTP Adaptive Streaming. В литературе было представлено множество подходов с использованием алгоритма SARSA [50] или Q-learning [51] . Во всех этих подходах состояние клиента моделируется с использованием, среди прочего, информации о текущей воспринимаемой пропускной способности сети и уровне заполнения буфера. На основе этой информации самообучающийся клиент самостоятельно решает, какой уровень качества выбрать для следующего сегмента видео. Процесс обучения управляется с использованием информации обратной связи, представляющей качество опыта (QoE) (например, на основе уровня качества, количества переключений и количества зависаний видео). Кроме того, было показано, что многоагентное Q-обучение может применяться для повышения справедливости QoE среди нескольких клиентов адаптивной потоковой передачи. [52]
Технологии адаптивной скорости передачи данных на основе HTTP значительно более сложны в эксплуатации, чем традиционные технологии потоковой передачи. Некоторые из задокументированных соображений включают такие вещи, как дополнительные затраты на хранение и кодирование, а также проблемы с поддержанием качества во всем мире. Также была обнаружена интересная динамика взаимодействия между сложной логикой адаптивной скорости передачи данных, конкурирующей со сложной логикой управления потоком TCP. [11] [53] [54] [55] [56]
Однако на практике эта критика перевешивается экономичностью и масштабируемостью доставки HTTP: в то время как решения потоковой передачи, отличные от HTTP, требуют массового развертывания специализированной инфраструктуры серверов потоковой передачи, потоковая передача с адаптивной скоростью передачи данных на основе HTTP может использовать те же веб-серверы HTTP, которые используются для доставлять весь остальной контент через Интернет. [ нужна цитата ]
Поскольку не существует единого четко определенного или открытого стандарта управления цифровыми правами , используемого в вышеупомянутых методах, не существует 100% совместимого способа доставки ограниченного или ограниченного по времени контента на любое устройство или проигрыватель. Это также оказывается проблемой при использовании управления цифровыми правами в любом протоколе потоковой передачи.
Метод сегментации файлов на более мелкие файлы, используемый в некоторых реализациях (как используется HTTP Live Streaming ), может считаться ненужным из-за способности HTTP-клиентов запрашивать диапазоны байтов из одного файла видеоресурса, который может иметь несколько видеодорожек с разными битами. скорости, при этом в файле манифеста указывается только номер дорожки и скорость передачи данных. Однако этот подход позволяет обслуживать фрагменты любым простым HTTP-сервером и, следовательно, гарантирует совместимость с CDN . Реализации, использующие диапазоны байтов, такие как Microsoft Smooth Streaming, требуют выделенного HTTP-сервера, такого как IIS, для ответа на запросы фрагментов видеоресурсов.
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )