视频联网云平台EasyCVR集成海康EHome协议系列——Ehome协议调用流程介绍
上一篇我们讲了EasyCVR视频平台集成了海康EHome协议系统配置,EasyCVR集成海康EHome私有协议内容繁杂琐碎,测试内容众多,所以我们特地开辟一个系列,如果大家有兴趣,可以翻阅以往的博客了解一下。本篇博文我们讲一下EasyCVR集成海康EHome协议预览流程。
EasyCVR集成海康EHome协议预览流程
Ehome协议是海康的私有协议,类似于gb28181 都是基于设备端主动向平台和服务注册,比较适用于无固定ip地址的设备。
集成Ehome sdk完成视频预览功能,需要利用中心管理服务CMS组件和流媒体服务SMS组件。
结合上图完成Ehome协议设备接入预览播放的基本步骤为:
1>调用NET_ECMS_XMLConfig和命令GetDevAbility获取设备能力并判断是否支持预览。
设备能力由pOutBuf返回。
· 如果支持,将返回节点,可继续下面步骤。
· 否则,请结束该任务。
2>调用NET_ESTREAM_StartListenPreview开启SMS监听服务并接收来自设备的连接请求。
3>调用NET_ESTREAM_SetExceptionCallBack为SMS注册异常回调函数。
4>异常信息会被回调至该注册的回调函数中,请及时处理异常避免阻塞。
5>调用NET_ECMS_StartGetRealStreamV11将预览开始请求从CMS发送给设备。
6>发送SMS的地址和端口号给设备,同时会自动为CMS分配一个会话ID。
7>调用NET_ESTREAM_SetPreviewDataCB为SMS注册回调函数用于接收来自设备的实时流。
8>调用NET_ECMS_StartPushRealStream将实时流传输请求从CMS发送给设备。
9>设备自动连接SMS并开始发送实时流给SMS。