/FreeEhome

海康ehome开源服务

Primary LanguageGoMIT LicenseMIT

海康ehome开源服务

简介

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

功能

  • 实时预览
  • 远程回放
  • 报警监听
  • 设备控制:云台控制

架构

  • 系统基于beego框架开发,提供RESTful接口
  • CMS信令由海康ehome协议而来,基于UDP+XML进行通信
  • SMS直接使用ZLMediaKit

编译步骤

  • go get: 在项目中使用go get下载安装依赖包
  • go build:
    • 在main.go函数所在路径上使用go build编译。
    • Windows:执行FreeEhome.exe即可运行程序;
    • Linux:执行./FreeEhome即可运行程序。

生成接口文档

apidoc -i controllers -o doc/apidoc/

打包部署,使用bee工具轻松跨平台打包部署:

  • Windows:bee pack -be GOOS=windows;
  • Linux:bee pack -be GOOS=linux;
  • Windows如何安装成服务?
    • 解压打包的文件;
    • 双击install.bat安装成服务;
    • 双击uninstall.bat卸载服务。

使用说明

修改CMS配置

  • 进入FreeEhomeCMS=>conf文件夹
  • 根据app.conf文件中注释,按实际情况修改,如下:
#ehomeCMS服务地址
udpAddr = "192.168.1.72:7660"
#流媒体SMS地址
streamStartIP = "192.168.1.72"
streamStartPort = 10000
#直播等待超时时间,默认3秒
waitStreamSessionTime = 3
#直播关闭超时时间,默认3秒
waitHookSessionTime = 3

#流媒体分发服务配置,注意必须使用英文状态下;进行分割
streamIP = "192.168.1.72;192.168.1.72"
#hls端口
hlsPort = "10080;10080"
#rtmp端口
rtmpPort = "1935;1935"
#rtsp端口
rtspPort = "10554;10554"

PS.以上涉及的IP及端口按照实际配置配合SMS进行相应修改

修改SMS配置

  • 进入FreeEhomeSMS文件夹
  • 找到config.ini文件,可选择性修改,其中流媒体分发端口需与CMS中配置一致。
  • 其中【hook】部分,如果CMS和SMS在同一台机器上,可不用修复,否则这里修改为CMS的实际地址。
  • 【rtp_proxy】部分配置即为海康ehome协议收流地址,需与CMS保持一致
    参考:
[rtp_proxy]
checkSource=1
dumpDir=
port=10000
timeoutSec=15
[hook]
admin_params=secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc
enable=1
on_flow_report=
on_http_access=
on_play=
on_publish=http://127.0.0.1:8080/index/hook/on_publish
on_record_mp4=
on_rtsp_auth=
on_rtsp_realm=
on_server_started=
on_shell_login=
on_stream_changed=
on_stream_none_reader=http://127.0.0.1:8080/index/hook/on_stream_none_reader
on_stream_not_found=http://127.0.0.1:8080/index/hook/on_stream_not_found
timeoutSec=20

Web端

  • 请修改web_src\src\api\request.js中的baseURL为当前服务实际地址

运行

目前release版本只支持Windows平台,Linux版本自行编译

  • 以终端方式运行:双击FreeEhome.exe MediaServer.exe即可
  • 以服务方式运行:双击执行install.bat即可安装为系统服务;uninstall.bat为卸载系统服务;MediaServer暂不支持Windows系统服务。

RESTful接口

参见doc/apidoc

技术交流

QQ群: 1033175645