海康Ehome协议 java开发
注:我创建了springboot项目,

1.先把必要的包导入

maven依赖自己来

2.从海康demo里把这这三个文件导入

3.初始化CMS注册,报警,存储

@Component
public class CodeCache {public static HCISUPCMS hcisupcms;public static HCISUPAlarm hcisupalarm;public static HCISUPSS hcisupss;@AutowiredHikSDKProperties hikSDKProperties;public static String alarmUrl;public static String cmsUrl;public static String ssUrl;@PostConstructpublic void init(){alarmUrl = hikSDKProperties.getAlarmPath();cmsUrl = hikSDKProperties.getCmsPath();ssUrl = hikSDKProperties.getSsPath();hcisupss = HCISUPSS.INSTANCE;hcisupalarm = HCISUPAlarm.INSTANCE;hcisupcms = HCISUPCMS.INSTANCE;}}

2.在项目启动后执行

@Component
public class ApplicationRunnerImpl implements ApplicationRunner {public HCISUPCMS hcisupcms = CodeCache.hcisupcms;public HCISUPAlarm hcisupalarm = CodeCache.hcisupalarm;public HCISUPSS hcisupss = CodeCache.hcisupss;@Autowiredprivate HikServerProperties serverProperties;@Overridepublic void run(ApplicationArguments args) throws Exception {System.out.println("通过实现ApplicationRunner接口,在spring boot项目启动后打印参数");//存储服务器ss();//报警服务器ealarm();cms();}/*** 存储监听*/private void ss() {boolean sinit = hcisupss.NET_ESS_Init();if(!sinit){System.out.println("NET_ESS_Init失败!");}HCISUPSS.NET_EHOME_SS_LISTEN_PARAM pSSListenParam = new HCISUPSS.NET_EHOME_SS_LISTEN_PARAM();pSSListenParam.fnSSMsgCb = new PSS_Message_Callback();pSSListenParam.fnSStorageCb = new MyEHomeSSStorageCallBack();//        String strIP = "192.168.1.186";String strIP = serverProperties.getIp();System.arraycopy(strIP.getBytes(), 0, pSSListenParam.struAddress.szIP, 0, strIP.length());pSSListenParam.struAddress.wPort = 7661;String strKMS_UserName = "test";System.arraycopy(strKMS_UserName.getBytes(), 0, pSSListenParam.szKMS_UserName, 0, strKMS_UserName.length());String strKMS_Password = "12345";System.arraycopy(strKMS_Password.getBytes(), 0, pSSListenParam.szKMS_Password, 0, strKMS_Password.length());String strAccessKey = "test";System.arraycopy(strAccessKey.getBytes(), 0, pSSListenParam.szAccessKey, 0, strAccessKey.length());String strSecretKey = "12345";System.arraycopy(strSecretKey.getBytes(), 0, pSSListenParam.szSecretKey, 0, strSecretKey.length());pSSListenParam.byHttps = 0;pSSListenParam.write();NativeLong listenSS = hcisupss.NET_ESS_StartListen(pSSListenParam);//存储监听if (listenSS.intValue() == -1) {log.error("NET_ESS_StartListen启动注册监听失败,错误号:",hcisupss.NET_ESS_GetLastError());return;}System.out.println("存储监听:"+listenSS.intValue());}private void ealarm() {hcisupalarm.NET_EALARM_Init();HCISUPAlarm.NET_EHOME_ALARM_LISTEN_PARAM pAlarmListenParam = new HCISUPAlarm.NET_EHOME_ALARM_LISTEN_PARAM();pAlarmListenParam.fnMsgCb = new MyEHomeMsgCallBack();
//        pAlarmListenParam.struAddress.szIP="192.168.1.186".getBytes();pAlarmListenParam.struAddress.szIP= serverProperties.getIp().getBytes();pAlarmListenParam.struAddress.wPort = 7662;pAlarmListenParam.pUserData = null;pAlarmListenParam.byProtocolType = 1;   //0- TCP方式(保留,暂不支持),1- UDP方式pAlarmListenParam.byUseCmsPort = 0;     //是否复用CMS端口:0- 不复用,非0- 复用//如果复用cms端口,协议类型字段无效,此时AMS的本地监听信息struAddress填本地回环地址,//本地回环地址通过NET_ECMS_GetSDKLocalCfg、NET_ECMS_SetSDKLocalCfg获取和设置)NativeLong nativeLong = hcisupalarm.NET_EALARM_StartListen(pAlarmListenParam);//报警监听if(nativeLong.intValue() < -1){hcisupalarm.NET_EALARM_Fini();System.out.println("报警监听失败"+hcisupcms.NET_ECMS_GetLastError());return;}System.out.println("报警监听"+nativeLong);}private void cms(){//CMS注册模块初始化hcisupcms.NET_ECMS_Init();System.out.println("版本号:"+hcisupcms.NET_ECMS_GetBuildVersion());HCISUPCMS.NET_EHOME_CMS_LISTEN_PARAM lpCMSListenPara = new HCISUPCMS.NET_EHOME_CMS_LISTEN_PARAM();lpCMSListenPara.fnCB = new RegisterCallBack();
//        lpCMSListenPara.struAddress.szIP="192.168.1.186".getBytes();lpCMSListenPara.struAddress.szIP= serverProperties.getIp().getBytes();lpCMSListenPara.struAddress.wPort = 7660;//启动监听,接收设备注册信息NativeLong nativeLong = hcisupcms.NET_ECMS_StartListen(lpCMSListenPara);if(nativeLong.intValue() < -1){log.info("注册监听失败,error code:{}",hcisupcms.NET_ECMS_GetLastError());hcisupcms.NET_ECMS_Fini();return;}int lLoginID = nativeLong.intValue();try {while(true){Thread.sleep(1000);if(lLoginID >= 0){break;}}Thread.sleep(3000);}catch (Exception e){}log.info("NET_ECMS_StartListen启动注册监听成功!{}",nativeLong.intValue());}}

3.创建回调

注册回调

报警回调

海康Ehome协议java开发相关推荐

  1. 视频联网云平台EasyCVR集成海康EHome协议:Ehome协议预览流程

    之前我们讲了EasyCVR视频平台集成了海康EHome协议系统配置,EasyCVR集成海康EHome私有协议内容繁杂琐碎,测试内容众多,所以我们特地开辟一个系列,如果大家有兴趣,可以翻阅以往的博客了解 ...

  2. 海康Ehome协议接入EasyCVR视频融合平台播放视频失败的排查与解决

    EasyCVR视频融合平台的视频能力非常灵活,尤其是在接入协议上,不仅能支持主流的标准协议,如国标GB/T28181.RTSP/Onvif.RTMP等,还可以支持厂家的私有协议,包括海康Ehome.海 ...

  3. 海康ehome协议分析(1):设备注册(1)

    设备注册 1.Device to Platform 2.Platform to Device 技术交流 1.Device to Platform 海康设备注册后会主动连接配置的ehome平台,发送报文 ...

  4. 海康ehome协议分析(1):设备注册(2)

    文章目录 获取设备配置 心跳保活 获取设备配置 Platform=>>Device: 平台端可以通过ehome协议主动请求当前设备配置信息: <?xml version=" ...

  5. 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——通过流媒体服务开启语音对讲

    TSINGSEE青犀视频团队研发的视频平台大多已经支持了语音对讲的功能,EasyCVR视频上云服务也能够在海康EHome协议下调用语音对讲(语音对讲操作流程),本文是语音对讲功能的一个拓展,将跟大家讲 ...

  6. 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——报警模块说明

    视频联网云平台EasyCVR是一个集视频联网共享.存储.流媒体转发.视频转码.视频上云.智能分析统一等多种功能为一体的流媒体视频服务融合性平台.EasyCVR可以集成海康EHome私有协议,本文讲一下 ...

  7. 视频监控系统上云解决方案EasyCVR集成海康EHome私有协议系列——文件查找操作流程

    视频监控系统采用云模式进行规划.建设和部署,实现了资源的共享.数据的融通.算力的提升:而开放的生态和业务的智能,让视频监控系统更好地为公安实战服务,让城市更安全.TSINGSEE青犀视频团队研发的Ea ...

  8. 【海康摄像头二次开发】移植海康摄像头Android SDK并实现多屏显示

    文章目录 前言 一.看海康的例程 二.重要的函数分析 HCNetSDK PlayerSDK 三.移植 1.引入库 3.写一个设备信息管理的类 4.设备登录的类 5.视频显示的控件 6.通用的工具类 7 ...

  9. java 前台播放视频_「纯js项目」海康视频项目,java后台+前台web显示的,望提供思路!...

    纯js项目: 海康视频项目,java后台+前台web显示的,望提供思路! 如果只是实现BS架构,可以向海康要web开发包,直接使用浏览器通过ocx访问海康设备浏览视频,如果需要的功能不全,再使用JNI ...

  10. 海康摄像头二次开发详解,包含海康摄像头登录、海康云台控制、视频下载等功能

    海康摄像头二次开发详解 准备 海康摄像头SDK开发下载路径: 开发过程中遇到的问题记录: 添加maven依赖 下面代码中会出现的实体类 CameraManage实体类: ControlDto实体类: ...

最新文章

  1. 清晰易懂的Focal Loss原理解释
  2. Python notes
  3. LNMP1.3 一键配置环境,简单方便
  4. 如何使用CREO来导入多个带坐标系参数的零件的装配图档
  5. trc20地址监听php,Tron/USDT-TRC20对接PHP开发包 - 人人都是架构师
  6. opencv4.4.0函数手册_【文档更新】发布100ask_imx6ull用户手册V2.0和全新烧写工具
  7. linux下chkConfig的用法,mysqld开机自启动
  8. 重学JavaScript系列之一_引用类型
  9. java cstring_CString and char *
  10. RHCS Oracle HA for OEL5.8 KVM实践配置
  11. redis linux 运行依赖,Linux下redis搭建与配置
  12. 快手视频以及评论获取
  13. 177. Python语言 的 Flask框架项目 之 发布房源 模块的开发
  14. 摩托罗拉e2 linux 软件,摩托罗拉ROKR E2 JAVA应用程序安装指南
  15. XL4001 典型应用电路
  16. 方舟非专用服务器稳定吗,方舟非专用服务器
  17. 广东省考计算机类的比例,广东公务员考试22.4万人参加 竞争比例为19:1
  18. Yapieasyapi文档管理平台安装与使用
  19. 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
  20. 听歌的时候再也不用各个音乐播放软件来回切换啦!

热门文章

  1. delphi源码分析
  2. 爬虫教程( 6 ) --- 爬虫 进阶、扩展
  3. 机器学习算法——神经网络6(SOM网络)
  4. EasyUI项目之书籍管理(CRUD)
  5. 关于起点中文网月票字体解密(附赠翻页获得月票)
  6. 微信jssdk开发 java_Java微信公众平台开发(十一)--微信JSSDK中Config配置
  7. AI对话机器人实现原理
  8. Linux下ELF二进制文件加壳,pe/elf 文件加壳时的处理
  9. 三菱PLC编程指令简介
  10. 三菱plc编程有c语言吗,三菱plc编程用什么语言