HLS (HTTP Live Streaming)

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

Одним из преимуществ HLS является то, что все подключенные к Интернету устройства поддерживают протокол HTTP, что упрощает его реализацию, чем протоколы потоковой передачи, требующие использования специализированных серверов. Еще одно преимущество состоит в том, что поток HLS может повышать или понижать качество видео в зависимости от состояния сети без прерывания воспроизведения. Вот почему качество видео может улучшаться или ухудшаться в середине видео, когда пользователь его смотрит. Эта функция известна как «доставка видео с адаптивной скоростью передачи» или «адаптивный стриминг», и без нее медленные сетевые условия могут полностью остановить воспроизведение видео.

Как работает HLS

HLS - это важный протокол для потокового вещания в прямом эфире. Процесс прямой трансляции выглядит примерно так:

  • Устройства захвата (камеры, микрофоны и т.д.) захватывают контент.
  • Контент отправляется с устройства захвата на кодировщик живого видео.
  • Кодер передает контент на платформу видеохостинга по протоколу RTMP.
  • Платформа видеохостинга использует HLS ingest для передачи контента на видеоплеер HTML5.
  • Этот процесс требует двух основных программных решений: HLS-кодера для живого видео и мощной платформы видеохостинга. Если вы решите передавать потоковое видео с помощью HLS, вам нужно убедиться, что оба программных обеспечения предлагают протоколы и функции, о которых мы упоминали.

Архитектура HLS

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

Серверная часть

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

Распределение

Работая как стандартный веб-сервер, сервер принимает запросы от клиентов и доставляет всё необходимое для воспроизведения.

Клиент

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

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

HLS поддерживает:

  • Прямые трансляции и предварительно записанный контент (видео по запросу или VOD)
  • Несколько альтернативных потоков с разной скоростью передачи данных
  • Интеллектуальное переключение потоков в ответ на изменение пропускной способности сети
  • Шифрование мультимедиа и аутентификация пользователя

Бесплатный триал Flussonic Media Server

Отправляя заявку, вы соглашаетесь с правилами и условиями

Пожалуйста, заполните форму для получения бесплатного тестового ключа.

Если вы не получите от нас письмо в течение 30 мин, проверьте в спаме и добавьте наш адрес в избранные контакты.

Email: support@flussonic.com Phone: +7 (717) 272-78-21