海康Ehome协议服务端搭建

海康Ehome协议服务端搭建
概述
⼀.海康EHome协议预览流程
1.0 简介
EHOME协议是设备和服务器通信的⼀种推模式协议,适⽤于⽀持EHOME协议的⽹络摄像机、⽹络球机、DVR、NVR、车载DVR、车载取证系统、单兵、报警主机等设备。
海康设备可以基于ehome协议来主动注册云端,区别于onvif只能在局域⽹内使⽤的限制。
本服务软件基于海康私有协议ehome v2.x版本,⼒争打造⼀个开源安防基础产品。
1.1.流程图
1.2.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。
⼆.设备注册报⽂
2.2.Device to Platform 海康设备注册后会主动连接配置的ehome平台
发送报⽂如下
<!--ehome协议版本-->
<Version>2.0</Version>
<!--信令交互序列号-->
<Sequence>21910</Sequence>
<!--标⽰发送的是请求-->
<CommandType>REQUEST</CommandType>
<!--设备注册命令-->
<Command>REGISTER</Command>
<Params>
<NetUnitType>PU</NetUnitType>
<!--设备序列号:唯⼀-->
<DeviceID>560796072</DeviceID>
<!--设备固件版本-->
<FirmwareVersion>V5.4.5 build 170302</FirmwareVersion> <!--设备本机IP-->
<LocalIP>192.168.1.100</LocalIP>
<!--设备本机端⼝-->
<LocalPort>9486</LocalPort>
<!--设备类型:参见专门⽂档-->
<DevType>31</DevType>
<!--设备⼚家-->
<Manufacture>0</Manufacture>
</Params>
</PPVSPMessage>
2.3. ehome平台在收到设备注册指令后
返回报⽂如下
<!--平台版本号,不⼀定跟设备⼀致-->
<Version>2.5</Version>
<!--信令交互序列号-->
<Sequence>21910</Sequence>
<!--标⽰发送的是回复-->
<CommandType>RESPONSE</CommandType>
<!--标⽰回复的是注册信令-->
<Method>REGISTER</Method>
胡太后<WhichCommand>REGISTER</WhichCommand>
<!--注册状态码-->
<Status>200</Status>
<!--状态码描述-->
<Description>OK</Description>
<Params>
<!--保活间隔,单位:秒-->
<KeepAliveSeconds>15</KeepAliveSeconds>
<!--平台报警服务信息-->
<AlarmServerIP>10.21.84.13</AlarmServerIP>
背光驱动
<AlarmServerPort>7332</AlarmServerPort>
<AlarmServerType>2</AlarmServerType>
<!--时间同步配置信息-->
<NTPServerIP>10.17.132.231</NTPServerIP>
<NTPServerPort>123</NTPServerPort>
<NTPInterval>3600</NTPInterval>
<!--图⽚服务信息-->
<PictureServer>10.21.84.48</PictureServer>
<PictureServerPort>10002</PictureServerPort>
<PictureServerType>2</PictureServerType>压铸铝
<!--基本⽆意义-->
宏大自动络筒机了<BlackListAddr></BlackListAddr>
<BlackListName></BlackListName>
<BlackListPort>0</BlackListPort>
<BlackListUser></BlackListUser>
<BlackListPassword></BlackListPassword>
<RegisterServerIP></RegisterServerIP>
<RegisterServerPort>0</RegisterServerPort>
</Params>
</PPVSPMessage>
三.预览请求报⽂
3.1. Platfrom=>>Device, ehome平台发起预览
请求报⽂
<Version>2.5</Version>
<Sequence>3566</Sequence>
<CommandType>REQUEST</CommandType>
<Method>MEDIA</Method>
<Command>INVITESTREAM</Command>
<Params>
<!--请求设备通道号-->
<Channel>1</Channel>
<!--请求设备码流类型:MAIN:主码流,SUB:⼦码流,THIRD:三码流--> <ChannelType>MAIN</ChannelType>
<SinkIP>192.168.1.133</SinkIP>
<SinkPort>8000</SinkPort>
</Params>
</PPVSPMessage>
3.2. Device=>>Platform,设备返回给平台请求流
返回报⽂
<?xml version="1.0" encoding="GB2312"?>
<PPVSPMessage>
<Version>2.0</Version>
<Sequence>3566</Sequence>
<CommandType>RESPONSE</CommandType>
<WhichCommand>INVITESTREAM</WhichCommand>
<!--当前请求流后状态码,200标⽰成功,其他见错误码-->
<Status>200</Status>
<Description>OK</Description>
<Params>
<!--当前请求流位置标⽰,类似ssrc-->
<Session>679647373</Session>
</Params>
</PPVSPMessage>
变异系数cv
3.3. Platfrom=>>Device,停⽌点播
请求报⽂
齐奥赛斯库<?xml version="1.0" encoding="GB2312"?>
<PPVSPMessage>
<Version>2.5</Version>
<Sequence>8068</Sequence>
<CommandType>REQUEST</CommandType>
<Method>MEDIA</Method>
<Command>BYESTREAM</Command>
<Params>
<!--与开始点播的Session⼀致-->
<Session>679647373</Session>
</Params>
3.4. Device=>>Platfrom,设备给平台返回停⽌状态
返回如下

本文发布于:2024-09-24 06:27:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/173167.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   注册   协议   请求
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议