我正在开发播放 HLS Live 内容的播放器。因此,它会定期重新加载测试链接的 .m3u8 索引文件。
例如播放器重新加载了 01.m3u8 索引文件。
(01.m3u8 - #1)
0.ts---the player tried to download this 100.ts file first.
1.ts---
2.ts
3.ts
然后,它尝试下载 0.ts 文件。
但是,网络带宽不足以快速下载这个 0.ts 文件。
一个 TS 下载用了将近 24 秒。因此,它再次重新加载了 02.m3u8 索引文件。
(01.m3u8 - #2)
2.ts---the player tried to download 102.ts file first.
3.ts
4.ts
5.ts
但是,播放器在索引文件中找不到 1.ts 文件。因为,在播放器下载 1.ts 文件之前,服务器已经更新了索引文件。因此,播放器尝试下载 2.ts 文件而不是 1.ts 文件。
这意味着播放器丢失了 20 秒的流数据。那么,这种行为是否符合规范,因为它看起来令人困惑?
我认为它应该从 1.ts 而不是 2.ts 开始更新 m3u8。或者它是如何决定的。
有人可以提出建议吗?