我正在写一个m3u8播放器并且有一个小问题。我试图播放的一个m3u8视频返回的媒体序列与段文件名无关,文件名永远重复。我怎么知道我是否已经播放了一个特定片段?
这就是请求在几秒钟内的样子:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:5609
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:10.000000,
channel001.ts
#EXTINF:10.000000,
channel000.ts
然后几秒钟后:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:5610
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:10.000000,
channel000.ts
#EXTINF:10.000000,
channel001.ts
几秒钟后再说:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:5611
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:10.000000,
channel001.ts
#EXTINF:10.000000,
channel000.ts
因此段名相同,媒体序列并没有告诉我多少。我怎么知道我是否已经玩过那些特定的片段?
感谢。
答案 0 :(得分:0)
细分名称并不重要,您始终使用媒体序列。每次从播放列表中删除片段时,MEDIA-SEQUENCE
都会递增。
第3。媒体细分
...
媒体播放列表中的每个片段都有一个唯一的整数媒体序列 数。媒体中第一个段的媒体序列号 播放列表为0或在播放列表中声明(第4.3.3.2节)。 每个其他段的媒体序列号等于 媒体序列在它之前的段的编号加上一个。
和
<强> 6.3.5。确定要加载的下一个部分
...
要加载的第一个段通常是客户端的段 选择先播放(参见第6.3.3节)。
为了正常播放演示文稿,请将下一个媒体片段发送到 load是介质序列号最小的那个 比加载的最后一个媒体片段的媒体序列号。