zoukankan      html  css  js  c++  java
  • EasyNVR视频广场按需播放HLS直播流总是断流原因排查

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

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

    解决问题:

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

    this.player.on("ended", () => {
        if (this.live === true && this.onDemand === true){
            this.destroyVideoJS();
            this.initVideoJS();
        }
        this.$emit("ended");
    });

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

  • 相关阅读:
    javascript基础01
    javascript基础02
    javascript基础03
    javascript基础04
    javascript基础05
    javascript基础06
    Android 实现截屏功能
    android 获取摄像头像素
    c# Winform dataGridView动态添加行
    Android 读取Assets下的文件
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/15407642.html
Copyright © 2011-2022 走看看