Adobe HTTP Dynamic Streaming (HDS) CDN

Basic concepts of HDS

Adobe HTTP Dynamic Streaming (HDS) is an implementation of adaptive streaming technology from Adobe.

Historically, Adobe has been the market leader in the delivery and playback of multimedia content on the Internet, primarily due to its Adobe Flash technology. Being obsolete at the moment, the latter once gave a powerful impetus to the development of the Internet in the direction of widespread use of multimedia.

One of the most important advantages is support for the majority of "Smart TVs" (SMART TV) and multimedia set-top boxes.

HDS requires the following components:

  • url to receive segments;
  • f4m-manifest file containing video description and url to retrieve segments;
  • index f4m file containing references to f4m-manifests of several video detail options (with different image quality, bitrate).

Using HDS CDN

To organize HDS broadcast of a single file without switching between video variants, just pass the link with the HDS marker to the player:

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

In this case the URL of the fragment will be as follows:

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

where N is the fragment identifier.

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

To organize HDS broadcasting with the possibility of switching detail you need to create in the appropriate folder an index f4m-file with the following content:

<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>

Where 240.mp4, 360.mp4, 480.mp4, 720.mp4 and 1080.mp4 are the different detail options located in this folder, and the media tag describes the characteristics of these files, and https://USERNAME.cdn.zerocdn.com/path/to/ is the location of the video files.

Signing HDS links

To arrange effective work of the HDS links protection mechanism, the files must be arranged in such a way that different variants of the same video are located in the same folder.

  • 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

In this case there is a possibility of signing a common part of URL for all files inside the specified folder. The Signed URL of the HDS will look as follows:

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

The following raw data will be used to generate the signature:

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

HDS technical requirements

ZeroCDN.com provides HDS streaming support for files subject to the following requirements:

  • mp4-container,
  • h264 video codec,
  • AAC audio codec,
  • faststart support