5 июня 2023

Понимание CMAF (Common Media Application Format)

Мир потокового мультимедиа постоянно развивается, и с каждой новой инновацией появляется лучший, более быстрый и эффективный способ доставки контента. Одним из самых последних достижений в этой области является Common Media Application Format (CMAF). В этой статье мы углубимся во все тонкости CMAF, обсудим его определение, преимущества и сравнение с другими популярными протоколами потоковой передачи.

Что такое КМАФ?

КМАФ, или Common Media Application Format, является стандартом для доставки потокового мультимедийного контента через Интернет. Это формат контейнера, который объединяет видео, аудио и другие данные в один файл, что позволяет беспрепятственно доставлять контент на разные устройства и платформы.

CMAF был разработан совместными усилиями Группы экспертов по кинематографии (MPEG) и Проекта цифрового видеовещания (DVB) с целью создания более эффективного и универсального формата для потоковой передачи мультимедиа. Впервые он был представлен в 2015 году как часть стандарта MPEG-DASH (Dynamic Adaptive Streaming over HTTP) и с тех пор был принят рядом крупных потоковых сервисов, включая Netflix, Amazon Prime Video и Hulu.

Разработка CMAF частично была вызвана ограничениями существующих протоколов потоковой передачи, таких как HLS и RTMP. Эти протоколы были разработаны для конкретных устройств и платформ и не всегда были совместимы друг с другом. Это привело к фрагментации индустрии потокового вещания, когда разные провайдеры использовали разные протоколы, что затрудняло доступ зрителей к контенту из разных сервисов.

CMAF был разработан, чтобы устранить эти ограничения, предоставив единый стандартизированный формат для потокового мультимедийного контента. Он основан на базовом формате медиафайлов ISO (ISOBMFF), который является широко используемым форматом для хранения медиаконтента. Основываясь на этом существующем формате, CMAF может предложить более эффективное и универсальное решение для потоковой передачи мультимедиа.

В целом, CMAF был разработан как решение для ограничений существующих протоколов потоковой передачи с целью предоставления более эффективного и универсального формата для доставки медиаконтента через Интернет. Его разработка была вызвана необходимостью создания более стандартизированного и совместимого решения, которое могло бы работать на разных устройствах и платформах. Сегодня CMAF широко используется крупными потоковыми сервисами и считается одним из ведущих протоколов для доставки высококачественного потокового мультимедийного контента.

Как работает CMAF?

CMAF (Common Media Application Format) — это формат контейнера потокового мультимедиа, предназначенный для доставки мультимедийного контента по протоколам на основе HTTP, таким как MPEG-DASH (динамическая адаптивная потоковая передача через HTTP) и HLS (прямая потоковая передача по HTTP). Это формат, который объединяет аудио, видео и другие данные в один файл, что делает его эффективным и универсальным решением для потоковой передачи мультимедиа.

По своей сути CMAF построен на базовом формате медиафайлов ISO (ISOBMFF), который является широко используемым форматом для хранения медиаконтента. ISOBMFF — это формат контейнера, в котором данные хранятся в виде иерархической структуры блоков, где каждый блок содержит разные типы данных. CMAF расширяет эту базовую структуру, добавляя дополнительные поля, характерные для потокового мультимедиа, такие как сегмент мультимедиа, поля инициализации и индекса.

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

Чтобы облегчить этот процесс доставки, CMAF также включает поле индекса, которое содержит информацию о местоположении и продолжительности каждого отдельного сегмента. Это поле индекса позволяет потоковому клиенту легко получить доступ к правильному сегменту и получить его в зависимости от его положения в общем медиаконтенте.

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

Еще одна важная особенность CMAF — поддержка потоковой передачи с малой задержкой. Это достигается за счет использования кодирования передачи по частям и HTTP/2, что позволяет доставлять медиаконтент в режиме реального времени с минимальной задержкой. Эта функция особенно важна для таких приложений, как прямые трансляции спортивных событий, где доставка с малой задержкой имеет решающее значение для обеспечения плавного просмотра.

Зачем вам CMAF?

CMAF предлагает ряд преимуществ, которые делают его привлекательным вариантом для служб потокового мультимедиа. Вот некоторые из основных причин, по которым вы можете рассмотреть возможность использования CMAF:

  1. Низкая задержка: CMAF может обеспечить чрезвычайно низкую задержку, по некоторым оценкам задержка составляет менее 1 секунды. Это связано с использованием кодирования передачи по частям, которое позволяет доставлять сегменты медиаконтента небольшими порциями, сокращая время между первоначальным запросом и доставкой контента. Это особенно важно для прямых трансляций, где низкая задержка имеет решающее значение для обеспечения бесперебойного просмотра.
  2. Универсальность: CMAF предназначен для работы на разных устройствах и в разных сетях, что делает его более универсальным вариантом, чем другие протоколы, такие как HLS, который в первую очередь предназначен для использования на устройствах Apple. Это означает, что CMAF можно использовать для доставки контента на более широкий спектр устройств, включая смартфоны, планшеты, компьютеры и смарт-телевизоры, а также в различных операционных системах и веб-браузерах.
  3. Поддержка нескольких кодеков: CMAF поддерживает несколько аудио- и видеокодеков, что позволяет вам доставлять контент в формате, который лучше всего соответствует вашим потребностям. Сюда входят популярные кодеки, такие как H.264, HEVC и VP9, ​​а также более новые кодеки, такие как AV1, который предлагает лучшее сжатие и качество по сравнению со старыми кодеками.
  4. Безопасность: CMAF использует фрагментированное шифрование, что означает, что расшифровывается только просматриваемый в данный момент сегмент, что добавляет дополнительный уровень безопасности к процессу потоковой передачи. Это помогает снизить риск пиратства и нарушения авторских прав, что может быть серьезной проблемой для служб потокового мультимедиа.
  5. Эффективность: CMAF разработан как эффективный протокол, что означает, что он может доставлять высококачественный медиаконтент с минимальной буферизацией и без чрезмерной пропускной способности сети. Это может помочь снизить стоимость доставки контента, а также улучшить общее впечатление от просмотра для вашей аудитории.

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

Статистика показывает, что CMAF набирает популярность среди стриминговых провайдеров. Согласно отчету Akamai, использование CMAF увеличилось на 350% в 2022 году по сравнению с предыдущим годом. Ожидается, что этот рост продолжится по мере того, как все больше потоковых сервисов будут использовать протокол.

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

Сравнение с другими протоколами

CMAF — не единственный протокол потоковой передачи, доступный на рынке, и важно понимать, как он сравнивается с другими популярными протоколами, такими как HLS, WebRTC и RTMP.

CMAF против HLS

HLS (HTTP Live Streaming) — адаптивный протокол потоковой передачи, разработанный Apple. Он работает, разделяя видеоконтент на небольшие фрагменты и доставляя их по HTTP. Хотя HLS широко используется, у него есть некоторые ограничения, особенно когда речь идет о задержке. HLS может иметь задержку до 30 секунд, что может быть проблематично для потоковой передачи событий.

CMAF, с другой стороны, использует кодирование передачи по частям, чтобы уменьшить задержку и обеспечить более плавный просмотр. Он также совместим с проигрывателями HLS и MPEG-DASH, что делает его более универсальным выбором для потоковых сервисов.

CMAF против WebRTC

WebRTC (веб-связь в реальном времени) — это протокол с открытым исходным кодом, который обеспечивает связь между браузерами и устройствами в режиме реального времени. Он обычно используется для видеоконференций и прямых трансляций. Хотя WebRTC может обеспечить низкую задержку, для этого требуется одноранговое соединение, которым может быть сложно управлять в больших масштабах.

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

CMAF против RTMP

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

CMAF, с другой стороны, использует фрагментированное шифрование, чтобы добавить дополнительный уровень безопасности в процесс потоковой передачи. Это означает, что расшифровывается только просматриваемый в данный момент сегмент, что затрудняет перехват и копирование контента хакерами.

Таким образом, в то время как RTMP и HLS являются широко используемыми протоколами, CMAF предлагает более универсальный, эффективный и безопасный вариант для потоковой передачи мультимедийного контента.

Вот сравнительная таблица для быстрого обзора всех различий между различными типами протоколов:

протокол Определение Задержка Шифрование Кодеки Устройства
КМАФ Открытый стандартный формат потокового мультимедиа, который обеспечивает единый подход к упаковке, шифрованию и доставке мультимедийного контента. Низкая задержка из-за кодирования передачи по частям. Использует фрагментированное шифрование, что означает, что расшифровывается только просматриваемый в данный момент сегмент, что добавляет дополнительный уровень безопасности. Поддерживает несколько аудио и видео кодеков. Предназначен для работы на разных устройствах и в разных сетях.
RTMP Собственный протокол, разработанный Adobe для потоковой передачи аудио, видео и данных через Интернет. Может иметь более высокую задержку из-за буферизации. Потоки могут быть легко перехвачены и скопированы, что может привести к пиратству и нарушению авторских прав. Ограниченная поддержка кодеков. Требуется Flash player, который больше не поддерживается на многих устройствах.
WebRTC Протокол с открытым исходным кодом, обеспечивающий связь между браузерами и устройствами в режиме реального времени. Может обеспечить низкую задержку, но требует однорангового соединения, которым может быть сложно управлять в больших масштабах. Использует шифрование, но может быть не таким безопасным, как CMAF. Ограниченная поддержка кодеков. Предназначен для работы в браузерах и на разных устройствах.
HLS Протокол адаптивной потоковой передачи, разработанный Apple, разделяет видеоконтент на небольшие фрагменты и доставляет их по протоколу HTTP. Может иметь более высокую задержку, с задержкой до 30 секунд. Использует шифрование, но может быть не таким безопасным, как CMAF. Ограниченная поддержка кодеков. Предназначен для работы на устройствах Apple, но может воспроизводиться на некоторых устройствах других производителей.

Как показано в таблице, CMAF предлагает меньшую задержку, лучшее шифрование, поддержку нескольких кодеков и предназначен для работы на разных устройствах и в разных сетях, что делает его более универсальным и эффективным вариантом по сравнению с RTMP, WebRTC и HLS. Однако при выборе используемого протокола важно учитывать конкретные потребности и требования каждой службы потоковой передачи.

Заключение

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

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

Об авторе 

Кайри Маттос


{"email": "Адрес электронной почты недействителен", "url": "Адрес сайта недействителен", "обязателен": "Отсутствует обязательное поле"}