HLS and LL-HLS in AWS Elemental MediaPackage - AWS Elemental MediaPackage v2

HLS and LL-HLS in AWS Elemental MediaPackage

MediaPackage supports HTTP Live Streaming (HLS) and Low-Latency HLS (LL-HLS) for delivering content to a wide range of devices, particularly Apple devices and browsers. HLS is one of the most widely supported adaptive bitrate streaming protocols, while LL-HLS extends the standard HLS protocol to provide reduced latency for near real-time streaming experiences.

HLS and LL-HLS features and capabilities

When using HLS or LL-HLS in MediaPackage, you can take advantage of the following features:

  • Container types: HLS and LL-HLS support both TS and CMAF container types, providing flexibility for different use cases.

  • Program date/time: MediaPackage can insert EXT-X-PROGRAM-DATE-TIME tags at configurable intervals, enabling features like viewer seek in the playback timeline and time display on the player.

  • Start tag: MediaPackage supports adding EXT-X-START tags to control where playback begins in the manifest.

  • I-frame only streams: MediaPackage can include additional I-frame only streams to enable player functionality like fast forward and rewind.

  • Audio rendition groups: For TS containers, MediaPackage can group all audio tracks into a single rendition group, allowing all other tracks to be used with any audio rendition.

  • SCTE-35 ad markers: MediaPackage supports signaling ad markers in HLS manifests using Daterange format or SCTE-35 enhanced CUE tags.

  • Encryption: HLS supports AES-128 and Sample AES encryption methods with FairPlay (Sample AES only) and Clear Key AES-128 (AES-128 only) DRM systems.

HLS manifest structure

An HLS manifest is a text-based M3U8 playlist that describes the available media segments and their characteristics. HLS uses a hierarchical structure with two types of playlists:

  • Master playlist: Contains information about the available variants (different bitrates and resolutions) and references to the media playlists.

  • Media playlist: Contains references to the actual media segments for a specific variant.

Key tags in HLS manifests include:

  • EXT-X-STREAM-INF: Describes a variant stream in the master playlist.

  • EXT-X-MEDIA: Describes alternative renditions such as audio or subtitles.

  • EXTINF: Specifies the duration of a media segment.

  • EXT-X-PROGRAM-DATE-TIME: Associates a segment with an absolute date and time.

  • EXT-X-KEY: Specifies how to decrypt encrypted segments.

  • EXT-X-DATERANGE: Signals ad markers and program transition events.

LL-HLS extends the standard HLS protocol with additional tags and features to reduce latency:

  • EXT-X-PART: Identifies partial segments that can be delivered before a complete segment is available.

  • EXT-X-PRELOAD-HINT: Provides hints to the player about upcoming content.

  • EXT-X-SERVER-CONTROL: Specifies server parameters for low-latency streaming.

Differences between HLS and LL-HLS

While HLS and LL-HLS share many features, there are important differences to consider:

  • Latency: Standard HLS typically has latency of 18-30 seconds, while LL-HLS can achieve latency as low as 3-5 seconds.

  • Program date/time: Program date/time (PDT) is optional for standard HLS but required for LL-HLS.

  • Segment delivery: LL-HLS delivers partial segments to reduce latency, while standard HLS delivers complete segments.

  • Player compatibility: LL-HLS requires players that specifically support the low-latency extensions.

When choosing between HLS and LL-HLS, consider your latency requirements, player compatibility, and the importance of features like trick play (fast forward/rewind).

HLS and LL-HLS use cases

Consider using HLS or LL-HLS endpoints in the following scenarios:

  • Delivering content to Apple devices (iPhone, iPad, Apple TV) and browsers

  • Implementing low-latency streaming for live events or interactive experiences (LL-HLS)

  • Supporting DRM-protected content with FairPlay or AES-128 encryption

  • Creating multi-protocol streaming workflows that need to include HLS alongside other formats

  • Enabling advanced playback features like fast forward and rewind with I-frame only streams

For information about creating HLS or LL-HLS endpoints, see Create an HLS or LL-HLS manifest.