HTTP-FLV协议的视频播放

Web直播之HTTP-FLV协议:flv.js

视频直播服务目前支持3种直播协议:RTMP、HLS、HTTP-FLV。
本文主要讲解在 Vue 项目中如何使用 flvjs 播放器播放 flv 流。

Flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。

1.准备工作
cnpm install --save flv.js
2.代码实战
<template>
  <div id="app">
    <video id="videoElement"></video>
  </div>
</template>

<script>
import flvjs from 'flv.js'

export default {
  data() {
    return {
      flvPlayer: null
    }
  },
  methods: {
    /** * @description 新建flv实例 */
    createFlvPlayer() {
      if (flvjs.isSupported()) {
        const videoElement = document.getElementById('videoElement')
        this.flvPlayer = flvjs.createPlayer({
          type: 'flv',
          isLive: true,
          url: 'flv视频拉流地址'
        })
        
        this.flvPlayer.attachMediaElement(videoElement)
        this.flvPlayer.load()
        this.flvPlayer.play()
      }
    },

    /** * @description 停止混流播放并移除直播流抓取 * (注:离开并重新进入当前路由,观察Network,可知该操作的必要性) */
    pausemix() {
      this.flvPlayer.pause()
      this.flvPlayer.unload()
      this.flvPlayer.detachMediaElement()
      this.flvPlayer.destroy()
      this.flvPlayer = null
    }
  },
  mounted() {
    this.createFlvPlayer()
  },
  beforeDestroy() {
    this.pausemix()
  }
}
</script>
全屏按钮的实现(判断requestFullscreen)
fullScreen() {
    // this.flvPlayer.setFullScreen(true);
    var elem = document.getElementById('videoElement');
    if(elem.requestFullscreen) {
          elem.requestFullscreen();
    } else if(elem.mozRequestFullScreen) {
         elem.mozRequestFullScreen();
    } else if(elem.msRequestFullscreen){
        elem.msRequestFullscreen();
   } else if(elem.oRequestFullscreen){
       elem.oRequestFullscreen();
  }else if(elem.webkitRequestFullscreen){
      elem.webkitRequestFullScreen();
  }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值