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 相关文章推荐
写入cookie的JavaScript代码库 cookieLibrary.js
Oct 24 Javascript
封装的jquery翻页滚动(示例代码)
Nov 18 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
Dec 12 Javascript
谈谈我对JavaScript DOM事件的理解
Dec 18 Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 Javascript
JavaScript Array对象详解
Mar 01 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
Jan 07 Javascript
vue element-ui table表格滚动加载方法
Mar 02 Javascript
node.js自动上传ftp的脚本分享
Jun 16 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
Mar 07 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书写安全的脚本代码
2012/02/05 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
php验证码生成代码
2015/11/11 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Python从零开始创建区块链
2018/03/06 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
python实现倒计时小工具
2019/07/29 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
安全生产工作汇报
2014/10/28 职场文书
个人求职信格式范文
2015/03/20 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
2015年食堂工作总结报告
2015/04/23 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL