flv.js使用(vue)

flv.js使用前注意

flvjs只能播放HTTPFLV协议的的视频流

<template>
  <!-- <data-box title="重点区域视频联动" block> -->
    <!-- <div class="video-box"> -->
      <div class="video-list">
        <div 
          v-for="(video, idx) in videoList"
          :key="idx"
          class="video-item">
          <div class="video-con">
            <div class="video-info">
              <video 
                :id="video.index + '_' + idx"
                width="540" 
                height="300"
                autoplay 
                muted 
                >
                <!-- <source src="video/jpk-1.mp4" type="video/mp4"> -->
              </video>
            </div>
            <div class="video-name">{{video.camera_name}}</div>
          </div>
        </div>
      </div>
    <!-- </div> -->
  <!-- </data-box> -->
</template>
<script>
  import flvjs from 'flv.js'
  import { getData } from '@/assets/api/app'
  // let players = [];
  export default {
    name: 'video-list',
    props: {},
    data () {
      return {
        videoList: [
          // {
          //  camId: '99809b42-70a0-11e9-8592-fa163e4635ff',
          //  camName: '十候一检票口'
          // }
        ],
        players:[]
      }
    },
    computed: {},
    methods: {
      fetch () {
        getData('getCameraList_RTMP').then(data => {
          data = data.data;
          this.videoList = [
            ...data[0].camera_list,
            ...data[1].camera_list,
          ]
          console.log(this.videoList)
          this.$nextTick(()=>{
            this.videoList.forEach( (camInfo , idx) => {
              let videoEle = document.getElementById(`${camInfo.index}_${idx}`);
 
        //!注意:如果播放直播流(监控视频)必须将参数isLive:true加上,不然会导致短时间内断流会造成视频页面卡顿
        let player = flvjs.createPlayer({
                  type: 'flv',
                  url: camInfo.camera_url_flv,
                  isLive: true //直播流
              });
              player.attachMediaElement(videoEle);
              player.load();
              player.play();
              this.players.push(player);
            })
          })
        })
      }
    },
  //调用组件
    created () {
      this.fetch()
    },
 
  //在销毁生命周期内销毁组件
    destroyed () {
      this.players.forEach(player => {
        player.pause();
        player.unload();
        player.detachMediaElement();
        player.destroy();
        player = null;
      })
    }
  }
</script>
<template>
  <!-- <data-box title="重点区域视频联动" block> -->
    <!-- <div class="video-box"> -->
      <div class="video-list">
        <div 
          v-for="(video, idx) in videoList"
          :key="idx"
          class="video-item">
          <div class="video-con">
            <div class="video-info">
              <video 
                :id="video.index + '_' + idx"
                width="540" 
                height="300"
                autoplay 
                muted 
                >
                <!-- <source src="video/jpk-1.mp4" type="video/mp4"> -->
              </video>
            </div>
            <div class="video-name">{{video.camera_name}}</div>
          </div>
        </div>
      </div>
    <!-- </div> -->
  <!-- </data-box> -->
</template>
(0)

相关推荐

  • 7个实用的 Vue.js 工具和库

    前端技术优选 昨天 以下文章来源于前端迷社区 ,作者小迷妹 大家好,我是为前端娱乐圈操碎了心的小迷妹,正宗前端开发一枚,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效 ...

  • vue.js的安装

    公司要开始分配给我做前后端分离项目了555555555555 让我一个java的去了解vue并且还要会搭建=-= 莫得办法那么就开始必不可少的安装环节吧: 第一步! 安装node.js: 首先进入官网 ...

  • .net core3.1 webapi + vue.js + axios实现跨域

    我所要讲述的是,基于.net core3.1环境下的webapi项目,如何去使用axios对接前端的vue项目 既然谈到axios,这里贴出axios的官方文档地址: http://www.axios ...

  • Vue.js权威指南

    一.遇见Vue.js 1.MVP,从MVC演化而来,Controller/Presenter负责逻辑的处理,完全把View和Model进行了分享,主要的程序逻辑在Presenter里实现,与具体的Vi ...

  • vue中使用viewer.js 插件

    一.预览图 二.地址及参数 viewer.js GitHub地址:https://github.com/fengyuanchen/viewerjs 演示地址:https://fengyuanchen. ...

  • 揭秘 Vue.js 九个性能优化技巧

    这篇文章主要参考了 Vue.js 核心成员 Guillaume Chau 在 19 年美国的 Vue conf 分享的主题:9 Performance secrets revealed,分享中提到了九 ...

  • 邂逅Vue.js – 初始及安装

    邂逅Vue.js中要学习的内容大纲: 1.初识Vue.js (1)为什么学习Vue.js (2)简单认识一下Vue.js 2.Vuejs安装方式 (1)CDN引入 (2)下载和引入 (3)NPM安装管 ...

  • Vue.js开发移动端经验总结

    相对于PC端来说,移动端设备分辨率百花齐放,千奇百怪,对于每一个开发者来说,移动端适配是我们进行移动端开发第一个需要面对的问题. 在移动端我们经常可以在head标签中看到这段代码: <meta  ...

  • 细说 Vue.js 3.2 关于响应式部分的优化

    译过来就是 ref API 的读效率提升约为 260%,写效率提升约为 50% ,依赖收集的效率提升约为 40%,同时还减少了约 17% 的内存使用. 这简直就是一个吊炸天的优化啊,因为要知道响应式系 ...