Flexible Playback (start | end)

The query string enables end-users to begin playback at a specific time within the stream’s DVR window throughout the playback session. For example:
uri/master.m3u8?start=1326048&end=1326069248

The start time is mandatory but the end time is not.

  • If no end time is provided, the player directly plays the live stream. The stream begins at the time set in the start parameter instead of the default DVR set in the configuration.
  • The start time in this case can be inside or outside the DVR window. If the start time is outside the DVR window, the playback starts from the available start of the stream. If the start time is inside the DVR window, the stream starts from the specified position inside the DVR window.

If the start and end times are both provided, both should be inside the DVR window. If not, an error message appears.

The start and end times support UTC or ISO 8601 time formats. For example, a UTC time value would be a number of seconds and, optionally, milliseconds:
uri/master.m3u8?start=1326069048.001
The ISO 8601 time format is more complex, but also readable. For example, the format to declare the start time of January 8, 2012 10:40am PST using the ISO 8601 format is:
uri/master.m3u8?start=2012-01-08T10:40:48-7:00

The T in the format is in the string to separate the time from the date.

The clip duration might not exactly match the specified time in start and end parameters because the segments are generated based on keyframe intervals.

For example, having keyframe interval of 2s with start=1000000000 and end=1000000025 might result in a clip of duration 24s rather expected duration of 25s. This is because the last keyframe in the required clip is present at the 24th second. You can use a keyframe interval that is exactly divisible by segment duration and required clip duration to obtain the correct clip output. In the above example, you can use a keyframe interval of 1s.