海康ehome和萤石云网络摄像机接入视频融合平台smarteye
eHome协议是海康的私有协议,类似于GB28181 都是基于设备端主动向平台和服务注册,比较适用于无固定IP地址的设备。
由于eHome不对外开放,因为无法采用通用的前置协议转换软件网关的方式接入统一视频平台smarteye,因此,就需要通过调用海康开放的网络SDK来访问摄像头的数据,从而集成到smarteye的WEB客户端里面。这种通过SDK集成方式跟接入前置协议转换网关的区别在于,eHome/萤石云的摄像头的视频流是不经过smarteye server的,是BYPASS的,需要在smarteye WEB客户端里面手工添加这些要接入的摄像头的设备,对它们的访问依然保留了原来的P2P模式,即没有流经smarteye server,而只是在客户端做了集成和统一呈现。

eHome协议设备接入smarteye平台的基本步骤为:
1>调用NET_ECMS_XMLConfig和命令GetDevAbility获取设备能力并判断是否支持预览。
设备能力由pOutBuf返回。
· 如果支持,将返回节点,可继续下面步骤。
· 否则,请结束该任务。
2>调用NET_ESTREAM_StartListenPreview开启smarteye 监听服务并接收来自设备的连接请求。
3>调用NET_ESTREAM_SetExceptionCallBack为smarteye 注册异常回调函数。
4>异常信息会被回调至该注册的回调函数中,请及时处理异常避免阻塞。
5>调用NET_ECMS_StartGetRealStreamV11将预览开始请求从smarteye CMS发送给设备。
6>发送SMS的地址和端口号给设备,同时会自动为smarteye CMS分配一个会话ID。
7>调用NET_ESTREAM_SetPreviewDataCB为smarteye CMS注册回调函数用于接收来自设备的实时流。
8>调用NET_ECMS_StartPushRealStream将实时流传输请求从CMS发送给设备。
9>设备自动连接SMS并开始发送实时流给SMS。
