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, содержащие ссылки на сегменты и метаданные (битрейт, разрешение, длительность).
¶Процесс передачи
- Кодирование: Исходный медиапоток кодируется в несколько вариантов с разным битрейтом (например, 240p, 480p, 720p, 1080p).
- Сегментация: Каждый вариант разбивается на сегменты одинаковой длительности (обычно 6 секунд).
- Создание плейлистов: Для каждого варианта создаётся свой плейлист (media playlist), а также общий плейлист (master playlist), который содержит ссылки на все варианты.
- Доставка: Клиент (проигрыватель) загружает 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 поддерживается всеми основными браузерами (Chrome, Safari, Firefox, Edge) и мобильными платформами (iOS, Android) без дополнительных плагинов.
- Адаптивность: Автоматическое переключение между качеством в зависимости от скорости интернета.
- Безопасность: Поддержка шифрования AES-128 и HTTPS.
- Масштабируемость: Использование стандартных HTTP-серверов и CDN (Content Delivery Network) для распределения нагрузки.
- Кроссплатформенность: Работает на устройствах Apple, Windows, Linux, Smart TV, игровых консолях.
¶Недостатки
- Задержка: В классическом 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 для трансляций лекций и вебинаров.
¶Сравнение с альтернативами
| Протокол | Разработчик | Основной формат | Задержка | Поддержка браузеров | Адаптивный битрейт |
|---|---|---|---|---|---|
| HLS | Apple | MPEG-TS / fMP4 | 2–30 с | Все основные | Да |
| MPEG-DASH | MPEG | fMP4 | 2–30 с | Chrome, Firefox, Edge | Да |
| RTMP | Adobe | FLV | 1–3 с | Требует Flash-плеера | Нет |
| SRT | Haivision | MPEG-TS | 0.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 →

