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跨域的完整实现