Configure time-shifted viewing for MediaTailor channel assembly
AWS Elemental MediaTailor channel assembly supports time-shifted viewing capabilities that enable DVR-like functionality such as pause, rewind, and start-over for your linear channels. Enable these features by configuring your content delivery network (CDN) to support time-shifted viewing, which allows viewers to control their viewing experience.
Understanding time-shifted viewing
Time-shifted viewing enables DVR-like functionality for linear channels, including:
-
Start-over: Viewers can start watching a program from the beginning, even if they join after it has started
-
Pause and resume: Viewers can pause content and resume watching later
-
Rewind and fast-forward: Viewers can navigate backward and forward through available content
-
Delayed viewing: Viewers can watch content that aired earlier in the channel's schedule
Time-shifted viewing works by adding a start
parameter to the
channel's playback URL. The parameter specifies an offset in seconds relative to the
current time:
-
Negative values indicate a time in the past (such as
start=-3600
means "start from 1 hour ago") -
Positive values indicate a time in the future (such as
start=3600
means "start from 1 hour in the future")
Example URL with time-shift parameter:
https://example-cdn.com/out/v1/channel-name/index.m3u8?start=-3600
Time delay resolution
To support time-shifted viewing with a CDN:
-
Configure your CDN to forward the
start
query parameter to channel assembly. -
Set up cache behaviors that include the
start
parameter in the cache key. -
For manifests with time-shift parameters, use a short TTL or no caching.
This ensures that each viewer receives the correct manifest for their requested time position.
CDN requirements for time-shifting
Your CDN must meet these requirements to support time-shifted viewing with channel assembly:
-
Forward all query parameters to channel assembly.
-
Include the
start
parameter in the cache key. -
Support proper cache invalidation for time-shifted manifests.
-
Handle varying manifest responses based on query parameters.