我想从HLS Stream播放特定的时间段,而无需重新编辑原始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节)。
为了正常播放演示文稿,要加载的下一个媒体段是具有最低媒体序列号的媒体段,该媒体序列号大于加载的最后一个媒体段的媒体序列号。
是的,您可以按任何顺序播放它们,只需在任何“拼接”之前放置一个#EXT-X-DISCONTINUITY
标签。你最后还需要#EXT-X-ENDLIST
,或者玩家会认为这是一个真实的清单,只播放最新的片段。
但是,如果段不以关键帧开头,则可能无法获得所需的结果。