vue+video.js实现trmp协议多个视频直播

一、npm包准备

cnpm i video.js -S
cnpm i videojs-flash -S

二、main.js 中进行引入

import Video from "video.js";
import "videojs-flash";
import "video.js/dist/video-js.min.css";
Vue.prototype.$video = Video;

三、组件中进行使用


data(){
  return {
    videoList: [//trmp视频源数组
        {
          url: "rtmp://58.200.131.2:1935/livetv/hunantv",
          id: 2
        },
        {
          url:
            "rtmp://rtmp01open.ys7.com/openlive/f01018a141094b7fa138b9d0b856507b.hd",
          id: 4
        },
        {
          url: "rtmp://119.23.19.140:1935/live/openUrl/YaVoFjO",
          id: 1
        },
        {
          url: "rtmp://58.200.131.2:1935/livetv/gxtv",
          id: 9
        }
      ],
  }
}

mounted(){
  this.initVideo();
},

methods:{
    initVideo() {
      let videoArr = [];
      this.videoList.map((item,index) => {
       //把视频配置项 push 进新数组逐个播放
        videoArr.push(
            this.$video("myVideo" + item.id, {
            controls: true,//显示控件
            autoplay: true,//自动播放
            preload: "auto",//预加载
            // poster: "",//封面图
          })
        )
        videoArr[index].play();
      });
      //离开组件时销毁每个实例
      this.$once('hook:beforeDestroy',()=>{
        for(let i in this.videoList){
          videoArr[i].dispose();
        }
      })
    },
}

/*
  Author:XiNine
 下期:vue + vue-video-player实现 HSL 多视频直播(海康)
*/

Tips:
1.经过试验,海康威视的trmp流无法播放,具体原因还不知道
2.不过下期的文章,有可以现实海康直播流的方案。

效果图
vue+video.js实现trmp协议多个视频直播_第1张图片

你可能感兴趣的:(javascript,前端,vue.js,npm)