效果
GitHub - bilibili/flv.js: HTML5 FLV Player
cnpm install --save flv.js
<!--
* @Description: vueb播放在线flv视频
* @Author: mhf
* @Date: 2023-04-11 20:35:52
-->
<template>
<div>
<video
id="videoElement"
controls
autoplay
muted
width="300px"
height="200px"
></video>
<hr />
<el-button @click="play" type="primary">播放</el-button>
</div>
</template>
<script>
import flvjs from "flv.js";
export default {
name: "flvComp",
components: {},
props: {},
data() {
return {
flvPlayer: null,
};
},
methods: {
play() {
this.flvPlayer.play();
},
},
created() {},
mounted() {
if (flvjs.isSupported()) {
var videoElement = document.getElementById("videoElement");
this.flvPlayer = flvjs.createPlayer({
type: "flv",
isLive: true,
hasAudio: false,
url: "https://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv", // 自己的flv视频流
});
this.flvPlayer.attachMediaElement(videoElement);
this.flvPlayer.load();
this.flvPlayer.play();
}
},
destroyed() {
this.flvPlayer.pause();
this.flvPlayer.unload();
this.flvPlayer.detachMediaElement();
this.flvPlayer.destroy();
this.flvPlayer = null;
}
};
</script>
<style lang="scss" scoped></style>
注:以上代码必须能播,如果出现
此问题为跨域 让后台处理即可,以上仅为前端代码,全部cv进去就能实现播放了