Opened 2 years ago

Closed 5 months ago

#4571 closed enhancement (fixed)

HLS VOD m3u8 manifest support

Reported by: chrisballinger Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: hls m3u8
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Currently hlsenc.c supports generating a "live" manifest that is updated with a moving window of segments. There are two other types of manifests, VOD and event.

VOD manifests contain every segment and are useful to generate simultaneously with the live manifest, so when an event is over, a full version of the event is immediately available.

This could be achieved by simply adding "#EXT-X-PLAYLIST-TYPE:VOD" as the second line at the top of another manifest that contains all segments.

#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
fileSequenceA.ts
#EXTINF:10.0,
fileSequenceB.ts
#EXTINF:10.0,
fileSequenceC.ts
#EXTINF:9.0,
fileSequenceD.ts
#EXT-X-ENDLIST

The "event" type (#EXT-X-PLAYLIST-TYPE:EVENT) is similar to the live type, however instead of a sliding window, the manifest grows only by appending new segments. This allows a user to join a live event but seek to the beginning of a stream. When an event is finished, an event manifest is more or less equivalent to a VOD manifest.

Full documentation is here:

https://developer.apple.com/library/ios/technotes/tn2288/_index.html#//apple_ref/doc/uid/DTS40012238-CH1-TNTAG2

Change History (4)

comment:1 Changed 2 years ago by chrisballinger

  • Keywords hls vod apple m3u8 added

comment:2 Changed 2 years ago by cehoyos

  • Keywords vod apple removed
  • Priority changed from normal to wish

comment:3 Changed 5 months ago by stevenliu

-f hls hls_playlist_type can fix this

  -hls_playlist_type <int>        E....... set the HLS playlist type (from 0 to 2) (default 0)
     event                        E....... EVENT playlist
     vod                          E....... VOD playlist

comment:4 Changed 5 months ago by cehoyos

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.