海康Ehome协议服务端搭建

概述

  • 一.海康EHome协议预览流程
      • 1.0 简介
      • 1.1.流程图
      • 1.2.ehome协议接入步骤
  • 二.设备注册报文
      • 2.2.Device to Platform 海康设备注册后会主动连接配置的ehome平台
      • 2.3. ehome平台在收到设备注册指令后
  • 三.预览请求报文
      • 3.1. Platfrom=>>Device, ehome平台发起预览
      • 3.2. Device=>>Platform, 设备返回给平台请求流
      • 3.3. Platfrom=>>Device,停止点播
      • 3.4. Device=>>Platfrom,设备给平台返回停止状态
  • 四.视频流
      • 4.1.通过海康ehome协议通过TCP点播海康的摄像头,摄像头推送的流并非标准的PS流
  • 五.搭建 Ehome 服务端
      • 5.1.开源项目
      • 5.2.下载编译完整的程序
        • 5.3. 修改CMS配置
      • 5.1修改SMS配置
      • 5.2运行
      • 5.3运行cms
      • 5.4运行SMS
      • 5.5 访问项目
      • 5.6 设备查询,预览
      • 5.7前端项目编译运行

一.海康EHome协议预览流程

1.0 简介

EHOME协议是设备和服务器通信的一种推模式协议,适用于支持EHOME协议的网络摄像机、网络球机、DVR、NVR、车载DVR、车载取证系统、单兵、报警主机等设备。
海康设备可以基于ehome协议来主动注册云端区别于onvif只能在局域网内使用的限制
本服务软件基于海康私有协议ehome v2.x版本,力争打造一个开源安防基础产品。

1.1.流程图

海康Ehome协议服务端搭建_第1张图片

1.2.ehome协议接入步骤

Ehome协议是海康的私有协议,相对于GB28181国标协议都是基于设备端主动向平台注册,更适用于无固定ip地址的设备,只需要配置一下设备注册地址即可云端使用。
海康Ehome协议服务端搭建_第2张图片

集成Ehome sdk完成视频预览功能,需要利用中心管理服务CMS组件和流媒体服务SMS组件。

结合上图完成Ehome协议设备接入预览播放的基本步骤为:

1>调用NET_ECMS_XMLConfig和命令GetDevAbility获取设备能力并判断是否支持预览
设备能力由pOutBuf返回。
· 如果支持,将返回节点,可继续下面步骤。
· 否则,请结束该任务。

2>调用NET_ESTREAM_StartListenPreview开启SMS监听服务并接收来自设备的连接请求。

3>调用NET_ESTREAM_SetExceptionCallBackSMS注册异常回调函数

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平台

发送报文如下

<?xml version="1.0" encoding="GB2312"?>
<PPVSPMessage>
	<!--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>

你可能感兴趣的:(视频流,Ehome,linux,java,网络,vue.js,restful)