海康SDK开发NVR拍照功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海康SDK开发NVR拍照功能相关的知识,希望对你有一定的参考价值。

实际项目中使用海康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;
}


以上是关于海康SDK开发NVR拍照功能的主要内容,如果未能解决你的问题,请参考以下文章

浏览器低延时播放RTSP安防摄像头/海康大华硬盘录像机/NVR/流媒体服务器硬件开发机设备失去授权如何解决?

Hikvison对接NVR实现WEB无插件开发包实现前端视频预览(htmlvuenginx代理)

海康摄像SDK开发笔记:海康威视网络摄像头SDK介绍与模块功能

海康摄像SDK开发笔记:海康威视网络摄像头SDK介绍与模块功能

大华的球机接入海康的NVR,大华球机ip 192.16.1.108 onvif协议 端口号是9988.但是在海康的NVR上搜不到。

海康威视 NVR 视频转换 ffmpeg