海康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;
}
时间: 2024-12-15 06:33:52

海康SDK开发NVR拍照功能的相关文章

海康SDK编程指南(C#二次开发版本)

海康SDK编程指南 目前使用的海康SDK包括IPC_SDK(硬件设备),Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息.本文仅对视频监控常用功能的使用进行说明,其它未实现功能请参看设备网络SDK使用手册和播放库编程指南V7.2. IPC_SDK编程指南 (一)    SDK的引用 由于IPC_SDK没有SDK安装程序,所以需手工把下面图表中的DLL放入Debug或者Release文件夹的根目录下供程序调用,或者加入系统环

海康相机开发(1) SDK安装和开发

1.1 安装包获取 从官网下载最新版本的MVS安装包,支持Windows xp.Windows 7.Windows 8.Windows 10的32和64位系统.安装过程默认即可. 官网下载链接:http://www.hikvision.com/cn/download_more_960.html 1.2 安装目录介绍 MVS安装包由四个组件构成,分别是MVS客户端.SDK开发包.驱动.GenICam.安装过程大概1-3分钟.我安装在“D:\Program\MVS”路径,目录结构如下: 1.3 效果

C#制作ActiveX控件中调用海康SDK的问题

这个事情就是一个坑,耽误了两周时间,之前并没有做过ActiveX这玩意,现在客户需求如此,只能说是在网上看着教程做了. 事情是这样的,有一台海康威视的摄像头,客户需要一个ActiveX控件嵌入到网页中,通过点击按钮开始录制和结束录制来进行视频的录制和保存,关于海康摄像头的二次开发在此就不多说了,可以参考SDK中的说明. 直接上流程: 1.开发环境: VS2010,这个打包方便,之前用VS2013打包的,总是调用不了,不知道原因是什么:SDK是32位的,用64位的在Winform中可以正常使用,在

C#:使用海康SDK绘图回调函数DrawFun()

简述 ??使用海康摄像头采集图像时,需要在图像上添加图标.文字等额外数据.可选择使用SDK提供的NET_DVR_RigisterDrawFun()函数注册绘图回调函数,使用NET_DVR_RealPlay_V40()的返回值(用于在DrawFun()函数中区分通道数据)及DrawFun回调函数的指针进行注册.注意:使用DrawFun回调函数,需要在调用NET_DVR_RealPlay_V40()时将第三个参数设置为null. 代码 class DeviceCamera : IDeviceCame

Android开发之拍照功能实现(附源码)

大家好,这是一个简单的拍照功能,很简单的界面,一个显示图像区域SurfaceView一个“拍照”按钮.直接上代码! 1.CameraDemoActivity.java(主界面) package org.winplus.camera; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import android.app.Activity;

使用c#封装海康SDK出现无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块

最近在研究网络摄像头的二次开发,测试了一款海康威视的网络摄像头,程序调试的时候,出现如题的报错. 调试随机自带的demo时,程序运行正常,但当把该程序引入到我自己的程序中时,就开始报错.根据开发软件包的提示,将调试所需的DLL文件拷贝到bin文件下,仍然报错. 根据错误提示"无法加载DLL"..\bin\HCNetSDK.dll":找不到指定的模块"信息,找到报错内容的定义处,发现为DLL文件引用. 与报错信息相同的为导入DLL文件的路径,即程序在该路径下无法找到所

海康网络摄像机调用SDK解码Java版

两个回调函数: FRealDataCallBack 实现预览回调数据 DecCallBack 解码回调函数 在HCNetSDK.java补充相关函数和结构声明 //播放库函数声明,PlayCtrl.dll interface PlayCtrl extends StdCallLibrary { PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary("lib\\PlayCtrl", PlayCtrl.class); public static

海康设备获取YV12图像

概要: 准备: 海康SDK的下载地址:我下载的win64的.根据你自己的需求下载吧. http://www.hikvision.com/cn/download_more_570.html 这里笔者还推荐一个很有用的海康的客户端软件: http://www.hikvision.com/cn/download_more_390.html 4200/4000在DVS配置以及DVS密码丢失后可以起到很大帮助作用.(笔者对DVS的开发是接手以前一个同事的工作,密码丢失了,如果你的密码也忘记了的话,可以这样

Java实现 海康摄像头抓拍图像

先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. 把从官网下载的SDK(和当前系统对应)解压,把库文件整个拷贝到某个目录(我是D:\hik\lib),然后把D:\hik\lib和D:\hik\lib\HCNetSDKCom加入到系统环境变量path中.可以尝试从代码中把这两个文件夹加入path,我没有试成功. 项目引入jna.jar和examples.jar这两个jar包.注