当前位置: 首页 > article >正文

vue2使用flv.js在浏览器打开flv格式视频

组件地址:GitHub - bilibili/flv.js: HTML5 FLV Player

flv.js 仅支持 H.264 和 AAC/MP3 编码的 FLV 文件。如果视频文件使用了其他编码格式就打不开。

 flv.vue

<template>
  <div>
    <el-dialog :visible.sync="innerVisibleFlv" :close-on-press-escape="false" :close-on-click-modal="false"
            append-to-body width="800px" top="15vh" title="" class="modify" :before-close="handleClose">
        <video ref="videoPlayer" class="video-js vjs-default-skin" controls preload="auto" width="100%" height="99%">
			<!-- 这里不需要添加 source 标签,因为 flv.js 会动态处理 -->

        </video>
    </el-dialog>
  </div>
</template>

<script>
import flvjs from 'flv.js';

export default {
  name: 'FlvPlayer',
  props: {
    innerVisibleFlv: {
        type: Boolean,
        default: true
    },
    flvPath: {
        type: String
    }
  },
  data() {
    return {
      flvPlayer: null,
      videoUrl: null,
    };
  },
  watch: {
      flvPath: {
          deep: true,
          immediate: true,
          handler (n, o) {
              if (n) {
                  this.videoUrl = n;
              }
          }
      }
  },
  mounted() {
    this.$nextTick(() => {
        this.initFlvPlayer();
    })
  },
  beforeDestroy() {
    if (this.flvPlayer) {
      this.flvPlayer.destroy();
    }
  },
  methods: {
    initFlvPlayer() {
      if (flvjs.isSupported()) {
        const videoElement = this.$refs.videoPlayer;
        this.flvPlayer = flvjs.createPlayer({
          type: 'flv',
          // url: this.videoUrl,  # http://localhost:8080/aaa/flv/25012001.flv
          url: '/flv/aaa/flv/25012001.flv', # 本地测试这么写,跨域问题,修改proxyConfig.js
        });
        this.flvPlayer.attachMediaElement(videoElement);
        this.flvPlayer.load();
        this.flvPlayer.play();
      } else {
        console.error('Your browser does not support FLV playback.');
      }
    },
	
    handleClose () {
        this.$emit('handleClose');
    },
  }
};
</script>

<style scoped>

</style>



碰到问题

1、本地开发跨域

修改proxyConfig.js文件,添加下面的内容;修改组件中的url地址为 /flv/xxx

module.exports = {
	....
	proxyTable: {
		'/flv': {
		  target: 'http://localhost:8080', 
		  changeOrigin: true, 
		  pathRewrite: { 
			'^/flv': ''  
		  }
		}
	}
}

ps:碰到过这个问题,还部署到tomcat中测试了,也是无法正常播放,现在想想当时是因为文件的编码不对造成的。

2、文件还是无法播放,原因是flv文件的编码不对

转换工具:在线 & 免费地将 MP4 转换成 FLV — Convertio

 到此,在浏览器可以正常打开。


http://www.kler.cn/a/512017.html

相关文章:

  • 什么是三高架构?
  • 内网渗透测试工具及渗透测试安全审计方法总结
  • ComfyUI 矩阵测试指南:用三种方法,速优项目效果
  • 以租赁合同的例子讲清楚 开源协议原理和区别
  • 4 AXI USER IP
  • 记录node-sass无法安装的问题
  • 解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
  • MongoDB的安装、配置和基本操作
  • 09、PT工具用法
  • PHP基础(下)
  • 数学基础 --线性代数之理解矩阵乘法
  • 如何解析返回的快递费用数据?
  • Android开发与网络请求
  • 【sass+css变量实现换肤】
  • Maven项目中没有.iml文件
  • 编辑器Vim基本模式和指令 --【Linux基础开发工具】
  • 深入解析MIMIC IV数据库中 labevents 和 chatevents 数据表的区别与联系
  • .Net Core微服务入门全纪录(五)——Ocelot-API网关(下)
  • 定制setsockopt只设置一次实现指定sock的永久quickack
  • 如何在Nginx服务器上配置访问静态文件目录并提供文件下载功能
  • 实用技巧:快速修复电脑dxgidebug.dll缺失
  • 什么是报文的大端和小端,有没有什么记忆口诀?
  • WPF基础 | 初探 WPF:理解其核心架构与开发环境搭建
  • javaEE初阶(计算机是如何工作的(2) )
  • 用Zig开发Web后端独特好处
  • k8s 部署kafka单机和集群