HLS
How VOD and Live streams in HLS format should be prepared to operate well with broadpeak.io
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
- Media containers: Segmented TS or fMP4 / ISOBMFF
- 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
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
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
- Attribute:
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
Updated 2 months ago