实际项目中使用海康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;
}另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。