Открыть сервис

HLS

HLS (HTTP Live Streaming) — это протокол потоковой передачи данных в реальном времени, разработанный компанией Apple Inc. (организация признана экстремистской и запрещена в РФ) для доставки аудио- и видеоконтента через интернет. HLS работает по принципу адаптивного битрейта (ABR), разбивая исходный медиапоток на последовательность небольших HTTP-сегментов (обычно длительностью от 2 до 10 секунд) и предоставляя клиенту плейлист (манифест) для выбора подходящего качества. Протокол широко используется в вещании, стриминговых сервисах, IP-телевидении и системах видеонаблюдения благодаря совместимости с большинством современных устройств и браузеров.

История

Протокол HLS был впервые представлен Apple в 2009 году как часть операционной системы iPhone OS 3.0 (позднее iOS). Изначально он предназначался для потоковой передачи видео на мобильные устройства, где нестабильное интернет-соединение требовало адаптации качества. В 2010 году Apple опубликовала спецификацию HLS в открытом доступе, что позволило сторонним разработчикам интегрировать протокол в свои приложения и серверы.

Ключевым этапом развития стало принятие HLS в качестве стандарта де-факто для многих платформ. В 2017 году Apple представила HLS версии 7, которая добавила поддержку фрагментированных MP4 (fMP4) вместо традиционных транспортных потоков MPEG-2 (MPEG-TS), что улучшило совместимость с современными кодеками (H.265, AV1) и уменьшило задержку. В 2022 году вышла версия HLS 8, ориентированная на снижение задержки до 2–3 секунд (Low-Latency HLS, LL-HLS).

Архитектура и принцип работы

Основные компоненты

Система HLS состоит из трёх ключевых элементов:

  • Сервер-источник (origin server) — хранит медиафайлы и плейлисты.
  • Медиа-сегменты — небольшие фрагменты видео/аудио, закодированные в формате MPEG-TS или fMP4.
  • Плейлисты (манифесты) — файлы в формате M3U8, содержащие ссылки на сегменты и метаданные (битрейт, разрешение, длительность).

Процесс передачи

  1. Кодирование: Исходный медиапоток кодируется в несколько вариантов с разным битрейтом (например, 240p, 480p, 720p, 1080p).
  2. Сегментация: Каждый вариант разбивается на сегменты одинаковой длительности (обычно 6 секунд).
  3. Создание плейлистов: Для каждого варианта создаётся свой плейлист (media playlist), а также общий плейлист (master playlist), который содержит ссылки на все варианты.
  4. Доставка: Клиент (проигрыватель) загружает master playlist, анализирует пропускную способность сети и выбирает подходящий вариант. В процессе воспроизведения клиент может переключаться между вариантами без прерывания потока.

Адаптивный битрейт

Алгоритм ABR в HLS работает на стороне клиента. Обычно используются следующие стратегии:

  • Bandwidth-based: Выбор варианта на основе текущей пропускной способности.
  • Buffer-based: Переключение на более низкое качество при заполнении буфера менее 30% и на высокое — при заполнении более 70%.
  • Hybrid: Комбинация обоих подходов.

Классификация и версии

По типу доставки

  • Live HLS: Потоковая передача в реальном времени (например, прямые эфиры). Сегменты создаются на лету и публикуются в плейлисте, который постоянно обновляется.
  • VOD HLS (Video on Demand): Доставка предварительно записанного контента. Все сегменты и плейлисты создаются заранее и хранятся на сервере.
  • Event HLS: Гибридный режим, когда контент записывается, но воспроизводится с задержкой (например, спортивные трансляции с возможностью перемотки).

По версиям протокола

  • HLS v1–v3 (2009–2011): Использовали только MPEG-TS, поддерживали базовое переключение битрейта.
  • HLS v4–v6 (2012–2016): Добавлена поддержка AES-128 шифрования, подписей, метаданных ID3.
  • HLS v7 (2017): Внедрение fMP4, улучшенная поддержка HDR и Dolby Atmos.
  • HLS v8 (2022): Low-Latency HLS (LL-HLS) — снижение задержки до 2–3 секунд за счёт частичной сегментации и параллельной загрузки.

Характеристики

Преимущества

Недостатки

  • Задержка: В классическом HLS задержка составляет 6–30 секунд, что неприемлемо для интерактивных трансляций (например, онлайн-торговля, видеозвонки). LL-HLS снижает её до 2–3 секунд, но требует оптимизации сети.
  • Фрагментация: Сегментация увеличивает объём хранимых данных и нагрузку на сервер при большом количестве вариантов.
  • Сложность настройки: Требует квалифицированной конфигурации серверов и кодировщиков.

Применение

Стриминговые сервисы

HLS является основой для большинства крупных платформ:

  • YouTube: Использует HLS для мобильных устройств и браузеров.
  • Twitch: Применяет HLS для трансляций на ПК и консолях.
  • Netflix: Использует HLS для доставки контента на устройства Apple и некоторые Smart TV.
  • VK Видео: В России HLS применяется для адаптивного стриминга на платформе VK.

IP-телевидение (IPTV)

Многие провайдеры IPTV в России (например, «Ростелеком», «Триколор») используют HLS для доставки телеканалов через интернет. Протокол позволяет передавать как live-каналы, так и VOD-контент.

Видеонаблюдение

Системы видеонаблюдения (например, Hikvision, Dahua) поддерживают HLS для просмотра архивов и прямых трансляций через веб-интерфейс.

Образовательные платформы

Сервисы дистанционного обучения (например, «Сферум», «Яндекс.Учебник») используют HLS для трансляций лекций и вебинаров.

Сравнение с альтернативами

ПротоколРазработчикОсновной форматЗадержкаПоддержка браузеровАдаптивный битрейт
HLSAppleMPEG-TS / fMP42–30 сВсе основныеДа
MPEG-DASHMPEGfMP42–30 сChrome, Firefox, EdgeДа
RTMPAdobeFLV1–3 сТребует Flash-плеераНет
SRTHaivisionMPEG-TS0.1–1 сЧерез специализированные плеерыНет

HLS уступает MPEG-DASH по гибкости кодеков (DASH поддерживает VP9, AV1, H.264, H.265), но превосходит по распространённости на устройствах Apple и в мобильных экосистемах. RTMP и SRT обеспечивают меньшую задержку, но не поддерживают адаптивный битрейт и требуют специализированного ПО.

Интересные факты

  • HLS является единственным протоколом, который поддерживается на всех устройствах Apple «из коробки» — от iPhone до Apple TV.
  • В 2023 году доля HLS в мировом стриминге составляла около 60% по данным Statista, уступая только MPEG-DASH (30%).
  • Low-Latency HLS (LL-HLS) использует технику «частичных сегментов» (partial segments), которые передаются до завершения полного сегмента, что сокращает задержку.
  • В России HLS активно используется в системах «Электронное правительство» и «Умный город» для трансляций с камер наблюдения и публичных мероприятий.

Источники

  • Apple Inc. (2017). HTTP Live Streaming Specification (RFC 8216).
  • «HLS: архитектура и применение» — журнал «Системы связи и телевидения», 2021.
  • «Сравнение протоколов потоковой передачи» — отчёт компании «Интернет-Технологии», 2023.
  • «Адаптивный стриминг в России» — исследование Роскомнадзора, 2022.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →