vue + video.js/videojs-contrib-hls 实现hls拉流播放
2024-10-21 11:33:53
当时接手拉流播放时使用的是西瓜播放器插件,神奇的是 安卓手机显示正常,但是苹果一直显示加载,pc端使用https格式不能播放,但是去掉s改为http即可进行播放 后面查看大佬文章后总算解决了这一需求 原文地址
步骤1.下载videojs-contrib-hls依赖(没有下载video.js的也下载一下这个)
npm i videojs-contrib-hls --save
npm i video.js --save
步骤2. main中引入video-js.css
import 'video.js/dist/video-js.css'; // video.js样式
步骤3.vue页面代码
<template>
<div class="viedo" v-show="status == 4">
<video
id="my-video"
class="video-js vjs-default-skin vjs-big-play-centered"
controls
preload="auto"
width="375"
height="200"
:poster="coverpic"
>
<source
v-show="hlsDownAddress"
:src="hlsDownAddress"
type="application/x-mpegURL"
/>
</video>
</div>
</template>
步骤4.在使用的页面中引入videojs-contrib-hls和video.js
import videojs from 'video.js';
import 'videojs-contrib-hls';
步骤5.在data中先定义一下
data(){
return{
player: null,
}
}
步骤6.methos中写配置
methods:{
getVideo() {
this.player = videojs(
'my-video',
{
bigPlayButton: true, // 显示播放按钮
textTrackDisplay: false,
posterImage: true,
errorDisplay: false,
controlBar: true, // 显示控件
},
function() {
if (this.hlsDownAddress) {
this.play();
}
}
);
}
}
步骤7.在挂载方法使用
mounted(){
// 延迟一秒来唤起播放器
this.timers = setTimeout(() => {
that.$nextTick(() => {
that.getVideo();
});
}, 1000);
}
步骤8.页面关闭的时候销毁
beforeDestroy() {
this.player.dispose(); // 关闭控件
},
好了 以上就是我项目中使用并完成需求的操作 如有不妥 请斧正
最新文章
- jQuery-1.9.1源码分析系列(十五) 动画处理——缓动动画核心Tween
- org.eclipse.swt.custom.StyledText.getScrollbarsMode()I
- 解决oracle 中文入库是乱码的问题
- 12款支持移动设备的响应式 WordPress 主题
- 哈希 poj 2002
- 【mysql】统计库、表大小
- netty-socketio
- Linux软件安装管理概述
- suse下设置IP的两种方法
- linux 终端快捷键
- 怎样创建TWaver 3D的轮廓选中效果
- Cocos2d-x 3.x 头像选择,本地相册图片+图片编辑(Android、IOS双平台)
- 从理解开始 谈谈px rem 和 em 的区别与联系
- 使用Swiper轮播插件引起的探索
- Koa与Node.js开发实战(2)——使用Koa中间件获取响应时间(视频演示)
- 3D数学基础(三)矩阵
- Promise的一点感悟~
- 关于CactiEZ自定义气象图的配置
- PHP开发——环境安装
- 业界微服务楷模Netflix是这样构建微服务技术架构的