EasyNVR视频广场按需播放HLS直播流总是断流原因排查

2021-10-18 11:30:38 浏览数 (1)

EasyNVR视频监控综合管理平台支持多种格式视频流的直播播放,包括HLS、FLV、RTSP等,今年我们在此基础上又开发了WebRTC格式的播放,并且将该格式拓展到其他平台,比如EasyGBS。如果大家有兴趣可以直接下载测试。

我们测试EasyNVR视频广场HLS流直播的时候,发现直播流会断掉。分析其原因,了解到直播m3u8返回#EXT-X-ENDLIST(播放结束),只发送了touch channel命令,播放结束后未发送ts请求,m3u8文件未加载,导致直播流播放结束。

解决问题:

在播放器添加是否开启按需直播参数,在播放器监听播放结束中判断是否为直播、按需直播,如果符合两个判断条件则初始化播放器重新请求流,代码如下:

代码语言:javascript复制
this.player.on("ended", () => {
    if (this.live === true && this.onDemand === true){
        this.destroyVideoJS();
        this.initVideoJS();
    }
    this.$emit("ended");
});

修改后可以看到参数正常返回,直播流正常:

0 人点赞