我想从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节)。
为了正常播放演示文稿,下一个要加载的媒体片段是媒体序列号最低的媒体片段,该媒体片段号大于最后一个加载的媒体片段的媒体序列号。
答案 0 :(得分:0)
是的,您可以按任何顺序播放它们,只需在任何“拼接”之前放置#EXT-X-DISCONTINUITY
标签即可。最后还需要#EXT-X-ENDLIST
,否则播放器会认为这是实时清单,并且仅播放最近的片段。
但是,如果分段不是以关键帧开头,则可能无法获得所需的结果。