海康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);//释放指针 
        }

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
海康SDK是一种用于视频监控系统的软件开发工具包。它提供了一系列接口和函数,可以帮助开发者通过网络或本地连接获取海康摄像头的视频数据。 想要获取海康SDK中的视频,首先需要创建一个连接到海康设备的实例。这个实例可以通过设备的IP地址、端口号、用户名和密码进行身份验证和连接。一旦连接成功,就可以使用相关函数获取视频数据。 海康SDK提供了多个函数来获取视频,其中最常用的是通过RTSP流协议获取实时视频。通过设置要连接的设备的IP地址和通道号,可以获取特定通道上的视频流。可以使用不同的接口函数来设置获取的视频流的参数,如分辨率、帧率等。 另外,海康SDK还提供了一些其他的接口函数,用于获取设备的历史录像。可以通过指定时间段和通道号来获取特定时间段内的视频录像。获取到的视频数据可以保存为文件或直接进行实时播放。 需要注意的是,使用海康SDK获取视频需要具备一定的编程知识和经验。开发人员需要熟悉SDK提供的函数和接口,并结合具体的需求进行应用开发。同时,还需要了解设备的网络设置和权限认证等相关信息,确保可以正确连接到设备并获取视频数据。 总之,海康SDK提供了丰富的函数和接口来帮助开发者获取海康设备的视频数据。通过正确使用SDK,开发人员可以方便地实现从海康摄像头获取实时视频或历史录像的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值