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 相关文章推荐
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
May 23 Javascript
JavaScript脚本判断蜘蛛来源的方法
Sep 22 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
Mar 11 Javascript
AngularJs基本特性解析(一)
Jul 21 Javascript
bootstrap模态框消失问题的解决方法
Dec 02 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
Jul 03 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
Aug 31 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
ES2020 已定稿,真实场景案例分析
May 25 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
Aug 13 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利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
浅谈php的优缺点
2015/07/14 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
深入探究HTML5的History API
2015/07/09 HTML / CSS
杠杆的科学教学反思
2014/01/10 职场文书
《忆江南》教学反思
2014/04/07 职场文书
安全生产责任书范本
2014/04/15 职场文书
企业承诺书格式范文
2015/04/28 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python