我们通常在构架一套视频SaaS应用的过程中,将平台设计为3层:视频硬件层(视频源)、视频能力平台(vPaaS)、视频应用平台(vSaaS),视频硬件包括各种IPC、NVR、编码器等视频生成设备,vPaaS视频能力平台部分主要就是对这些不同的硬件进行整合,输出统一接口、统一标准的视频流,vSaaS视频应用层主要就是对视频的增值服务了,这个是跑业务的部分。我们的EasyNVR产品着重点是立足于视频能力层,同时因其简洁的页面的形式,也可以独立作为产品使用,这就更加方便了应用层的使用。
案例描述
该业务系统是国内某大型显示屏生产企业内部的一个视频监控系统,最终实现的效果就是将各个厂房、车间的摄像头与整个企业的平面地图结合起来展示。实现点击地图上对应地点的摄像头就可以直接观看对应的视频信息。 看上去该项目难以实现,当你了解EasyNVR之后就会发现,使用EasyNVR开发出该项目只需要做好一些外围的设计,视频层EasyNVR全部可以搞定。
案例实现
由于EasyNVR立足点是视频能力层,因此对于需求中的将企业内部的平面地图的展示可能没有帮助,这需求开发者根据各自的业务需求设计出符合自身项目的界面、做好对应的通道调用,其他就都交给EasyNVR。EasyNVR自身拥在pc的web端、微信中进行视频直播、分享播放的功能,更加方便项目将播放页面集成进来,只需要在对应的位置访问对应的摄像机信息即可。基于EasyNVR可以在移动端实现视频直播,进一步的扩大了项目的实用场景。
如何将自身的项目和EasyNVR结合起来呢?
1、EasyNVR自身是可以播放实时的rtmp、hls视频流的。基于这一点,我们在不同的场景下部署好EasyNVR,或者将摄像机都接入到部署好的某一台EasyNVR中。基于EasyNVR可以分享播放视频的功能,我们可以提取出对应视频的网页播放地址,将播放地址与我们的项目地图结合起来,以达到点击平面地图对应位置就播放对应的点的监控视频信息的需求。
此方案是将所有的摄像头视频信息都集中的、点对点的对应起来,项目中的地图相当于一个管理系统界面。在这个管理界面中集成EasyNVR自身的播放页面,不仅省去了流媒体开发的工作,也省去播放页面的编排。
2、此时,EasyNVR的配置信息页面摇身一变成为了摄像机配置管理的后台,企业可以自主的添加、修改、删除摄像机信息。
项目实施时的问题
1、在自身项目调取使用EasyNVR播放页面时,出现的权限问题 EasyNVR自身就提供了一套简单的能力输出认证与授权接口,只要通过用户名/密码调用EasyNVR提供的Login接口,获得整个session周期使用的一个token,即可用该token获取到EasyNVR平台所提供的所有服务。
2、调取公网部署的EasyNVR网页时出现跨域问题 对于跨域出现的问题,EasyNVR服务端后续已经完善了该问题。我们只需要在前端开发时候,例如使用Ajax获取时,自身设置允许跨域即可。具体解决方法可参考EasyNVR跨域的完整实现
EasyNVR部署架构
单点内网
单点公网
多点公网
RTMP推流