繁体   English   中英

videojs - 如何在直播 stream 期间捕获自定义 http 错误代码?

[英]videojs - How to catch custom http error codes during live stream?

我有一个正在使用 videojs 6.8 播放的实时 stream (HLS)。 对于某些用户,播放开始后(大约加载了 4-5 个.ts文件)服务器向我抛出409错误。

我如何捕捉这个特定的错误代码,以便我可以编程方式停止播放并显示错误消息?

目前,videojs 一直在尝试无限期地恢复播放。 我已经尝试过retryplaylistblacklistplaylist但我得到的所有信息都是播放列表已被列入黑名单并且正在重试,我在我的console.log()中的任何地方都没有看到 HTTP 代码。 player.on('error')不会抛出任何错误。 我已经尝试了以下所有三种方法,但都没有给我 http 代码:

    player.on('error', function (e) {
        // no log
        console.log(e);
    })

     player.tech().on('retryplaylist', function (e, data) {
       // logs that it is being retried, but no http code
       console.log('retry');
       console.log(e);
     })

    player.tech().on('usage', function (e, data) {
        // logs the even 'retryplaylist` but does not give me a http code.
        console.log('usage');
        console.log(e)
    })

我不想将我的消息放在retryplaylist中,因为在 slow.network 的情况下也会抛出该事件(我已经测试过了)。

我必须做什么才能捕获特定的 409 错误?

看起来像:

var retries = 0;
player.tech().on('retryplaylist', function (e, data) {
  retries++;
  if (retries >= 3) {
    // do something
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM