MediaTailor HLS and DASH explicit session initialization
AWS Elemental MediaTailor includes the manifestParams as query parameters in the
multivariant playlist and tracking URLs in the response when the client makes an
explicit session initialization request.
Session initialization methods
For explicit session initialization, you can use either POST with request body or GET with query parameters:
-
POST with Request Body:
POST /v1/session/111122223333/originId/index.m3u8 { "adsParams": {"param1": "value1", "param2": "value2", "param3": "value3"}, "manifestParams": {"test": "123"} } -
GET with Query Parameters:
GET /v1/session/111122223333/originId/index.m3u8?ads.param1=value1&ads.param2=value2&manifestParams.test=123
Example session initialization request
POST /v1/session//111122223333originId/index.m3u8 { "adsParams": { "param1": "value1", "param2": "value2", "param3": "value3" }, "manifestParams": { "test": "123" }, "reportingMode": "client" }
Example manifest and tracking response
{ "manifestUrl": "/v1/master//111122223333originId/index.m3u8?aws.sessionId=session&test=123", "trackingUrl": "/v1/tracking//111122223333originId/session?test=123" }
Manifest responses for the session have the specific manifestParams in
MediaTailor URLs similar to the previously described implicit session-initialization
workflows. The key difference is that manifest parameters for explicit session
initialization don't start with manifest..
Manifest query parameters are immutable and you can only set them on session initialization. If a client makes multiple multivariant playlist requests for a single session, MediaTailor doesn't update the manifest query parameters after the first request.
Parameter processing flow
You can only specify parameters once, at initialization time. Configuration
aliases resolve to actual values before forwarding. For example:
player_params.ad_type=customized resolves to
ad_type=abc12345 based on the ConfigurationAliases
configuration.