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 相关文章推荐
同一页面多个商品倒计时JS 基于面向对象的javascript
Feb 16 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
JavaScript中的style.display属性操作
Mar 27 Javascript
JS实现网页标题随机显示名人名言的方法
Nov 03 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
Jan 10 Javascript
Vue.js实战之组件之间的数据传递
Apr 01 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
Mar 01 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 Javascript
JS eval代码快速解密实例解析
Apr 23 Javascript
OpenLayer学习之自定义测量控件
Sep 28 Javascript
javascript实现移动端轮播图
Dec 09 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
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP实现的日历功能示例
2018/09/01 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python解析中国天气网的天气数据
2014/03/21 Python
python单线程实现多个定时器示例
2014/03/30 Python
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python中装饰器的一个妙用
2015/02/08 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
python写日志文件操作类与应用示例
2019/07/01 Python
在python shell中运行python文件的实现
2019/12/21 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
2014中学教师节广播稿
2014/09/10 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
公司承诺函范文
2015/01/21 职场文书
2016春节慰问信范文
2015/03/25 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP