GB28181 协议WEB直播服务LiveGBS前端源码中WEB播放组件的使用
开源资源
LiveGBS国标GB28181流媒体服务前端源码
https://github.com/livegbs/GB28181-Server
免费播放器LivePlayer
https://www.npmjs.com/package/@liveqing/liveplayer
安装播放器
npm install @liveqing/liveplayer
webpck.config.js 中配置
......
// copy js lib and swf files to dist dir
new CopyWebpackPlugin([
{ from: 'node_modules/@liveqing/liveplayer/dist/component/crossdomain.xml'},
{ from: 'node_modules/@liveqing/liveplayer/dist/component/liveplayer.swf'},
{ from: 'node_modules/@liveqing/liveplayer/dist/component/liveplayer-lib.min.js', to: 'js/'}
]),
......
编辑Vue组件
......
import LivePlayer from '@liveqing/liveplayer'
......
components: {
LivePlayer
}
......
<LivePlayer :videoUrl="videoUrl" fluent autoplay live stretch></LivePlayer>
完整组件示例(CloudRecordVideoDlg.vue)
<template>
<div :class="['modal', { fade: fade }]" data-keyboard="true" data-backdrop="static" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title text-primary text-center"><span>{{videoTitle}}</span></h4>
</div>
<div class="modal-body" v-loading="bLoading" element-loading-text="加载中">
<LivePlayer v-if="bShow" :videoUrl="videoUrl" :snapUrl="snapUrl" :live="live" @message="$message" :loading.sync="bLoading"></LivePlayer>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
</template>
<script>
import 'jquery-ui/ui/widgets/draggable'
import LivePlayer from '@liveqing/liveplayer'
import { mapState } from "vuex"
export default {
data() {
return {
videoUrl: "",
videoTitle: "",
snapUrl: "",
bShow: false,
bLoading: false
}
},
props: {
live : {
type: Boolean,
default: false
},
fade: {
type: Boolean,
default: false
}
},
mounted() {
$(this.$el).find('.modal-content').draggable({
handle: '.modal-header',
cancel: ".modal-title span",
addClasses: false,
containment: 'document',
delay: 100,
opacity: 0.5
});
$(this.$el).on("hide.bs.modal", () => {
this.bShow = false;
}).on("show.bs.modal", () => {
this.bShow = true;
})
},
components: { LivePlayer },
computed: {
...mapState(['userInfo', 'serverInfo']),
},
methods: {
play(src,title,snap) {
this.videoUrl = src||"";
this.videoTitle = title||"";
this.snapUrl = snap||"";
$(this.$el).modal("show");
}
}
}
</script>
<style lang="less" scoped>
.modal-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
</style>
通过简单的几部操作,就可以在您的VUE前端中引入播放器,可以播放HLS、RTMP、HTTP-FLV等视频流。
GB28181 协议WEB直播服务LiveGBS前端源码中WEB播放组件的使用的更多相关文章
- Android系统篇之—-编写系统服务并且将其编译到系统源码中【转】
本文转载自:http://www.wjdiankong.cn/android%E7%B3%BB%E7%BB%9F%E7%AF%87%E4%B9%8B-%E7%BC%96%E5%86%99%E7%B3% ...
- 直播带货APP源码开发为什么选择云服务器
云服务器可以为直播带货APP源码提供弹性计算以及更高的运行效率,避免资源浪费,随着直播带货APP源码业务需求的变化,可以实时扩展或缩减计算资源.CVM支持按实际使用的资源计费,可以节约计算成本. 一. ...
- Netty 源码中对 Redis 协议的实现
原文地址: haifeiWu的博客 博客地址:www.hchstudio.cn 欢迎转载,转载请注明作者及出处,谢谢! 近期一直在做网络协议相关的工作,所以博客也就与之相关的比较多,今天楼主结合 Re ...
- 4- vue django restful framework 打造生鲜超市 -restful api 与前端源码介绍
4- vue django restful framework 打造生鲜超市 -restful api 与前端源码介绍 天涯明月笙 关注 2018.02.20 19:23* 字数 762 阅读 135 ...
- spring源码:web容器启动(li)
web项目中可以集成spring的ApplicationContext进行bean的管理,这样使用起来bean更加便捷,能够利用到很多spring的特性.我们比较常用的web容器有jetty,tomc ...
- java开源即时通讯软件服务端openfire源码构建
java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...
- spring源码:web容器启动
web项目中可以集成spring的ApplicationContext进行bean的管理,这样使用起来bean更加便捷,能够利用到很多spring的特性.我们比较常用的web容器有jetty,tomc ...
- 阿里云视频直播API签名机制源码
阿里云视频直播API签名机制源码 本文展示:通过代码实现下阿里视频直播签名处理规则 阿里云视频直播签名机制,官方文档链接:https://help.aliyun.com/document_detail ...
- Netty 心跳服务之 IdleStateHandler 源码分析
前言:Netty 提供的心跳介绍 Netty 作为一个网络框架,提供了诸多功能,比如我们之前说的编解码,Netty 准备很多现成的编解码器,同时,Netty 还为我们准备了网络中,非常重要的一个服务- ...
- 【一起学源码-微服务】Ribbon源码五:Ribbon源码解读汇总篇~
前言 想说的话 [一起学源码-微服务-Ribbon]专栏到这里就已经全部结束了,共更新四篇文章. Ribbon比较小巧,这里是直接 读的spring cloud 内嵌封装的版本,里面的各种config ...
随机推荐
- 优化数据处理效率,解读 EasyMR 大数据组件升级
EasyMR 作为袋鼠云基于云原生技术和 Hadoop.Hive.Spark.Flink.Hbase.Presto 等开源大数据组件构建的弹性计算引擎.此前,我们已就其展开了多方位.多角度的详尽介绍. ...
- pytorch入门 - 基于AlexNet神经网络实现猫狗大战
基于之前的博客 pytorch入门 - AlexNet神经网络,并借助Kaggle 的 Dogs vs Cats Redux 数据集,实现一个基于 AlexNet 的二分类模型识别猫与狗. 完整流程涵 ...
- Golang基础笔记四之map
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记四之map 这一篇笔记介绍 Golang 里 map 相关的内容,以下是本篇笔记目录: map 的概念及其声明与初始化 map 的增删 ...
- Java 常用线程池
快捷创建线程池方式 Java通过Executors提供四种线程池,分别为: 1.newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需求,可以灵活回收空闲线程,若无可回收 ...
- CF1989C Two Movies 题解
CF1989C Two Movies 贪心.如果某人对两部电影评分不一样,显然取评分高的那一个.如果是 \(1\) 和 \(0\) 或 \(1\) 和 \(-1\),那么显然取 \(1\).如果是 \ ...
- 前端开发系列077-Node篇之package
本文输出Node中和包有关的基本内容. 一.Node中的模块和包 模块 在Node中,以模块为单位来划分所有的功能. 从某种角度来说,Node应用都由大量模块组成,每个模块都是一个JavaScript ...
- 开发工具系列003-OSX系统基础命令
本文简单记录工作中常用的命令行(持续更新),因为我用的是`Mac OSX`系统,因此部分命令在`Windows系统`中将失效(或需调整),此外需注意Windows的文件系统路径斜杠和`UNIX`是反的 ...
- 使用IntelliJ IDEA 配置Maven项目
今天准备写个Java Web项目,决定用新安装的IntelliJ IDEA来试试,毕竟听别人说这个IDEA管理Maven项目比Eclipse方便,于是乎在网上找到了一篇超级有用的入门级配置教程,接下来 ...
- define##的作用
转载 博客园 C++/C 宏定义(define)中# ## 的含义
- 产品更新 | 数据集成ETLCloud V3.9 社区版发布,新增及优化组件近20项
亲爱的用户们,ETLCloud社区版的新年第一次版本更新来了!本次更新版本号为V3.9,我们为大家新增及优化通用组件17项,功能优化11项,让我们一起来看看吧! 新组件,拓展无限可能 本次更新新增了一 ...