DASH или HLS?

 Адаптивный интернет стриминг, как и большинство новых направлений,  начинался с корпоративных форматов: RTMP от Macromedia, позже купленной Adobe , HDS от того же Adobe, Smooth Streaming от Microsoft и HLS от Apple. В  RTMP используется собственный протокол взаимодействия между сервером и клиентом. Остальные используют стандартный HTTP.  “то позволяет открывать соединение клиента с сервером только на момент передачи , исключает проблемы с брандмаурами , упрощает вставку рекламы и главное унифицирует доставку. В результате реализация получается дешевле, чем с  использовании RTMP.

Среди корпоративных форматов на базе HTTP самым технологически совершенным считался HDS (HTTP Dynamic Streaming, но по ряду причин индустрия сделала выбор в пользу HLS( HTTP Live Streaming ). Причины собственно две, HLS — открытый безлицензионный формат, к тому же поддерживаемый всеми приемниками от Apple. Именно HLS за 2-3 года практически вытеснил с рынка RТMP, и уже успел стать именем нарицательным, означающим формат ОТТ распространения.

Однако, несколько лет назад появился общеотраслевой стандарт DASH (Dynamic Adaptive Streaming over HTTP ), которому пророчат заместить HLS в роли общеупотребительного. Вопрос только в сроках.

Ян Озер, материал которого  мы предлагаем вниманию читателей, рассматривает достоинства и недостатки этих двух форматов, а также перспективы массового перехода на DASH в ближайшие годы.

Как известно, многие веб платформы сейчас отказываются от стримингового протокола RTMP и даже от HDS, и перед ними встает задача выбора между HLS и DASH. Два года назад очевидным выбором был HLS, а через год вполне возможно лидером окажется DASH . Но что мы имеем на сегодняшний день?

Оба формата позволяют доставлять один адаптивный поток на разнообразные платформы . Правда для приема DASH устройством на платформе iOS требуется специальное приложение. Для каких-то плееров с Flash может понадобиться файл MP4, а для каких-то —единый файл HTML-5 , в зависимости от реализации плеера, но эта тема для отдельного анализа.

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

 Начнем с HLS

Достоинства формата:

  • Реклама /хорошая адаптация к DRM.
  • Встроен в устройства на базе iOS и Safary/Mac.
  •  Прекрасно поддерживается имеющимся парком кодеров.
  • Прекрасно поддерживается различными приложениями и готовыми ( off the shelf ) плеерами.

Недостатки формата :

  • Корпоративный стандарт, то есть, рано или поздно сойдет со сцены, хотя, возможно, еще нескоро.
  •  Встроенное шифрование не является полноценной DRM. Для наложения DRM требуется инкапсуляция в другой формат.
  • Некоторые готовые плееры поддерживают HLS через Flash . Сейчас Flash сдает свои позиции, а с ним уйдет и поддержка HLS такими плеерами.
  •  Поддержка HLS браузерами не будет расширяться ( то есть, судьба платформы зависит от плееров и Flash)

Плюсы HLS

Достоинства HLS вполне очевидны. Это хорошо отработанная технология, с отлаженными методами вставки рекламы и наложения DRM. HLS интегрирован в устройства iOS и в браузер Safary/MAC . Он также хорошо поддерживается сегодняшними кодерами.

Как вы возможно знаете, большинство готовых плееры, в том числе JW Player, https://www.jwplayer.com/video-solutions/live-streaming/ поддерживают воспроизведение HLS в браузерах для ПК и ноутбуков, но для этого они используют плагины Flash или Silverlight. Точнее , сказать, есть несколько плееров, которым для воспроизведения HLS эти плагины не требуются. Наиболее значимый из них THEOplayer от OpenTelly 

Минусы HLS

HLS – корпоративный формат, и потому он рано или поздно сойдет со сцены. Последние 10 лет он в общем-то не развивается. Таким образом каждый файл, закодированный сейчас HLS в рано или поздно придется перекодировать в другой формат.

Кроме того, единственный поддерживаемый HLS вариант условного доступа это шифровка , и для более серьезной защиты контента поток приходится дополнительно инкапсулировать в сторонние DRM форматы, такие как Play Ready или Adobe Primetime DRM.

Плееры, поддерживающие HLS через Flash, с прекращением работы Flash-плагинов потеряют эту способность. Несмотря на отказ от Flash форматов, операторы сохраняют зависимость от Flash плагинов.

И ключевым пунктом, на мой взгляд, является то, что поддержка HLS браузерам не будет расширяться. За 2-3 года интеграция DASH видимо станет стандартной для всех распространенных браузеров , для всех мобильных устройств кроме как от Apple , не говоря уж о приставках , Smart-TV и других устройствах. Если сегодня есть ощутимые пробелы в нативной поддержке DASH, то через 2 пару лет ситуация изменится. Проблемы с поддержкой HLS напротив никуда не денутся — для воспроизведения HLS на ПК или ноутбуке, нам, по всей видимости, всегда будут нужны плагины , дополнительные плееры, а может быть и то, и другое.

Теперь рассмотрим DASH

Достоинства формата:

  • Отраслевой стандарт ( со временем его интеграция упростится)
  • Поддержка живого вещания и VOD
  • Нативная поддержка в Chrome /Android
  • Хорошая поддержка кодерами
  • Хорошая поддержка готовыми плеерами

Недостатки формата:

  •  Отсутствие нативной поддержки большинством браузеров ( основной виновник Microsoft ), хотя есть в Firefox 21
  •  Отсутствие нативной поддержки в iOS (хотя существуют SDK для соответствующих приложений)
  • Некоторые готовые плееры используют плагины , и если эти плагины сойдут со сцены, то прекратиться и прием DASH
  •  Неразбериха с DRM , не отработана вставка рекламы

Плюсы DASH

DASH — отраслевой стандарт, его поддержка со временем будет расти , а внедрение — упрощаться . DASH нативно поддерживается последними версиями Firefox , Chrome и Android . Хотя поддержка кодерами и плеерами пока не столь широка как у HLS , но в ближайшей перспективе число вариантов для обоих форматов будет вполне достаточным.

 Минусы DASH

Важный минус формата заключается в том, что его поддержка нативно не встроена в большинство браузеров. Я называю Microsoft основным виновником так как компания заложила поддержку DASH начиная с Windows 8, то есть в IE 11 и более поздние версии.  Приведенная  ниже круговая диаграмма отображает долю применяемых сейчас операционных систем. Как можно видеть Windows 7 пока в полтора раза превышает суммарную долю Windows 8 и windows 10 , без учета доли Windows XP. Пользователи этих ОС вынуждены довольствоваться решением на IE.749x343xos-pipe-chart-png-pagespeed-ic_-9qm4_jrp65-9417414

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

Следующий подвох заключается в отсутствии поддержки DASH платформой iOS. Тем не менее  существует множество SDK, в том числе от castLabs и BuyDRM, позволяющих разработчикам создавать приложения, проигрывающие DASH видео на платформе iOS.

Как и в случае с HLS,  некоторые, если не все, плееры  для воспроизведения DASH используют Flash или Silverlight, если DASH не интегрирован в установленный браузер. В то же время, разработчики браузеров не исключают из них эти платформы пока не интегрируют в них поддержку DASH. Даже Chrome не исключал Silverlight до интеграции DASH. Другими словами, если браузер прекратит поддержку Flash, то наиболее вероятно  к этому моменту в него будет нативно интегрирован DASH. В то же время, отказ от Flash будет означать прекращение поддержки HLS, по крайней мере плеерами, воспроизводящими HLS через Flash.

Серьезным минусом DASH, на мой взгляд, является неразбериха c работой DRM совместно с Encrypted Media Extentions( JavaSript API, позволяющая DRM работающей в среде HTML-5 управлять проигрыванием защищенного контента). Поддержка рекламы только планируется , другими словами, DASH далеко не так хорошо отлажен как Flash или HLS. По этой причине многие провайдеры не могут отказаться от Flash, но для тех кому не нужна DRM или поддержка рекламы эта проблема очевидно неактуальна.

Во второй части материала мы опубликуем  мнения  других экспертов по поводу перспектив этих двух форматов.

Анна Бителева 

МЕДИА СПУТНИК