Live and VoD manifests for MPEG-DASH and HLS look very similar, however, with some significant differences that are described below:
MPEG-DASH
Here is what needs to be done to transform the live MPEG-DASH manifest into a VoD manifest:
1) Change the type in MPD to be “static” instead of “dynamic”
2) Add a mediaPresentationDuration attribute in the MPD tag. It should contains the length of the video, e.g., for a 10 minutes video it would be mediaPresentationDuration=”PT10M”. Please note this is a XML Duration Data Type [1]
3) Remove the attributes timeShiftBufferDepth, minimumUpdatePeriod
4) If you want to start later in the live stream you can modify the startNumber attribute in SegmentTemplate. The startNumber defines the first segment that will be played when playing the manifest.
HLS
For HLS it depends on the timeshift buffer that is applied. Usually, live M3U8 manifests only contain a window of segments to keep the playlist files small (e.g., for a 24/7 livestream it would not work to keep adding segments to the list). You will need to add the missing segments at the beginning of your playlist file.
At the end of the playlist file, ensure that you have the #EXT-X-ENDLIST tag.
[1] http://www.w3schools.com/xml/schema_dtypes_date.asp
Direct link
