/// _海康sdk协议">
赞
踩
最近要用到使用海康威视摄像头的SDK接口进行国标协议接入配置信息的获取和设置,特此记录。
设备网络SDK使用手册。
具体的SDK手册海康威视官网可以免费下载。
/// <summary> /// 获取国标参数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GetCfg_Click(object sender, EventArgs e) { //GBT28181协议接入配置结构体 CHCNetSDK.NET_DVR_GBT28181_ACCESS_CFG cfg; uint dwReturn = 0; //获取结构体大小 uint nSize = (uint)Marshal.SizeOf(cfg); //设置指针空间大小 IntPtr ptrGbCfg = Marshal.AllocHGlobal((int)nSize); //调用接口 bool result = CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_GBT28181_ACCESS_CFG, channel, ptrGbCfg, nSize, ref dwReturn); if (result) { //指针转换为结构体 cfg= (CHCNetSDK.NET_DVR_GBT28181_ACCESS_CFG)Marshal.PtrToStructure(ptrGbCfg, typeof(CHCNetSDK.NET_DVR_GBT28181_ACCESS_CFG)); string logMsg = string.Format("设备{0}获取国标配置成功!具体配置===" + " 28181协议使能:{1},传输协议:{2},设备SIP端口:{3},服务器ID:{4},服务器域:{5},SIP服务器地址:{6}," + "服务器SIP端口:{7},协议版本:{8},SIP用户名称:{9},SIP用户认证ID:{10},密码:{11},注册有效期:{12},心跳间隔:{13},最大心跳超时次数:{14}," + "取流类型:{15},设备是否在线状态:{16},注册间隔:{17},是否自动分配通道ID:{18}", this.textBoxIP.Text, GBCFG.byEnable, GBCFG.byTransProtocol, GBCFG.wLocalSipPort, GBCFG.szServerID, GBCFG.szServerDomain, GBCFG.szSipServerAddress, GBCFG.wServerSipPort, GBCFG.byProtocolVersion, GBCFG.szSipUserName, GBCFG.szSipAuthenticateID, GBCFG.szSipAuthenticatePasswd, GBCFG.dwRegisterValid, GBCFG.byHeartbeatInterval, GBCFG.byMaxHeartbeatTimeOut, GBCFG.byStreamType, GBCFG.byDeviceStatus, GBCFG.dwRegisterInterval, GBCFG.dwAutoAllocChannelID); //输出日志 //LogHelper.WriteLog(logMsg); } else { uint iLastErr = CHCNetSDK.NET_DVR_GetLastError(); MessageBox.Show("获取参数失败!错误码为:" + iLastErr); } Marshal.FreeHGlobal(ptrGbCfg);//释放指针 }
注意事项:
获取国标参数之前,需要登录成功,这样m_lUserID才能获取到有效值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。