带有 hls 插件的 videojs:如何限制重试

videojs with hls plugin: how to limit retries

我使用 videojs 和 videojs-contrib-hls 在我的网站上播放视频。

当一个视频的m3u8文件加载成功,broswer获取其中一个ts文件失败时,videojs会反复重试,日志如下:

GET https://[my ts 文件 url] 404(未找到) VIDEOJS:警告:当前 HLS 播放列表遇到问题。重试,因为它是最终播放列表。

我想监听错误事件并限制重试。 我应该听哪个事件(在播放器或 .tech().hls 上)?

videojs-http-streaming.js 插件(现在包含在 videojs 中)有一个名为 "retryplaylist" 的未记录的事件,您可以尝试类似的东西:

let retries = 0;
player.tech_.on('retryplaylist', () => {
   retries++;
   if (retries>=5)
     // do something
});