Contact your account manager to enable the Live Timeshifting capability on your account.
The Live Timeshifting capability for HLS allows viewers to fast forward, rewind, or pause / resume for up to one hour from the time they join a live event or a live channel's stream. This capability is achieved by expanding the playback window up to 60 minutes.
Our implementation uses the HLS Playlist Delta Updates standard which allows us to serve historical segments on the media player's initial request and recent changes on subsequent requests. This minimizes the time required to load and maintain a larger playback window for your viewers.
Key information:
Historical segments exclude ads. Any ads that occurred before the media player joined the stream will be unavailable for playback. However, ads played after the media player joined the stream should be available for replay.
We plan on supporting historical ads in the near future.
The Live Timeshifting capability requires:
A media player that supports HLS 9 or higher.
We plan on supporting DASH in the near future.
A playback URL for a live event or a live channel whose query string includes the hist parameter set to the desired historical playback time in minutes.
Example:
Sample playback URL:
The initial playlist response for a playback request that meets the above requirements includes:
Initial Playlist Response Example:
#EXTM3U
#EXT-X-VERSION:9
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:4
#EXT-X-SERVER-CONTROL:CAN-SKIP-UNTIL=36.0
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:4.00,
fileSequence0.ts
#EXTINF:4.00,
fileSequence1.ts
#EXTINF:4.00,
fileSequence2.ts
#EXTINF:4.00,
fileSequence3.ts
#EXTINF:4.00,
fileSequence4.ts
...
The player decides whether to request a Delta Update by appending the _HLS_SKIP=YES directive to the stream request. When a Delta Update is requested, the server skips the old segments and only includes the most recent segments in the manifest. As playback progresses, the server notifies the media player as to:
Subsequent Playlist Response Example:
#EXTM3U
#EXT-X-VERSION:9
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:4
#EXT-X-SERVER-CONTROL:CAN-SKIP-UNTIL=36.0
#EXT-X-MEDIA-SEQUENCE:266
#EXT-X-SKIP:SKIPPED-SEGMENTS=527
#EXTINF:4.00,
fileSequence793.ts
#EXTINF:4.00,
fileSequence794.ts
#EXTINF:4.00,
fileSequence795.ts
#EXTINF:4.00,
fileSequence796.ts
...