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 相关文章推荐
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 03 Javascript
js模仿jquery的写法示例代码
Jun 16 Javascript
js中通过父级进行查找定位元素
Jun 15 Javascript
理解jQuery stop()方法
Nov 21 Javascript
js实现图片切换(动画版)
Dec 25 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
详解vue-cli与webpack结合如何处理静态资源
Sep 19 Javascript
深入浅析vue组件间事件传递
Dec 29 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
node.js实现带进度条的多文件上传
Mar 27 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
Smarty Foreach 使用说明
2010/03/23 PHP
php array的学习笔记
2012/05/16 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
Vue.js实战之组件的进阶
2017/04/04 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
Python中turtle库的使用实例
2019/09/09 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
大学生专业个人学习的自我评价
2013/10/26 职场文书
大学生自荐书范文
2013/12/10 职场文书
银行工作检查书范文
2014/01/31 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书