Adobe HTTP Dynamic Streaming
Adobe HTTP Dynamic Streaming (HDS) — это проприетарная технология адаптивной потоковой передачи видео и аудио по протоколу HTTP, разработанная компанией Adobe Systems. HDS предназначена для доставки мультимедийного контента в реальном времени и по запросу через обычные веб-серверы, без необходимости использования специализированных потоковых серверов. Технология основана на разбиении медиафайлов на небольшие фрагменты (сегменты) и предоставлении клиенту возможности динамически переключаться между потоками разного битрейта в зависимости от пропускной способности сети и производительности устройства. HDS является частью экосистемы Adobe Flash Platform и тесно связана с протоколом RTMP (Real-Time Messaging Protocol) и форматом контейнера FLV/F4V.
История
Технология HDS была анонсирована компанией Adobe в 2010 году как ответ на рост популярности потокового видео в интернете и необходимость решения проблем, связанных с использованием RTMP. Основным недостатком RTMP была его зависимость от постоянного TCP-соединения и специализированных серверов (например, Adobe Flash Media Server), что делало его сложным для масштабирования и дорогим в обслуживании. HDS, напротив, позволяла использовать стандартные HTTP-серверы (например, Apache, Nginx, Microsoft IIS) и сети доставки контента (CDN), что значительно упрощало инфраструктуру и снижало затраты.
Первоначально HDS была реализована в Adobe Flash Player 10.1 и Adobe AIR 2.5. Технология была представлена как открытая спецификация, но на практике оставалась проприетарной, так как её реализация требовала лицензирования у Adobe. В 2011 году Adobe выпустила серверную часть HDS в составе Adobe Flash Media Server 4.5, а также предоставила инструменты для создания HDS-манифестов (файлы .f4m) и сегментирования контента.
В 2012—2013 годах HDS активно использовалась крупными медиаплатформами, такими как Hulu, BBC iPlayer и некоторые другие, однако уже к середине 2010-х годов её популярность начала снижаться. Основной причиной стало распространение открытого стандарта MPEG-DASH (Dynamic Adaptive Streaming over HTTP), который был принят в 2012 году и не требовал лицензирования. Кроме того, в 2015 году Adobe объявила о прекращении поддержки Flash Player к концу 2020 года, что фактически означало конец развития HDS как технологии. В 2017 году Adobe официально прекратила поддержку Flash Media Server, а в 2020 году Flash Player был окончательно отключён.
Принцип работы
HDS работает по принципу «адаптивного битрейта» (ABR — Adaptive Bitrate). Основные этапы работы технологии:
- Кодирование и сегментация: Исходный медиафайл (видео или аудио) кодируется в несколько потоков с разным битрейтом (например, 300 кбит/с, 800 кбит/с, 1500 кбит/с, 3000 кбит/с). Каждый поток разбивается на небольшие фрагменты (сегменты) одинаковой длительности (обычно 2–10 секунд). Сегменты упаковываются в контейнер F4V (формат на основе ISO Base Media File Format, аналогичный MP4) или FLV.
- Создание манифеста: Для каждого потока создаётся файл манифеста (расширение .f4m), который содержит метаданные: список доступных битрейтов, URL-адреса сегментов, длительность фрагментов, информацию о кодеках и разрешении. Манифест также может включать данные о ключах шифрования для DRM (Digital Rights Management).
- Доставка по HTTP: Клиент (Flash Player или AIR-приложение) загружает манифест с веб-сервера. Затем, на основе текущей пропускной способности сети и загрузки процессора, клиент выбирает наиболее подходящий битрейт и начинает последовательно загружать сегменты этого потока. Если условия сети ухудшаются, клиент автоматически переключается на более низкий битрейт, и наоборот.
- Переключение между потоками: Переключение происходит на границах сегментов, что позволяет избежать разрывов воспроизведения. Для обеспечения синхронизации все потоки имеют одинаковую временную шкалу.
Классификация
HDS можно классифицировать по нескольким признакам:
По типу контента
- Видео по запросу (VOD): Предварительно записанные видеофайлы, доступные для просмотра в любое время.
- Прямые трансляции (Live): Потоковое вещание в реальном времени, где сегменты создаются «на лету» и публикуются на сервере.
По способу доставки
- HTTP-доставка: Использует стандартные HTTP-запросы (GET) для загрузки сегментов. Поддерживает кэширование на CDN и прокси-серверах.
- HTTPS-доставка: Зашифрованная версия для повышения безопасности.
По поддержке DRM
- Без защиты: Открытый контент.
- С защитой: Использует Adobe Access (ранее Flash Access) для шифрования и управления правами.
Устройство и характеристики
Форматы файлов
- Манифест (.f4m): XML-файл, описывающий структуру потока. Содержит теги
<media>(указывает на поток),<bootstrapInfo>(информация о начальной загрузке),<segments>(список сегментов). - Сегменты (.f4f, .f4v): Фрагменты медиаданных. Файлы .f4f содержат собственно аудио- и видеоданные, а .f4v — метаданные и индексы.
- Индексный файл (.f4x): Дополнительный файл для ускорения поиска в VOD-потоках.
Кодеки
HDS поддерживает следующие кодеки:
- Видео: H.264 (AVC), VP6 (устаревший), Sorenson Spark (устаревший).
- Аудио: AAC, MP3, Nellymoser (устаревший).
Параметры адаптации
- Битрейт: от 100 кбит/с до 10 Мбит/с и выше.
- Разрешение: от 320×240 до 1920×1080 (Full HD) и выше.
- Частота кадров: 24, 25, 30, 50, 60 кадров/с.
Применение
HDS использовалась в следующих областях:
- Веб-видеоплееры: Встраивалась в Flash-плееры на сайтах новостных агентств, телеканалов и видеохостингов.
- Прямые трансляции: Спортивные события, концерты, новостные эфиры.
- Образовательные платформы: Дистанционное обучение, вебинары.
- Корпоративные системы: Внутренние видеотрансляции, архивы записей.
В России HDS применялась, например, на сайтах телеканалов «Первый канал» и «Россия-1» для трансляции новостей и спортивных мероприятий, а также в системах видеонаблюдения.
Преимущества и недостатки
Преимущества
- Простота инфраструктуры: Использование стандартных HTTP-серверов и CDN.
- Адаптивность: Автоматическое переключение битрейта в зависимости от качества сети.
- Поддержка DRM: Встроенная защита контента через Adobe Access.
- Низкая задержка: В прямых трансляциях задержка составляла 2–5 секунд (при использовании специальных настроек).
Недостатки
- Проприетарность: Зависимость от лицензирования и экосистемы Adobe.
- Ограниченная поддержка: Только в Flash Player и AIR, что исключало использование на iOS и Android без сторонних решений.
- Устаревание: С прекращением поддержки Flash Player технология стала неработоспособной.
- Отсутствие открытых реализаций: В отличие от MPEG-DASH, не было открытых библиотек для серверной и клиентской частей.
Сравнение с другими технологиями
| Технология | Протокол | Формат контейнера | Поддержка DRM | Открытость | Статус |
|---|---|---|---|---|---|
| HDS | HTTP | F4V, FLV | Adobe Access | Проприетарная | Устарела |
| HLS (Apple) | HTTP | MPEG-TS, fMP4 | FairPlay, AES-128 | Открытая (де-факто) | Активна |
| MPEG-DASH | HTTP | MP4, MPEG-TS | Common Encryption (CENC) | Открытый стандарт | Активна |
| RTMP | TCP | FLV, F4V | Adobe Access | Проприетарная | Устарела |
Интересные факты
- HDS была одной из первых технологий, реализовавших адаптивный стриминг по HTTP, опередив HLS (Apple) на несколько месяцев.
- Файлы манифеста .f4m могли быть сжаты с помощью GZip для ускорения загрузки.
- В 2013 году Adobe выпустила библиотеку для конвертации HDS в HLS, что позволяло использовать Flash-плееры для трансляции на iOS-устройства.
- Технология поддерживала «живую» рекламную вставку (ad-insertion) без прерывания основного потока.
Источники
- Adobe Systems Incorporated. Adobe HTTP Dynamic Streaming Specification. — 2010.
- Adobe Flash Media Server 4.5 Developer Guide. — Adobe, 2011.
- Ozer J. Adaptive Streaming: HDS, HLS, and MPEG-DASH // Streaming Media Magazine. — 2012.
- Tanenbaum A. S., Wetherall D. J. Computer Networks. — 5th ed. — Pearson, 2011. — Глава 7 (Multimedia Networking).
- Документация Adobe Flash Player 10.1. — Adobe, 2010.
- Статья «HTTP Dynamic Streaming» на сайте Adobe Developer Connection (архив, 2015).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →