vue项目中用flv.js插件实现websocket形式的数据拉流,呈现视频在页面上,但是一直报类型错误,不知道为啥?-灵析社区

喝一杯吧可以吗

vue项目中用flv.js插件实现websocket形式的数据拉流,呈现在页面上,但是一直报类型错误,不知道为啥。 组件代码如下: import flvjs from "flv.js/dist/flv.js"; export default { props: ['videoUrl'], components: { }, data() { return { flvPlayer: null, } }, computed: { }, created() { }, mounted() { this.init(); }, destroyed() { this.stop(); }, methods: { init() { console.log('初始化我看下地址', this.videoUrl); let videoElement = this.$refs.videoElement if (flvjs.isSupported()) { this.flvPlayer = flvjs.createPlayer({ type: 'flv', //媒体类型 url: this.videoUrl, //flv格式媒体URL ws://121.36.167.167/webSocket/webSocket/140588574059936/662431624 isLive: true, //数据源是否为直播流 hasAudio: false, //数据源是否包含有音频 hasVideo: true, //数据源是否包含有视频 enableStashBuffer: true //是否启用缓存区 }, { enableWorker: false, //不启用分离线程 enableStashBuffer: false, //关闭IO隐藏缓冲区 autoCleanupSourceBuffer: true //自动清除缓存 }); this.flvPlayer.attachMediaElement(videoElement); //将播放实例注册到节点 this.flvPlayer.load(); //加载数据流 setTimeout(() => { this.flvPlayer.play(); //播放数据流 }, 2000); } }, stop() { this.flvPlayer.pause(); //暂停播放数据流 this.flvPlayer.unload(); //取消数据流加载 this.flvPlayer.detachMediaElement(); //将播放实例从节点中取出 this.flvPlayer.destroy(); //销毁播放实例 }, handleClick() { console.log('我被点击了') } }, } 页面调试后报这些错误,不知道为啥: ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240914/940ccef35e4765afecee45e79cbb46c6.png) 然后websocket传输的数据如下显示:![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240914/55583cd279ff5ff98ec600a7137b2626.png) 希望能显示视频画面

阅读量:135

点赞量:0

问AI
报错提示很明确:不支持的媒体类型, 说明你的websocket流并不是flv格式的视频流; flv.js解析的是flv格式的视频流,确保你的视频流格式是flv,如果不是flv仍然想要用flv.js,可以通过"ffmpeg"等转码工具转码 视频测试demo地址: "http://bilibili.github.io/flv.js/demo" (https://link.segmentfault.com/?enc=6WkwnQ6EWwoS%2FWCJSVFzTQ%3D%3D.NeVzD2eM88Dhklv5Uh5InIfgBJeaPQxpBoXqWuBWs1MDpk7Zjsyzh7GbluJDH0w5)