Vue中使用flv.js播放flv格式视频流
1.安装依赖
npm install flv.js --save --legacy-peer-deps
2.具体代码
Html部分
<template>
<div>
<video autoplay controls id="myVideoFlv" />
</div>
</template>
JS部分
<script>
import flvjs from 'flv.js/dist/flv.min.js'
export default {
name: "VideoFlv",
data() {
return {
flvPlayer: null,
webrtcUrl: "Your Flv Video URL"
}
},
mounted() {
this.webrtcPlay()
},
beforeDestroy() {
this.destoryVideo()
},
methods: {
webrtcPlay() {
if (flvjs.isSupported()) {
if (this.flvPlayer) {
this.flvPlayer.pause()
this.flvPlayer.unload()
this.flvPlayer.detachMediaElement()
this.flvPlayer.destroy()
}
this.flvPlayer = flvjs.createPlayer(
{
type: 'flv',
url: this.webrtcUrl
},
{
cors: true,
enableWorker: true,
anableStashBuffer: false,
stashInitialSize: 384,
autoCleanupSourceBuffer: true
}
)
this.flvPlayer.attachMediaElement(document.getElementById('myVideo'))
this.flvPlayer.load()
this.flvPlayer.play()
this.flvPlayer.on(flvjs.Events.ERROR, (errType, errDetail) => {
console.log('errType:', errType)
console.log('errorDetail:', errDetail)
if(this.flvPlayer){
this.destoryVideo()
this.webrtcPlay()
}
})
}
},
destoryVideo() {
if (this.flvPlayer) {
this.flvPlayer.pause()
this.flvPlayer.unload()
this.flvPlayer.detachMediaElement()
this.flvPlayer.destroy()
this.flvPlayer = null
}
}
}
}
</script>
3.效果

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了