vue项目中使用flvjs播放视频

安装
npm install flv.js

组件内引入
import flvjs from 'flv.js'

使用

<template>
  <div>
	<video id="videoElement" controls autoplay muted width="300px" height="200px"></video>
	<button @click="play">播放</button>
  </div>
</template>
import flvjs from 'flv.js'
export default {
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
	  flvPlayer:null
    }
  },
   mounted() {
      if (flvjs.isSupported()) {
        var videoElement = document.getElementById('videoElement');
        this.flvPlayer = flvjs.createPlayer({
          type: 'flv',
		  isLive: true,
		  hasAudio: false,
          url: 'http://1011.hlsplay.aodianyun.com/demo/game.flv'
        });
        this.flvPlayer.attachMediaElement(videoElement);
        this.flvPlayer.load();
		this.flvPlayer.play();
      }
    },
    methods:{
      play () {
        this.flvPlayer.play();
      }
    }
}

播放失败原因

协议不支持
在一开始我以为flvjs可以播放所有flv格式的视频流,但是经过测试和查看文档发现,这个包仅支持HTTPFLV协议的流,如果使用RTMP协议的流则依然需要使用flash插件。

支持:http://www.xxxxxxx.com:18080/11/22.flv
不支持:rtmp://www.xxxxx.com/api/6538-1.1567494734966.flv

posted @ 2020-09-04 10:36  JackieDYH  阅读(62)  评论(0编辑  收藏  举报  来源