vue2 播放锐明flv格式的视频

一、flv.js

1、 flv.js 来在 HTML5 视频元素上播放 FLV 视频流。需要先安装flv.js

    npm install --save flv.js 

2、显示视频的位置

  <video id="videoElement" controls class="video" muted />
3、引入js文件
import flvjs from 'flv.js'
 // 显示视频信息
    showVideo(videoUrl,data,index) {
      // 视频是单独的端口
      if(flvjs.isSupported()){const videoElement = document.getElementById(videoElement); //获取video的dom元素
          const flvPlayer = flvjs.createPlayer({
            type: 'flv',
            isLive: true,
            hasAudio: false,
            url: videoUrl
          },{
            autoCleanupSourceBuffer:true, // 对SourceBuffer进行自动清理缓存
            enableStashBuffer: false, // 关闭IO隐藏缓冲区
            stashInitialSize: 128
          });
          flvPlayer.attachMediaElement(videoElement);
          flvPlayer.load();
          flvPlayer.play();
          this.playList.push(flvPlayer);
          // 事件监听
          flvPlayer.on(flvjs.Events.ERROR,(err, errdet) =>{
            if(err == flvjs.ErrorTypes.NETWORK_ERROR){
              this.singleDestroy(flvPlayer);
              this.$publicmethod.showMessage("连接超时", this.$publicmethod.ErrorType)
            }
            if(err == flvjs.ErrorTypes.OTHER_ERROR){
              this.singleDestroy(flvPlayer);
              this.$publicmethod.showMessage("其他异常", this.$publicmethod.ErrorType)
            }
          })
      }else{
        this.$publicmethod.showMessage("flvjs不支持", this.$publicmethod.ErrorType)
      }

4、部署生产环境的时候,如果生产环境是https的需要配置nginx

location /bdVideo {
   proxy_pass http://ip:端口/live.flv;
   proxy_set_header Host $host:$server_port;
   proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}

 5、接口返回的视频地址需要相应的修改,开头对应的是生产环境地址

https:生产环境ip:生产环境port:/bdVideo?地址

 

posted @ 2024-05-22 16:57  flyComeOn  阅读(394)  评论(0编辑  收藏  举报