vue通过video.js解决m3u8视频播放格式的方法


Posted in Javascript onJuly 30, 2019

前言

今天被这个关于m3u8视频播放不了搞了一下午,这个项目所有的视频流都是m3u8格式的,后台给我们返回的都是m3u8格式的视频流,解决了好长时间,看了好多博客,只有这个博客给我点启发,去解决这个问题,请查看。会使用两种方法来解决这个问题

第一种方法

1.在vue中安装下面这些插件

cnpm install video.js --save
ccnp install videojs-contrib-hls --save

网上有说video.js版本太高不能使用,不能使用7以上的版本,用5版本的,最后结果测试,根本不需要什么低版本的高版本的,7版本以上的没有任何问题。小编已经亲自试验过

2.页面中使用

<video
id="myVideo"
class="video-js vjs-default-skin vjs-big-play-centered"
controls
preload="auto"
style='width: 100%;height: auto'
:poster="poster"
>
</video>

2.1 poster设置封面图,我在计算属性判断了一下,,如果后台上传封面图,就显示,如果没有上传就显示默认的图片,这个是根据自己的需求来解决

computed: {
  poster: function() {
   return this.posterSrc
    ? this.posterSrc
    : require("./../assets/images/coveImg.png");
  }
 },

2.2在methods中定义一个方法,getViewList用于请求数据,拿到视频流

2.3下载之后在页面中引入,如果引入video.js有问题,就在html文件引入

<script src="//vjs.zencdn.net/7.3.0/video.min.js"></script>

这样就可以了

vue通过video.js解决m3u8视频播放格式的方法

2.3video.js配置项

getVideo() {
   this.myVideo = videojs("myVideo", {
    bigPlayButton: true,
    textTrackDisplay: false,
    posterImage: false,
    errorDisplay: false,
    hls: {
     withCredentials: true
    }
   });
  }

最重要的一点,标红的,一定一定要使用,下载了安装包,一定要在这个使用,才能失效。不然播放不了m3u8视频格式

mounted() {
this.$nextTick(() => {
this.getVideo();
});
this.getViewList();
},

定义的两个方法,放在mounted

第二种方法

上面是实现播放m3u8,接下来说第二种实现方法

<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>

地址请看 https://www.npmjs.com/package/hls.js/v/canary

引入上面那个文件

vue通过video.js解决m3u8视频播放格式的方法

只需要写这么多,然后再mounted生命周期调用,但是这个没有video.js样式好看,都可以解决播放不了m3u8视频的格式问题。

以上都是来解决m3u8视频播放不了的问题,

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Javascript 读书笔记索引贴
Jan 11 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
JAVASCRIPT函数作用域和提前声明 分享
Aug 22 Javascript
javascript实现存储hmtl字符串示例
Apr 25 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
js读取cookie方法总结
Oct 31 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
利用Vue.js指令实现全选功能
Sep 08 Javascript
js图片切换具体实现代码
Oct 13 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
Vue+Flask实现简单的登录验证跳转的示例代码
Jan 13 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
Dec 10 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 #Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 #Javascript
vue前后分离调起微信支付
Jul 29 #Javascript
详解vue-property-decorator使用手册
Jul 29 #Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 #Javascript
微信小程序 WXML节点信息查询详解
Jul 29 #Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 #Javascript
You might like
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
一个php作的文本留言本的例子(六)
2006/10/09 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
浅谈PHP安全防护之Web攻击
2017/01/03 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
JavaScript获取Url里的参数
2014/12/18 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
layui实现数据表格点击搜索功能
2020/03/26 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
Python用模块pytz来转换时区
2016/08/19 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
python三引号如何输入
2020/07/06 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
计算机专业应届毕业生自荐信
2013/09/26 职场文书
教育系毕业生中文求职信范文
2013/10/06 职场文书
社区戒毒工作方案
2014/06/04 职场文书
ktv好的活动方案
2014/08/15 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
党支部意见范文
2015/06/02 职场文书
辩论赛新闻稿
2015/07/17 职场文书
课题研究阶段性总结
2015/08/13 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
详解Vue的options
2021/05/15 Vue.js
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL