vs2019二次开发大华相机sdk代码
时间: 2023-07-03 12:31:35 浏览: 187
大华相机SDK示例
4星 · 用户满意度95%
以下是一个简单的示例代码,演示了如何使用大华相机SDK在VS2019中进行开发:
```cpp
#include "stdafx.h"
#include <iostream>
#include "dhnetsdk.h"
#include "dhconfigsdk.h"
#include "dhplay.h"
#pragma comment(lib, "dhnetsdk.lib")
#pragma comment(lib, "dhconfigsdk.lib")
#pragma comment(lib, "dhplay.lib")
using namespace std;
int main()
{
// 初始化SDK
NETSDK_Init();
// 登录设备
NET_DEVICEINFO_Ex stDevInfo = { 0 };
int nLoginID = NET_DVR_Login_V40("192.168.1.100", 8000, "admin", "password", &stDevInfo);
if (nLoginID < 0)
{
cout << "登录设备失败!" << endl;
return -1;
}
// 获取视频通道号
int nChannel = 0;
NET_DVR_DEVICEINFO_V30 stDeviceInfo = { 0 };
if (!NET_DVR_GetDVRConfig(nLoginID, NET_DVR_GET_DEVICECFG_V30, 0, &stDeviceInfo, sizeof(stDeviceInfo), NULL))
{
cout << "获取设备信息失败!" << endl;
return -1;
}
nChannel = stDeviceInfo.byChanNum;
// 开始预览
NET_DVR_PREVIEWINFO struPlayInfo = { 0 };
struPlayInfo.hPlayWnd = NULL;
struPlayInfo.lChannel = nChannel;
struPlayInfo.dwStreamType = 0;
struPlayInfo.dwLinkMode = 0;
if (!NET_DVR_RealPlay_V40(nLoginID, &struPlayInfo, NULL, NULL))
{
cout << "预览失败!" << endl;
return -1;
}
// 等待用户按下任意键停止预览
system("pause");
// 停止预览
NET_DVR_StopRealPlay(nLoginID);
// 注销登录
NET_DVR_Logout(nLoginID);
// 释放SDK资源
NETSDK_Cleanup();
return 0;
}
```
这个示例代码演示了如何使用大华相机SDK在VS2019中进行开发。首先,调用NETSDK_Init()函数初始化SDK;然后,调用NET_DVR_Login_V40()函数登录设备;接着,调用NET_DVR_GetDVRConfig()函数获取视频通道号;然后,调用NET_DVR_RealPlay_V40()函数开始预览;最后,等待用户按下任意键停止预览,然后依次调用NET_DVR_StopRealPlay()函数、NET_DVR_Logout()函数和NETSDK_Cleanup()函数释放SDK资源。
当然,这只是一个简单的示例代码,实际开发中需要根据具体需求进行修改和完善。
阅读全文