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 常见开发使用技巧总结
Dec 26 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
Sep 05 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
微信小程序使用Promise简化回调
Feb 06 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
Jul 02 Javascript
js实现黑白div块画空心的图形
Dec 13 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 Javascript
JavaScript中MutationObServer监听DOM元素详情
Nov 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
php Rename 更改文件、文件夹名称
2011/05/24 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
Highcharts入门之简介
2016/08/02 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
Python 代码性能优化技巧分享
2012/08/07 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
python 显示数组全部元素的方法
2018/04/19 Python
python 生成图形验证码的方法示例
2018/11/11 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
Araks官网:纽约内衣品牌
2020/10/15 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
求职自荐信怎么写
2015/03/04 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书