Адаптивная потоковая передача
Адаптивная потоковая передача (англ. adaptive bitrate streaming, ABR) — это технология доставки мультимедийного контента (аудио и видео) через компьютерные сети, которая позволяет в реальном времени изменять качество воспроизводимого потока в зависимости от текущей пропускной способности канала связи и вычислительных возможностей устройства пользователя. Основная цель ABR — обеспечить непрерывное воспроизведение без буферизации и задержек, автоматически подстраивая битрейт под условия сети.
История
Идея адаптивной передачи данных возникла в конце 1990-х — начале 2000-х годов, когда развитие широкополосного доступа в интернет привело к росту популярности потокового видео. Ранние системы (например, RealNetworks и Microsoft Windows Media) использовали фиксированный битрейт, что приводило к частым остановкам воспроизведения при ухудшении качества соединения.
Первые коммерческие реализации ABR появились в середине 2000-х годов. В 2004 году компания Move Networks представила технологию, основанную на HTTP-запросах и разбиении видео на короткие сегменты. В 2008 году Adobe Systems внедрила адаптивное потоковое вещание в протокол RTMP (Real-Time Messaging Protocol). Однако ключевым прорывом стало появление в 2009 году протокола HTTP Live Streaming (HLS) от Apple, который стал стандартом де-факто для многих платформ. В 2010 году Microsoft выпустила Smooth Streaming, а Google — Dynamic Adaptive Streaming over HTTP (DASH) в 2011 году, который впоследствии был стандартизирован как MPEG-DASH (ISO/IEC 23009-1).
Принцип работы
Адаптивная потоковая передача основана на разделении исходного медиафайла на множество коротких сегментов (обычно длительностью от 2 до 10 секунд), каждый из которых кодируется с разными битрейтами (качествами). На сервере хранится набор файлов-манифестов (например, .m3u8 для HLS или .mpd для MPEG-DASH), которые описывают доступные варианты качества и ссылки на сегменты.
Клиентское устройство (плеер, браузер, приложение) загружает манифест, а затем последовательно запрашивает сегменты. Перед загрузкой каждого следующего сегмента плеер оценивает текущую пропускную способность сети (например, по времени загрузки предыдущего сегмента) и выбирает наиболее подходящий битрейт из доступных в манифесте. Если скорость падает, плеер переключается на более низкое качество; если скорость растёт — на более высокое. Переключение происходит на границах сегментов, что делает его незаметным для зрителя.
Ключевые компоненты
- Кодировщик — преобразует исходный видеоматериал в несколько потоков с разными битрейтами (например, 240p, 480p, 720p, 1080p, 4K).
- Сегментатор — разбивает каждый поток на временные фрагменты и создаёт файлы-манифесты.
- Сервер доставки — обычный HTTP-сервер (например, Nginx, Apache) или CDN (Content Delivery Network), который хранит и отдаёт сегменты по запросу.
- Клиентский плеер — программное обеспечение, которое загружает манифест, управляет буфером, оценивает скорость сети и принимает решения о переключении битрейта.
Протоколы и стандарты
Существует несколько основных протоколов адаптивной потоковой передачи, различающихся форматами манифестов, сегментов и методами шифрования.
HTTP Live Streaming (HLS)
Разработан компанией Apple в 2009 году. Использует формат манифеста .m3u8 (текстовый плейлист) и сегменты в формате MPEG-TS (транспортный поток) или fMP4 (фрагментированный MP4). Поддерживается всеми устройствами Apple (iPhone, iPad, Apple TV), а также большинством современных браузеров и плееров. HLS поддерживает шифрование AES-128 и защиту через DRM (FairPlay).
MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
Международный стандарт (ISO/IEC 23009-1), опубликованный в 2012 году. Использует манифест в формате XML (Media Presentation Description, .mpd). Сегменты могут быть в форматах fMP4, MPEG-TS, WebM и других. DASH не привязан к конкретному кодеку (поддерживает H.264, H.265, VP9, AV1) и является открытым стандартом, что делает его популярным в веб-плеерах (например, на базе HTML5). Поддерживает шифрование Common Encryption (CENC) и различные DRM-системы (Widevine, PlayReady).
Microsoft Smooth Streaming
Разработан Microsoft в 2008 году для платформы Silverlight. Использует манифест в формате XML (.ismc) и сегменты в формате fMP4. Протокол поддерживает адаптивную передачу и защиту через PlayReady. С упадком Silverlight Smooth Streaming утратил популярность, но его технологии легли в основу MPEG-DASH.
Adobe HDS (HTTP Dynamic Streaming)
Разработан Adobe Systems для Flash Player. Использует манифест в формате F4M (XML) и сегменты в формате F4F (фрагментированный FLV). С прекращением поддержки Flash в 2020 году протокол практически не используется.
Алгоритмы выбора битрейта
Клиентские плееры используют различные алгоритмы для принятия решения о переключении качества. Основные подходы:
- На основе пропускной способности — плеер измеряет скорость загрузки предыдущих сегментов и выбирает битрейт, не превышающий текущую пропускную способность.
- На основе буфера — плеер отслеживает заполненность буфера воспроизведения. Если буфер заполнен (например, более 10 секунд), плеер может повысить качество; если буфер опустошается — понизить.
- Гибридные алгоритмы — комбинируют оба подхода, а также учитывают такие факторы, как задержка начала воспроизведения, вариативность скорости и энергопотребление устройства.
- Машинное обучение — современные системы (например, в Netflix или YouTube) используют нейросети для прогнозирования поведения сети и выбора оптимального битрейта.
Применение
Адаптивная потоковая передача широко используется в различных сферах:
- Видеохостинги и стриминговые сервисы — YouTube, Netflix, Vimeo, Twitch, «Кинопоиск», «Okko» и другие. ABR позволяет доставлять контент пользователям с разными скоростями интернета — от мобильного 3G до оптоволокна.
- Прямые трансляции (live streaming) — спортивные события, концерты, новостные эфиры. ABR обеспечивает стабильное вещание при переменной нагрузке на сеть.
- Образовательные платформы — онлайн-курсы, вебинары, лекции. Адаптивное качество позволяет студентам с медленным интернетом не терять контент.
- Корпоративные системы — видеоконференции, системы видеонаблюдения, внутренние коммуникации. ABR снижает нагрузку на корпоративные сети.
- Мобильные приложения — приложения для просмотра видео на смартфонах и планшетах, где качество соединения может быстро меняться при перемещении.
Преимущества и недостатки
Преимущества
- Непрерывность воспроизведения — минимизация буферизации даже при нестабильном интернете.
- Автоматическая адаптация — пользователю не нужно вручную выбирать качество.
- Эффективное использование ресурсов — при хорошем соединении зритель получает максимальное качество, при плохом — минимальное, но без остановок.
- Совместимость с HTTP-инфраструктурой — для доставки не требуется специальных серверов; работают обычные HTTP-серверы и CDN, что упрощает масштабирование.
Недостатки
- Задержка начала воспроизведения — требуется время на загрузку манифеста и первого сегмента.
- Задержка при переключении — при смене битрейта может возникнуть кратковременная пауза или артефакты.
- Сложность реализации — требуется качественное кодирование, сегментирование и настройка клиентских алгоритмов.
- Потребление ресурсов — на сервере хранится несколько копий одного и того же контента, что увеличивает требования к дисковому пространству и пропускной способности CDN.
- Чувствительность к задержкам — для прямых трансляций ABR может вносить дополнительную задержку (от 10 до 30 секунд) по сравнению с традиционными протоколами (например, RTMP).
Интересные факты
- Первым коммерческим сервисом, массово внедрившим ABR, стал Netflix в 2011 году. Компания разработала собственный алгоритм, который учитывал не только скорость сети, но и тип устройства (телевизор, планшет, смартфон).
- В 2015 году YouTube перешёл на использование MPEG-DASH для всех видео, что позволило сократить время начала воспроизведения на 20–30 %.
- Технология ABR лежит в основе протокола WebRTC (используется для видеозвонков), но в адаптированном виде — с минимальной задержкой и без использования HTTP.
- В России адаптивную потоковую передачу активно используют такие сервисы, как «VK Видео», «Rutube», «ivi» и «Start».
Источники
- ISO/IEC 23009-1:2019 — Information technology — Dynamic adaptive streaming over HTTP (DASH).
- Apple Inc. — HTTP Live Streaming (HLS) Specification (RFC 8216).
- Microsoft Corporation — Smooth Streaming Protocol Specification.
- Adobe Systems — HTTP Dynamic Streaming (HDS) Specification.
- Статья «Adaptive Bitrate Streaming: A Survey» — IEEE Communications Surveys & Tutorials, 2017.
- Документация к плееру Shaka Player (Google) — алгоритмы ABR.
- Материалы конференций Streaming Media West и NAB Show (2010–2023).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →