Videojs,如何动态更新 m3u8 播放列表

Yur*_*rts 2 http-live-streaming http-streaming video.js m3u8

我想从后端添加新的传入块到已经播放“实时”m3u8 播放列表的播放器

这是一个现有的播放列表(已经设置和播放)

#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PROGRAM-DATE-TIME:2018-10-19T16:39:07Z
#EXTINF:6.000,
56-06000.ts
#EXTINF:6.000,
56-06000.ts
#EXTINF:6.000,
56-06000.ts
#EXTINF:6.000,
56-06000.ts
#EXT-X-ENDLIST
Run Code Online (Sandbox Code Playgroud)

这是一个更新的播放列表,我想用下一个替换旧的播放列表(在下面列出),但我不想用命令重新加载 videojs 播放器 (player.src(...))

#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PROGRAM-DATE-TIME:2018-10-19T16:39:07Z
#EXTINF:6.000,
56-06000.ts
#EXTINF:6.000,
56-06000.ts
#EXTINF:6.000,
56-06000.ts
#EXTINF:6.000,
56-06000.ts
....
....
many another chunks
....
....
#EXT-X-ENDLIST
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?或者也许存在其他更新播放列表的好方法?

sza*_*ary 5

将播放列表类型更改为 EVENT,并且不要写结束标签。然后播放器将不断请求更新的播放列表。有关更多信息,请阅读规范。https://tools.ietf.org/html/rfc8216