http-live-streaming - 创建在相同片段上循环的无限 HLS 流时如何使用 EXT-X-DISCONTINUITY-SEQUENCE

标签 http-live-streaming hls.js

我正在尝试创建一个无限的 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/

相关文章:

ios - 如何逐 block 下载 m3u8 视频文件?

android - 我们如何在流式传输后缓存 HLS 视频 url

ios - 在 iOS 8.x 中,字符在 WebVTT 中被破坏以用于字幕

ffmpeg - 转换为 HLS VS MPEGTS

ios - 如何从我的自定义制作 DASH 视频播放器制作 HLS 视频播放器?

android - HLS 流式传输始终在 Android 浏览器中从头开始

ffmpeg 转换为 hls 时烧录的字幕不同步

angular - 在 Chrome 上使用 Shaka Player 播放 HLS m3u8

video - FFMpeg 将 .srt 文件作为 WebVTT 嵌入到 hls 流播放列表中