海康SDK开发NVR拍照功能
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,实际项目中使用海康SDK进行NVR拍照功能的二次开发基于Linux环境下采用Qt进行开发,使用海康SDK需先将海康打包的动态库拷贝至/us/lib/下,或者自己根据需要设置调用动态库的路径。代码如下:
实际项目中使用海康SDK进行NVR拍照功能的二次开发
基于Linux环境下采用Qt进行开发,使用海康SDK需先将海康打包的动态库拷贝至/us/lib/下,或者自己根据需要设置调用动态库的路径。
代码如下:
#include "./include/HCNetSDK.h"int Demo_Capture(char* ip,char* userName,char*passwd){ NET_DVR_Init(); NET_DVR_SetLogToFile(3, "./sdkLog"); long lUserID; //login NET_DVR_DEVICEINFO_V30 struDeviceInfo; lUserID = NET_DVR_Login_V30(ip, 8000, userName, passwd, &struDeviceInfo); if (lUserID < 0) { printf("pyd1---Login error, %d\n", NET_DVR_GetLastError()); return -1; } NET_DVR_JPEGPARA strPicPara = {0}; strPicPara.wPicQuality = 2; strPicPara.wPicSize = 0; int iRet; QString timeName = QDateTime::currentDateTime().toString("yyyyMMddhhmmss"); QDir dir("./photo"); if(!dir.exists()) dir.mkdir((dir.currentPath()+"/photo")); QString strPath = QString("./photo/%1.jpeg").arg(timeName); QByteArray charPath = strPath.toLatin1(); iRet = NET_DVR_CaptureJPEGPicture(lUserID, struDeviceInfo.byStartChan, &strPicPara, charPath.data()); if (!iRet) { printf("pyd1---NET_DVR_CaptureJPEGPicture error, %d\n", NET_DVR_GetLastError()); return -1; } //logout NET_DVR_Logout_V30(lUserID); NET_DVR_Cleanup(); return 0;}