我正在尝试创建一个无限的 HLS 流。这个想法是服务器发送相同的片段,这意味着一旦发送最后一个片段,第一个片段就会再次发送。据我所知,我必须使用 EXT-X-DISCONTINUITY-SEQUENCE 标签。这是我的初始 list
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:NO
#EXT-X-VERSION:2
#EXT-X-TARGETDURATION:8
#EXTINF:8,
fragment0.ts
#EXTINF:8,
fragment1.ts
#EXTINF:8,
fragment2.ts
#EXTINF:8,
fragment3.ts
#EXTINF:8,
fragment4.ts
#EXTINF:8,
fragment5.ts
#EXTINF:8,
fragment6.ts
#EXTINF:4,
fragment7.ts
这就是流开始并且片段 0 被推到底部后的样子。
#EXTM3U
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:NO
#EXT-X-VERSION:2
#EXT-X-TARGETDURATION:8
#EXTINF:8,
fragment1.ts
#EXTINF:8,
fragment2.ts
#EXTINF:8,
fragment3.ts
#EXTINF:8,
fragment4.ts
#EXTINF:8,
fragment5.ts
#EXTINF:8,
fragment6.ts
#EXTINF:4,
fragment7.ts
#EXT-X-DICONTINUITY
#EXTINF:8,
fragment0.ts
一旦片段 0 到达顶部,我就会递增 EXT-X-DISCONTINUITY-SEQUENCE。这似乎不起作用,有人知道为什么吗?
最佳答案
每次从顶部删除片段时,EXT-X-MEDIA-SEQUENCE
都必须增加 1。因此,fragment0.ts
在顶部消失后播放列表中必须显示 #EXT-X-MEDIA-SEQUENCE:1
。
请注意,一段时间后,当#EXT-X-DISCONTINUITY-SEQUENCE
退出时,#EXT-X-DICONTINUITY
将最终出现在播放列表的顶部code> 也必须加 1。
关于http-live-streaming - 创建在相同片段上循环的无限 HLS 流时如何使用 EXT-X-DISCONTINUITY-SEQUENCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795350/