QT+海康威视SDK开发

该文详细描述了使用HikvisionSDK进行设备初始化、登录、设置连接时间和重连时间、视频预览以及停止和登出的步骤。NET_DVR_Login_V30用于登录设备,NET_DVR_PREVIEWINFO结构体定义了预览参数,包括通道号、码流类型和连接方式等关键信息。此外,文章还提及了不同连接方式和码流类型的适用场景以及相关参数的设备支持情况。
摘要由CSDN通过智能技术生成

解码处理流程:

  1. 调用NET_DVR_Init初始化sdk,一个项目中只需要初始化一次。
  2. 调用NET_DVR_SetConnectTime、NET_DVR_SetReconnect设置连接时间与重连时间。
  3. 填充NET_DVR_PREVIEWINFO结构体数据用来登录。
  4. 调用NET_DVR_Login_V30登录设备。
  5. 调用NET_DVR_RealPlay_V40播放视频。
  6. 调用NET_DVR_StopRealPlay停止播放。
  7. 调用NET_DVR_Logout登出设备。

返回最后操作的错误码:NET_DVR_GetLastError(https://open.hikvision.com/hardware/definitions/NET_DVR_GetLastError.html)

NET_DVR_Login_V30

登录设备

LONG NET_DVR_Login_V30(
  char                       *sDVRIP,
  WORD                       wDVRPort,
  char                       *sUserName,
  char                       *sPassword,
  LPNET_DVR_DEVICEINFO_V30   lpDeviceInfo
);

Parameters:

  • sDVRIP

    [in] 设备IP地址或是静态域名,字符数不大于128个

  • wServerPort

    [in] 设备端口号

  • sUserName

    [in] 登录的用户名

  • sPassword

    [in] 用户密码

  • lpDeviceInfo

    [out] 设备信息

Return Values:

-1表示失败,其他值表示返回的用户ID值。该用户ID具有唯一性,后续对设备的操作都需要通过此ID实现。

NET_DVR_PREVIEWINFO

预览参数结构体。

struct{
  LONG     lChannel;
  DWORD    dwStreamType;
  DWORD    dwLinkMode;
  HWND     hPlayWnd;
  BOOL     bBlocked;
  BOOL     bPassbackRecord;
  BYTE     byPreviewMode;
  BYTE     byStreamID[STREAM_ID_LEN];
  BYTE     byProtoType;
  BYTE     byRes1;
  BYTE     byVideoCodingType;
  DWORD    dwDisplayBufNum;
  BYTE     byRes[216];
}NET_DVR_PREVIEWINFO, *LPNET_DVR_PREVIEWINFO;

Members

lChannel
通道号,目前设备模拟通道号从1开始,数字通道的起始通道号通过NET_DVR_GetDVRConfig(配置命令NET_DVR_GET_IPPARACFG_V40)获取(dwStartDChan)。
dwStreamType
码流类型:0-主码流,1-子码流,2-三码流,3-虚拟码流,以此类推
dwLinkMode
连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4- RTP/RTSP,5- RTP/HTTP,6- HRUDP(可靠传输)
hPlayWnd
播放窗口的句柄,为NULL表示不解码显示。
bBlocked
0- 非阻塞取流,1- 阻塞取流
若设为不阻塞,表示发起与设备的连接就认为连接成功,如果发生码流接收失败、播放失败等情况以预览异常的方式通知上层。在循环播放的时候可以减短停顿的时间,与NET_DVR_RealPlay处理一致。
若设为阻塞,表示直到播放操作完成才返回成功与否,网络异常时SDK内部connect失败将会有5s的超时才能够返回,不适合于轮询取流操作。
bPassbackRecord
是否启用录像回传:0-不启用录像回传,1-启用录像回传。ANR断网补录功能,客户端和设备之间网络异常恢复之后自动将前端数据同步过来,需要设备支持。
byPreviewMode
延迟预览模式:0- 正常预览,1- 延迟预览
byStreamID
流ID,为字母、数字和"_"的组合,lChannel为0xffffffff时启用此参数
byProtoType
应用层取流协议:0- 私有协议,1- RTSP协议。主子码流支持的取流协议通过登录返回结构参数NET_DVR_DEVICEINFO_V30的byMainProto、bySubProto值得知。设备同时支持私协议和RTSP协议时,该参数才有效,默认使用私有协议,可选RTSP协议。
byRes1
保留,置为0
byVideoCodingType
码流数据编解码类型:0- 通用编码数据,1- 热成像探测器产生的原始数据(温度数据的加密信息,通过去加密运算,将原始数据算出真实的温度值)
dwDisplayBufNum
播放库播放缓冲区最大缓冲帧数,取值范围:1、6(默认,自适应播放模式)、15,置0时默认为1
byRes
保留,置为0

Remarks

  • dwStreamType(码流类型)、dwLinkMode(连接方式)、bPassbackRecord(录像回传)、byPreviewMode(延迟预览模式)、byStreamID(流ID)这些参数的取值需要设备支持。
  • NET_DVR_RealPlay_V40支持多播方式预览(dwLinkMode设为2),不需要传多播组地址,底层自动从设备获取已配置的多播组地址(**NET_DVR_NETCFG_V50**中的参数struMulticastIpAddr)并以该多播组地址实现多播。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设备网络SDK是基于设备私有网络通信协议开发的,为嵌入式网络硬盘录像机、NVR、网络摄像机、网络球机、视频服务器、解码器、报警主机、网络存储等产品服务的配套模块,用于远程访问和控制设备软件的二次开发。 设备网络SDK主要功能 图像预览, 文件回放和下载, 云台控制, 布防/撤防, 语音对讲, 日志管理, 解码卡, 远程升级, 远程重启/关闭, 格式化硬盘, 参数配置(系统配置, 通道配置, 串口配置, 报警配置, 用户配置), 多路解码器, 智能设备功能和获取设备能力集等。 适用于但不仅限于以下产品型号: 1. 编解码设备 DVR:DS-9100、DS-8100、DS-8000-S、DS-8800、DS-7800、DS-7300、DS-7200、DS-7100、DS-7000等系列,包括-ST、-SH、-SE、-SN、-RT、-RH、-XT等; NVR:DS-96000、DS-9600、DS-9500、DS-8600、DS-7900、DS-7800、DS-7700、DS-7600、DS-7100等系列,包括-I、-F、-K、-E、-H、-ST、-XT、-SN、-SE、-SNH、-SHT、-S、-SH、-RT等; XVR:DS-9000HQH-SH、DS-8100HQH(/HGH)-SH、DS-8000HQH-SH、DS-7300HQH(/HGH)-SH、DS-7200HQH(/HGH)-SH、DS-8800HQH(/HGH)(/HUH)-SH(/Fx)、DS-7900HQH(/HGH)(/HUH)-SH(/Fx)、DS-7800HQH(/HGH)(/HUH)-SH(/Ex/Fx)、DS-7100HGH-E1(/F1)等; HDVR(混合型DVR):DS-9000、DS-8000-ST、DS-7600H-ST/-S系列等; 编码器:DS-6700、DS-6600、DS-6500(-JX)、DS-6100、DS-6401HFH系列视频服务器、DS-6000系列编/解码器等; 解码器:DS-6300D(-JX)、DS-6400HD(-JX/-T)、DS-6500D(-T)等 2. 网络摄像机, 网络球机 网络摄像机:标清、高清、红外、热成像、鱼眼等,如DS-2CD7xx、DS-2CD71xx、DS-2CD72xx、DS-2CD8xx、DS-2CD81xx、DS-2CD82xx、DS-2CD84xx、DS-2CD83xx、DS-2CD11xx、DS-2CD12xx、DS-2CD13xx、DS-2CD20xx、DS-2CD21xx、DS-2CD22xx、DS-2CD23xx、DS-2CD24xx、DS-2CD25xx、DS-2CD26xx、DS-2CD27xx、DS-2CD28xx、DS-2CD29xx、DS-2CD2Axx、DS-2CD2Cxx、DS-2CD2Dxx、DS-2CD2Txx、DS-2CD2Qxx、DS-2CD30xx、DS-2CD31xx、DS-2CD32xx、DS-2CD33xx、DS-2CD34xx、DS-2CD39xx、DS-2CD3Txx、DS-2CD3Qxx、DS-2CD40xx、DS-2CD41xx、DS-2CD42xx、DS-2CD4Axx、DS-2CD62xx、DS-2CD63xx、DS-2CD64xx、DS-2CD65xx等 网络球机:标清、高清、红外等,如DS-2DF86xx、DS-2DF85xx、DS-2DF82xx、DS-2DF72xx、DS-2DF71xx、DS-2DE71xx、DS-2DE73xx、DS-2DE72xx、DS-2DM72xx、DS-2DM71xx、DS-2DF1-7xx、DS-2DF66xx、DS-2DF62xx、DS-2DF1-6xx、DS-2DE51xx、DS-2DE52xx、DS-2DE53xx、DS-2DM52xx、DS-2DF52xx、DS-2DC52xx、DS-2DC51xx、DS-2DF1-5xx、DS-2DE45xx、DS-2DE42xx、DS-2DE41xx、DS-2DF1-4xx、DS-2DM1-7xx、DS-2DM1-6xx、DS-2DM1-5xx等 一体化网络摄像机:DS-2ZCN3007、DS-2ZCN3006、DS-2DZ216MF、DS-2DZ2116、DS-2ZCN2006、DS-2ZCN2007、DS-2ZMN2007、DS-2ZMN2006等 智能交通摄像机(抓拍机):(i)DS-2CD93xx、(i)DS-2CD92xx、(i)DS-2CD91xx、DS-2CD9xx、DS-TCG225、DS-TCG113等系列
Qt是一款跨平台的应用程序开发框架,它提供了丰富的功能和工具,用于开发图形化用户界面和应用程序功能。Qt具有良好的可移植性,可以在多个操作系统上运行,并且具有完善的文档和社区支持。 海康SDK是指海康威视公司提供的软件开发工具包。海康SDK包含了海康威视公司的摄像头、监控设备等产品的相关API,可以帮助开发者快速集成和使用这些产品。海康SDK提供了丰富的功能和接口,包括视频流播放、图像处理、事件处理等,可以满足不同应用场景的需求。 Halcon是一款功能强大的机器视觉库,由德国MVTec公司开发。Halcon提供了丰富的图像处理和分析功能,包括图像采集、图像预处理、图像匹配等。Halcon支持多种编程语言和操作系统,并且具有优秀的性能和可靠性。Halcon在机器视觉领域被广泛应用于工业自动化、质量检测、医疗影像等领域。 Qt海康SDK和Halcon可以结合起来使用,实现更加强大的功能和应用。Qt提供了友好的界面和交互方式,可以方便地集成和调用海康SDK和Halcon的功能。例如,可以使用Qt开发监控系统的图形界面,通过调用海康SDK获取监控视频流,并使用Halcon对图像进行处理和分析。这样的组合可以为用户提供更加灵活和便捷的使用体验,满足各种应用需求。 综上所述,Qt海康SDK和Halcon是三个不同的软件开发工具,它们各自具有特定的功能和用途。通过结合使用,可以实现更加强大和丰富的应用程序开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值