vue 视频监控videojs

···
下载
yarn add video.js
yarn add mux.js

image.png

main.js

import Videojs from 'video.js'
import 'video.js/dist/video-js.css'
Vue.prototype.$video = Videojs

父组件

    <div
          v-for="(item,index) in vedioData"
          :key="index"
          class="play_Video"
        >
          <playVideo
            :Item='item'
            :Index='index'
              v-if='item'
              class="item_Video"
          />

        </div>

vedioData:[
"http://*/mag/hls/e00c8baa333c4bb4827113d4661e53d0/0/live.m3u8",
"http://
/mag/hls/355156f2195f46c489e9c877bbda16f7/0/live.m3u8",
"http://
/mag/hls/9521f33ac3964be5ae5ee08928bdb3b1/0/live.m3u8"
],

子组件

<template>
  <!--  -->
  <div class="item_Video" 
              v-if='Item'
  >
      <video
          :id="`my-video${Index}`"
       class="video-js vjs-default-skin  vjs-big-play-centered" controls preload="auto" muted
             style='width: 100%;height: 100%'>
        <source :src="Item" style='width: 100%;height: 100%' type="application/x-mpegURL">
      </video>

  </div>
</template>
export default {
  props:{
      Item: {
      type: String,
    },
      Index: {
      type: Number,
    },
  },
  methods: { 
     initVideo() {
         this.$nextTick(() => {
          let myPlayer = this.$video(document.getElementById(`my-video${this.Index}`), {
            //确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
            controls: true,
            autoplay: 'muted',
            preload: "auto",
            controlBar:{
              playToggle:true
            }
          }); 
        })
  },
  mounted() {
    this.initVideo();
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,761评论 1 9
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,605评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,643评论 2 9
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,227评论 4 8