Adobe HTTP Dynamic Streaming (HDS) CDN

Основные понятия HDS

Adobe HTTP Dynamic Streaming (HDS) - это реализация технологии адаптивного потокового вещания от компании Adobe.

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

Одним из важнейших преимуществ является поддержка большинства "Умных телевизоров" (SMART TV) и мультимедийных приставок.

Для работы HDS требуются следующие компоненты:

  • url для получения сегментов;
  • f4m-манифест файл, содержащий описание видео и url для получения сегментов;
  • индексный f4m файл, содержащий ссылки на f4m-манифесты нескольких вариантов детализации видео (различающиеся качеством изображения, битрейтом).

Использование HDS CDN

Для организации HDS трансляции отдельного файла без переключения между вариантами видео, достаточно передать плееру ссылку с HDS-маркером:

USERNAME.cdn.zerocdn.com/file.mp4:hds:manifest.f4m

При этом URL фрагмента будет следующим:

USERNAME.cdn.zerocdn.com/file.mp4:hds:N

где N - идентификатор фрагмента.

USERNAME.cdn.zerocdn.com/file.mp4:hds:frag-v1-a1-Seg1-Frag1

Для организации HDS трансляции с возможностью переключения детализации необходимо создать в соотвествующей папке индексный f4m-файл, следующего содержания:

<manifest xmlns="http://ns.adobe.com/f4m/3.0">
    <media href="240.mp4:hds:manifest.f4m" height="240" />
    <media href="360.mp4:hds:manifest.f4m" height="360" />
    <media href="480.mp4:hds:manifest.f4m" height="480" />
    <media href="720.mp4:hds:manifest.f4m" height="720" />
</manifest>

Где 240.mp4, 360.mp4, 480.mp4, 720.mp4 и 1080.mp4 - разные варианты детализации расположенные в этой папке, а тэг media описание характеристик этих файлов, a http://USERNAME.cdn.zerocdn.com/path/to/ - место расположения видео файлов.

Подписывание HDS ссылок

Для организации эффективной работы механизма защиты HDS ссылок, необходимо расположить файлы таким образом, что бы разные варианты одного видео, находились в одной папке.

  • video1/
    • 240.mp4
    • 360.mp4
    • 480.mp4
    • 720.mp4
    • 1080.mp4
    • hds.f4m
  • video2/
    • 240.mp4
    • 360.mp4
    • 480.mp4
    • 720.mp4
    • 1080.mp4
    • hds.f4m

В таком случае появляется возможность подписи общей части URL для всех файлов внутри указанной папки. А Подписанный URL HDS будет выглядеть следующим образом:

http://USERNAME.cdn.zerocdn.com/path/to/video1/[sign]:[deadline]/hds.f4m

При этом для генерации подписи будут использоваться следующие исходные данные:

md5(/path/to/-[ip]-[deadline]-[secret])

Технические требования HDS

ZeroCDN.com обеспечивает поддержку HDS стриминга для файлов с учетом следующих требований:

  • mp4-контейнер,
  • видео-кодек h264,
  • аудио-кодек AAC,
  • поддержка faststart.