WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

HLS (HTTP Live Streaming) — коммуникационный протокол для потоковой передачи медиа на основе HTTP, разработанный компанией Apple как часть программного обеспечения QuickTime, Safari, OS X и iOS. В основе работы лежит принцип разбиения цельного потока на небольшие фрагменты, последовательно скачиваемые по HTTP. Поток непрерывен и теоретически может быть бесконечным. В начале сессии скачивается плей-лист в формате M3U, содержащий метаданные об имеющихся вложенных потоках[1].

Apple оформила HLS как «черновик стандарта»[2], а в августе 2017 года 7 версия документа была опубликована как RFC 8216[3].

Поскольку запросы используют только стандартные транзакции HTTP, протокол позволяет потоку преодолевать межсетевые экраны или прокси-сервера, пропускающие HTTP-трафик, в отличие от протоколов на базе UDP, таких как RTP. Это также позволяет раздавать контент посредством HTTP-серверов общего назначения в качестве источника, а также доставлять до потребителей через существующие CDN[4].

HLS также предоставляет стандартный механизм шифрования с использованием AES и метод безопасной доставки ключей по HTTPS либо через авторизацию на устройстве, либо посредством HTTP cookie. Вместе это даёт возможность создавать простые системы DRM.

Архитектура

HTTP Live Streaming использует стандартный веб-сервер для распространения аудиовизуальных материалов по запросу, при этом требует специальное ПО для того, чтобы обеспечивать передачу контента в режиме реального времени.

Серверная часть
Кодирует и оборачивает входящее медиа в подходящий для доставки формат. Далее материал готовится к распределению путём сегметирования. Медиа сегментируется на фрагменты (чанки, chunks) и индексный файл (плейлист).
  • Кодировка: видео кодируется в формате H.264 и аудио в MP3, HE-AAC или AC-3. Всё это вкладывается в транспортный поток MPEG-2 для последующей доставки.
  • Сегментирование: контент в MPEG-2 TS разделяется на фрагменты одинаковой длины, записанные в файлы .ts. Также создаётся индексный файл, содержащий ссылки на фрагменты или другие индексные файлы — он сохраняется как файл .m3u8
Распределение
Работая как стандартный веб-сервер, сервер принимает запросы от клиентов и доставляет всё необходимое для воспроизведения.
Клиент
Запрашивает и скачивает все файлы, собирая их воедино так, чтобы предоставить пользователю непрерывный поток видео. Клиентское ПО скачивает первый индексный файл через URL и далее несколько доступных файлов медиа. ПО для проигрывания собирает всё в последовательность для воспроизведения.

Существует два режима работы HLS — «по запросу» и живой трансляции. В режиме «по запросу» плей-лист содержит ссылки на все фрагменты от первого до последнего. В режиме живой трансляции плей-лист содержит только ссылки на последние несколько фрагментов, кроме того при последующих обращениях к плей-листу, фрагменты будут меняться, отражая текущее состояние трансляции.

HLS предусматривает поддержку адаптивного битрейта, эта техника предусматривает наличие нескольких одновременно доступных потоков, каждый из которых может содержать одинаковый контент, закодированный в разных битрейтах, а также имеющий другие отличающиеся характеристики. По мере проигрывания клиент может выбирать из числа нескольких доступных потоков, что позволяет адаптировать сессию к внешним условиям передачи по сети.

На конференции WWDC2016 Apple анонсировала[5] включение адресации через byte-range для фрагментированных MP4 файлов (fMP4), что позволяет проигрывать контент через HLS не прибегая к мультиплексированию в транспортном потоке MPEG-2. Эксперты отрасли оценили это как большой шаг к совместимости между HLS и MPEG-DASH[6][7].

См. также

Примечания

  1. Jordan, Larry The Basics of HTTP Live Streaming. Larry's Blog. Larry Jordan & Associates (10 June 2013). Проверено 18 июня 2013. Архивировано 23 августа 2013 года.[неавторитетный источник?]
  2. Pantos, R. HTTP Live Streaming. Internet Engineering Task Force (30 September 2011). Проверено 18 июня 2013.
  3. RFC 8216 - HTTP Live Streaming. Проверено 26 сентября 2017.
  4. MPEG-DASH vs. Apple HLS vs. Smooth Streaming vs. Adobe HDS
  5. https://developer.apple.com/videos/play/wwdc2016/504/ What’s New in HTTP Live Streaming
  6. http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=111796 HLS Now Supports Fragmented MP4, Making it Compatible With DASH
  7. https://bitmovin.com/hls-news-wwdc-2016/ WWDC16: HLS supports Fragmented MP4 — and gets MPEG-DASH compatible!

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии