MediaTailor protocol-specific parameter behavior
AWS Elemental MediaTailor handles manifest query parameters differently for HLS and DASH protocols. Each protocol type has specific application locations and processing methods.
HLS vs DASH parameter handling comparison
The following table compares how MediaTailor handles manifest query parameters across HLS and DASH protocols:
Aspect | HLS Behavior | DASH Behavior |
---|---|---|
Parameter application | Applied directly to manifest URLs and segment URLs | Applied to Location elements, SegmentTemplate attributes, and segment URLs |
Manifest hierarchy | Multivariant playlist → Media playlists→ Segments | MPD → Periods → AdaptationSets → Representations |
Initialization URLs | Applied to HLS init URLs when present | Applied to SegmentTemplate initialization attributes |
Session handling | Parameters preserved across playlist updates | Parameters included in MPD Location element for session continuity |
Ad segment handling | Applied to ad segment URLs in media playlists | Applied to ad period SegmentTemplate media attributes |
Parameter application locations
MediaTailor applies manifest query parameters to the following locations:
HLS parameter application
For HLS streams, MediaTailor applies manifest query parameters to:
-
Multivariant playlist URLs: Parameters are appended to media playlist references
-
Media playlist URLs: Parameters are included in segment URLs within media playlists
-
Content segment URLs: All content segments include the manifest query parameters
-
Ad segment URLs: Ad segments receive parameters for CDN routing and authorization
-
HLS initialization URLs: Init segments include parameters when present in the stream
-
Slate segment URLs: Slate content includes parameters for consistent CDN behavior
Example HLS parameter application example
Given the session initialization:
GET /v1/master/123456789/originId/index.m3u8?manifest.auth_token=abc123&manifest.region=us-west
The multivariant playlist includes parameters in media playlist references:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=2665212,RESOLUTION=960x540 ../../../manifest/123456789/originId/session/0.m3u8?auth_token=abc123®ion=us-west
The media playlist includes parameters in segment URLs:
#EXTM3U #EXT-X-VERSION:6 #EXT-X-TARGETDURATION:7 #EXTINF:6.006, https://origin.com/segment1.ts?auth_token=abc123®ion=us-west #EXTINF:6.006, ../../../../segment/123456789/originId/session/0/2?auth_token=abc123®ion=us-west
DASH parameter application
For DASH streams, MediaTailor applies manifest query parameters to:
-
MPD Location elements: The Location element includes parameters for manifest refresh requests
-
SegmentTemplate initialization attributes: Init segment URLs include parameters
-
SegmentTemplate media attributes: Media segment URL templates include parameters
-
Content segment URLs: All content segments generated from templates include parameters
-
Ad segment URLs: Ad period segments include parameters for CDN integration
-
Server-side reporting redirects: 302 redirects to ad segments preserve parameters
Example DASH parameter application example
Given the session initialization:
GET /v1/dash/123456789/originId/index.mpd?manifest.auth_token=abc123&manifest.region=us-west
The DASH manifest includes parameters in multiple locations:
<MPD> <Location>https://mediatailor.com/v1/dash/123456789/originId/index.mpd?auth_token=abc123®ion=us-west&aws.sessionId=session</Location> <Period> <AdaptationSet> <Representation> <SegmentTemplate initialization="init.mp4?auth_token=abc123®ion=us-west" media="segment_$Number$.mp4?auth_token=abc123®ion=us-west"/> </Representation> </AdaptationSet> </Period> </MPD>