Vue如何接入hls/m3u8的直播视频详解
前言
最近做了一个后台系统,需要调取工厂监控视频流显示在前端的页面上,其中遇到了一些坑,在这里做个记录,希望对前端小伙伴有所帮助吧!废话不多说了,直接开搞
互联网网络流媒体简介
这块我也不是很懂,博大精深,不在这扯皮了,大家只需要知道常见的几种流媒体格式就行,至于发展与演变,里面的专业知识,我也不懂,主要的流媒体格式有RTSP,RTMP,HLS,WebRtc,这些足够解决日常开发了
播放HLS格式的视频
为什么要选择HLS格式的视频呢?因为浏览器没有办法支持播放RTSP,无法识别这种类型的视频流,RTMP格式的视频是需要借助Flash否则也是无法播放,但是Chrome 88彻底禁用Flash,于是跟同事商量选择了HLS,接下里就是踩坑的开始
安装
前端采用插件video.js
npm install --save video.js
现在下载的版本应该是7.0以上的,这个是有用的,因为这个版本以上的不需要因为安装videojs-contrib-hls
插件,它是用来解析HLS视频的,但是只要你的版本在7.0以上就无需安装,直接使用
"video.js": "^7.19.2",
实现
<template>
<div>
<video
id="my-video"
class="video-js vjs-default-skin"
controls
preload="auto"
width="500px">
<source :class="lazy" data-src="class="lazy" data-srcUrl" />
</video>
</div>
</template>
<script>
import videojs from "video.js";
export default {
props:{
"class="lazy" data-srcUrl":{
type:String,
default:'http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8'
}
},
mounted() {
this.getVideo();
},
methods:{
getVideo() {
videojs(
"my-video",
{
bigPlayButton: true,
textTrackDisplay: false,
posterImage: true,
errorDisplay: false,
controlBar: false
},
function() {
this.play();
}
);
},
}
}
</script>
main.js 引入样式
import 'video.js/dist/video-js.css'
这就是所有的代码,这里已经封装成组件了,直接用就行,传入地址即可,样式自己修改吧!
坑
这些都是开发中我从网上搜集的,第一做一脸茫然,百度上的东一句西一句,代码拿过来也是无法播放,于是直到我看到了这个
果真是这样,只需要将vlc的编码器信息改为h264,一切都是顺利成章了,当然这个需要联系给你视频地址的那个人进行配合,网上我看到的其他方式我测试都是不可以播放的,好了,就是这样,希望对遇到同样问题的小伙伴有所帮助吧!!!
总结
到此这篇关于Vue如何接入hls/m3u8直播视频的文章就介绍到这了,更多相关Vue接入hls/m3u8直播视频内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341