/// _海康sdk协议">
当前位置:   article > 正文

海康SDK(一) 获取国标协议接入配置信息_海康sdk协议

海康sdk协议

最近要用到使用海康威视摄像头的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);//释放指针 
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

注意事项:
获取国标参数之前,需要登录成功,这样m_lUserID才能获取到有效值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/383229
推荐阅读
相关标签
  

闽ICP备14008679号