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防止表单重复提交实现代码
Sep 05 Javascript
js不能跳转到上一页面的问题解决方法
Mar 01 Javascript
js获取上传文件大小示例代码
Apr 10 Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
jQuery获取checkbox选中的值
Jan 28 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 Javascript
mpvue全局引入sass文件的方法步骤
Mar 06 Javascript
JavaScript Array对象基本方法详解
Sep 03 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
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
浅谈js函数三种定义方式 &amp; 四种调用方式 &amp; 调用顺序
2017/02/19 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python中List的sort方法指南
2014/09/01 Python
Python 基础知识之字符串处理
2017/01/06 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
python实现飞机大战游戏
2020/10/26 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
解决pycharm下pyuic工具使用的问题
2020/04/08 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
python怎么删除缓存文件
2020/07/19 Python
python3处理word文档实例分析
2020/12/01 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
HTML5的革新 结构之美
2011/06/20 HTML / CSS
如何查找网页漏洞
2016/06/22 面试题
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
python re模块和正则表达式
2021/03/24 Python
英语硕士生求职简历的自我评价
2013/10/15 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
副处级干部考察材料
2014/05/17 职场文书
年会主持人开场白台词
2015/05/29 职场文书
会议营销主持词
2015/07/03 职场文书
大学生支教感言
2015/08/01 职场文书
学习党章心得体会2016
2016/01/15 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
Nginx快速入门教程
2021/03/31 Servers