基于EasyNVR二次开发实现业务需求:直接集成EasyNVR播放页面到自身项目
EasyNVR着重点是立足于视频能力层,但是自身也是可以作为一个产品使用的。这就更加方便了应用层的使用。
由于业务需求的缘故,无法使用实体项目展示。
案例描述
该业务系统是国内某大型显示屏生产企业内部的一个视频监控系统,最终实现的效果就是将各个厂房、车间的摄像头与整个企业的平面的地图结合起来展示出来。达到点击地图上对应地点的摄像头就可以直接观看对应的视频信息。
看上去该项目难以实现,当你了解了EasyNVR之后就会发现,使用EasyNVR,开发出该项目只需要做好一些外围的设计。视频层EasyNVR全部搞定。
案例实现
由于EasyNVR立足点是视频能力层,因此对于需求中的将企业内部的平面地图的展示可能没有帮助,这需求开发者根据各自的业务需求来进行设计。
设计出符合自身项目的界面、做好对应的通道调用,其他就都交给EasyNVR。
由于EasyNVR自身就拥在pc的web端、微信中进行视频直播、分享播放的功能。因此也更加方便项目将播放页面集成进来。只需要在对应的位置访问对应的摄像机信息即可。
基于EasyNVR可以在移动端实现视频直播。也进一步的扩大了项目的实用场景。
如何将自身的项目和EasyNVR结合起来?
首先,EasyNVR自身是可以播放实时的rtmp、hls视频流的。基于这一点,我们将不同的场景下都部署好EasyNVR。或者将我们的摄像机都接入到我们部署好的某一台EasyNVR中。基于我们的EasyNVR可以分享播放视频的功能。我们可以提取出对应视频的网页播放地址。将播放地址与我们的项目地图相结合起来。以此达到我们点击平面地图对应位置就播放对应的点的监控视频信息。
此方案也就是将所有的摄像头视频信息都集中的、点对点的一一对应起来。项目中的地图就相当于一个管理系统界面。在这个管理界面中集成我们的EasyNVR自身的播放页面。这样不仅省去了流媒体开发的工作,也省去播放页面编排。
这时,我们的EasyNVR的配置信息页面摇身一变成为了摄像机配置管理的后台。可以自主的添加、修改、删除摄像机的信息。
项目实施时的问题:
1、在自身项目调取使用EasyNVR播放页面时,出现权限问题。
EasyNVR自身就提供了一套简单的能力输出认证与授权接口,只要通过用户名/密码调用EasyNVR提供的Login接口,获得整个session周期使用的一个token,即可用该token获取到EasyNVR平台所提供的所有服务。
2、调取公网部署的EasyNVR网页的时候出现跨域问题。
对于跨域出现的问题,EasyNVR服务端后续已经完善了该问题。我们只需要在前端开发时候,例如使用Ajax获取时,自身设置允许跨域即可。
具体解决方法可参考EasyNVR跨域的完整实现
关于EasyNVR
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
详细说明:http://www.easydarwin.org/easynvr/
获取更多信息
Copyright © EasyDarwin.org 2012-2017
基于EasyNVR二次开发实现业务需求:直接集成EasyNVR播放页面到自身项目的更多相关文章
- 基于EasyNVR+EasyDSS H5视频直播二次开发实现业务需求:直接使用播放页面
之前的"网页直播.微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的easynvr"有介绍一些功能.由于客户需求,我们定制一下功能.给该套方案添 ...
- 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理
许多接触到EasyNVR的用户.开发者都会提出关于EasyNVR设备分组和账户设备关系映射的问题,我们参考目前大部分的视频能力输出平台的做法,EasyNVR目前只做了唯一的用户/密码(类比appkey ...
- 基于EasyNVR二次开发实现自己的摄像机IPC/NVR无插件化直播解决方案
在之前的博客中<基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控>,我们已经比较多的描述EasyNVR所实现的功能,这些也在方案地址:http://www.eas ...
- C#进行Visio二次开发之文件导出及另存Web页面
在我前面很多关于Visio的开发过程中,介绍了各种Visio的C#开发应用场景,包括对Visio的文档.模具文档.形状.属性数据.各种事件等相关的基础处理,以及Visio本身的整体项目应用,虽然时间过 ...
- 基于AndroidPn二次开发的可行性
一.背景 如果要自己搭建,从零开始做或基于开源进行修改扩充,开源的push引擎,90%的博文首推AndroidPN,结合公司现状,最优解决方案就是进行AndroidPN的二次开发了.先看一下这个项目: ...
- DDD实战进阶第一波(二):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架一)
要实现软件设计.软件开发在一个统一的思想.统一的节奏下进行,就应该有一个轻量级的框架对开发过程与代码编写做一定的约束. 虽然DDD是一个软件开发的方法,而不是具体的技术或框架,但拥有一个轻量级的框架仍 ...
- 基于ZFAKA二次开发,添加PayJS支付渠道
项目地址:https://github.com/hiyouli/payjs-for-zfaka 关于ZFAKA,请移步:ZFAKA 免费.安全.稳定.高效的发卡系统,值得拥有! 演示地址:http:/ ...
- DDD实战进阶第一波(十二):开发一般业务的大健康行业直销系统(订单上下文POCO模型)
在本系列前面的文章中,我们主要讨论了产品上下文与经销商上下文相关的实现,大家对DDD的方法与架构已经有了初步的了解. 但是在这两个界限上下文中,业务逻辑很简单,也没有用到更多的值对象的内容.从这篇文章 ...
- Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务系统的集成
集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...
随机推荐
- ECNU 3480 没用的函数 (ST表预处理 + GCD性质)
题目链接 ECNU 2018 JAN Problem E 这题卡了双$log$的做法 令$gcd(a_{i}, a_{i+1}, a_{i+2}, ..., a_{j}) = calc(i, j)$ ...
- CentOS6.6升级openssl到1.0.2a
如果安装的CentOS不是完整版,需要安装下面几个安装包 安装wget: yum -y install wget 安装Perl: yum install perl* 安装gcc: yum instal ...
- SpringBoot 分包方式多数据源
1.引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri ...
- java反射和代理
这一篇我们说说反射和动态代理,为什么这两个要一起说呢?因为动态代理中会用到反射,而且java中反射的用处太多了,基本上无处不在,而且功能十分强大: 1.反射简介 反射是什么呢?一般都是很专业的说法:在 ...
- 转:IAdaptable & IAdapterFactory
IAdaptable & IAdapterFactory在Eclipse中使用IAdaptable接口的方式有两种 在Eclipse中使用IAdaptable接口的方式有两种1:某个类希望提供 ...
- weight initilzation
1. pytorch提供接口 method 1 torch.nn.init里面有很多初始化分布 import torch.nn.init as init self.conv1 = nn.Conv2d ...
- ios界面笔记(一)
基于一个简单视图的view解析
- 计算机视觉和模式识别领域SCI期刊介绍
原帖地址: http://blog.sciencenet.cn/blog-370458-750306.html 关于计算机视觉和模式识别领域的期刊并不是很多,下面我收集了一些该领域的代表性期刊,并介绍 ...
- 负样本采样及bias校准、ctr平滑
参考:https://zhuanlan.zhihu.com/p/31529643 在CTR预估中,负样本采样是一种常见的特征工程方法.一般CTR预估的原始正负样本比可能达到1:1000~1:10000 ...
- Cocos2d-x中Vector<T>容器以及实例介绍
Vector<T> 是Cocos2d-x 3.x推出的列表容器,因此它所能容纳的是Ref及子类所创建的对象指针,其中的T是模板,表示能够放入到容器中的类型,在Cocos2d-x 3.x中T ...