对于HLS VOD流,是否可以只播放媒体播放列表文件中的特定媒体序列?

时间:2019-03-26 21:37:06

标签: hls http-live-streaming playlist m3u

我想从HLS流播放特定的时间段,而无需重新编辑原始MP4文件。是否可以更改媒体播放列表文件以播放乱序的特定TS媒体序列?

例如,在下面的M3U列表中,是否可以只播放fileSequence0-fileSequence2,然后跳过fileSequence3并直接转到fileSequence4?

M3U列表示例:

#EXTM3U
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
fileSequence0.ts
#EXTINF:10.0,
fileSequence1.ts
#EXTINF:10.0,
fileSequence2.ts
#EXTINF:10.0,
fileSequence3.ts
#EXTINF:10.0,
fileSequence4.ts

根据HLS文档,我需要更改或省略fileSequence3.ts的媒体序列号才能跳过它,但是我不确定是否可能。

  

6.3.5。确定下一个要加载的片段   ...   通常要加载的第一个网段是客户选择首先播放的网段(请参见第6.3.3节)。

     

为了正常播放演示文稿,下一个要加载的媒体片段是媒体序列号最低的媒体片段,该媒体片段号大于最后一个加载的媒体片段的媒体序列号。

1 个答案:

答案 0 :(得分:0)

是的,您可以按任何顺序播放它们,只需在任何“拼接”之前放置#EXT-X-DISCONTINUITY标签即可。最后还需要#EXT-X-ENDLIST,否则播放器会认为这是实时清单,并且仅播放最近的片段。

但是,如果分段不是以关键帧开头,则可能无法获得所需的结果。