HLS

How VOD and Live streams in HLS format should be prepared to operate well with broadpeak.io

๐Ÿ”ธ

This section assumes a working knowledge of the HLS format. For a refresher and some context. we recommend consulting our introductory guide in the HLS Format

๐Ÿ“˜

Quick m3u8 compatibility check :

  • HLS version 4 or lower. Higher versions may still work in some limited cases.
  • Contains a single audio group
  • Contains at most one subtitle group
  • TS Media containers
  • EXT-X-STREAM-INF tags have the "BANDWIDTH" and "CODECS" attributes
  • EXT-X-PROGRAM-DATE-TIME tag must be present in media manifests
  • An Initialization Vector (IV) is present if your content uses AES-128 Encryption

Base Requirements

Versions

broadpeak.io can ingest the following HLS versions:

  • Versions 1 to 4.
  • versions 5 to 8 can be supported if they do not contain attributes that are not supported in version 4.

Media containers

broadpeak.io supports both Transport Stream (.ts) inside an m3u8 manifest.

Please contact us if your use-case requires a specific container such as ISOBMFF/fPM4/CMAF

Independent or multiplexed audio

The HLS specification allows Transport Stream media segments to carry audio only, video only, or audio and video multiplexed inside the same segment. With broadpeak.io, all three scenarios are supported; whether your M3U8 TS has separated audio tracks or multiplexed audio and video tracks, your application should run on the platform.

Mandatory attributes

In HLS, broadpeak.io needs specific attributes to be present for some HLS tags

  • Tag: #EXT-X-STREAM-INF(variant playlists)
    • Attribute: CODECS is required, and must list both video and (if using) audio codecs
    • Attribute: BANDWITDH

Example

#EXT-X-STREAM-INF:BANDWIDTH=2299000,CODECS="mp4a.40.2,avc1.64401F",RESOLUTION=1024x576,AUDIO="audio-aacl-129",CLOSED-CAPTIONS=NONE

Audio rendition groups

HLS provides the ability to link sets of audio tracks with a specific video track using audio groups, also known as audio rendition group. An audio group is a combination of one or more audio tracks with a video track, to indicate to the player that these are supposed to be played together.

For your application to successfully operate with broadpeak.io, the M3U8 provided must contain a single audio group.

.

Absolute and relative paths

Paths to linked files (playlists or media segments) can be absolute or relative, both in multivariant playlists and media playlists.

Encrypted manifests (DRM)

broadpeak.io supports manifests that refer to encrypt content, both for original and replacement sources, whether they are encrypted through AES-128 or SAMPLE-AES.

The only specific requirement is that the IV must be present in the #EXT-X-KEY tag.

Example

#EXT-X-KEY:METHOD=AES-128,URI="https://keygenerator.com/sourcecontent/dummydrm/HLS/aes128.key",IV=0x73fbe3277bdf0bfc5217125bde4ca589