Time-shifted viewing with AWS Elemental MediaPackage
Time-shifted viewing is available with live workflows in AWS Elemental MediaPackage.
Time-shifted viewing means that viewers can start watching a live stream at a time earlier than "now," permitting them to join from the beginning a show that's already in progress or to watch a show that's already completed. MediaPackage supports time-shifted viewing for content that's up to 336 hours (14 days) old. You can enable time-shifted viewing for some or all of this content by defining the startover window on the endpoint. Content that falls within that window is available for playback when playback requests include valid start and end parameters.
In the following steps, "now" is determined either by the program date time (PDT) present in the source content from the encoder or, if this PDT information is not included, by the MediaPackage ingest time of the most recent segment.
To enable time-shifted viewing
-
Enable time-shifted viewing by typing a value for Startover window on the MediaPackage endpoint object. You can do this through either the MediaPackage console or the MediaPackage API.
When requests with start and end parameters that are within the startover window are sent to this endpoint, MediaPackage generates a manifest for the requested timeframe. If the start parameter is outside of the startover window, or if the end parameter is before the startover window, the playback request fails. If no start and end parameters are used, the service generates a standard manifest.
Note
You might notice that the manifest lags behind real time when you initially create a startover window on an endpoint. This is because MediaPackage starts filling the manifest from the start of the window, and works up to "now." So, if you have a 24-hour startover window, MediaPackage fills the manifest starting 24 hours ago and working up to "now."
-
Ensure that content requests contain start and end parameters as needed. MediaPackage accepts requests for up to 24 hours of content.
For packager-specific rules about how you can notate the parameters, see Define a manifest start and end from AWS Elemental MediaPackage.
The start and end parameters determine the time boundaries of the manifest. These are the expected behaviors based on request start and end parameters:
-
If both start and end parameters are specified, the resulting manifest has a fixed start and end time that correspond to the specified start and end parameters.
If the end time is in the future, the tags in the manifest are consistent with an event manifest. The manifest will continue to grow until it reaches the end time, at which point it will become a VOD manifest.
-
If a start parameter is specified without an end parameter, the resulting manifest will have a fixed start time corresponding to the specified start parameter, while the end of the manifest will grow as the live content progresses.
Note
For TS output, many playback devices start playback at the current time ("now"). To view the content from the actual start time of the playback window, viewers can seek back on the playback progress bar.
-
If no start time or end time parameters are specified, the service will generate a standard manifest.
-
Important
When using time-shifted viewing, we recommend using consistent playback windows across player sessions, rather than generating a unique start or end time for each viewer. This yields better caching at the CDN, and will avoid running into potential throttling related to those requests, on the MediaPackage level.
The following topics describe how to use parameters to define time-shifted manifests from MediaPackage.