Linux C++海康SDK取流
下载海康Linux开发SDK
-
进入 海康开放平台 , 点击 设备集成SDK ,点击 资源下载 。
-
下载Linux x64的SDK
设置环境变量
- 把SDK的库放进Linux里解压
- 把库文件文件夹和子文件夹HCNetSDKCom里的所有文件拷贝在 ~/hkSdk/lib 目录下
- 往 ~/.bashrc 添加如下:
# hk sdk
export LD_LIBRARY_PATH=$HOME/lib/hkSdk/lib:$LD_LIBRARY_PATH
- 使得环境变量生效
source ~/.bashrc
C++使用海康SDK取流
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <unistd.h>
using namespace std;
#include "HCNetSDK.h"
#include "LinuxPlayM4.h"
int g_nPort = -1;
void Get_HK_SDK_Version()
{
unsigned int uiVersion = NET_DVR_GetSDKBuildVersion();
char strTemp[1024] = {
0};
sprintf(strTemp, "HCNetSDK V%d.%d.%d.%d\n", \
(0xff000000 & uiVersion)>>24, \
(0x00ff0000 & uiVersion)>>16, \
(0x0000ff00 & uiVersion)>>8, \
(0x000000ff & uiVersion));
printf(strTemp);
}
// 视频流解码成功后的回调函数
void CALLBACK DecodeCallBackFun(int nPort, char* pBuf, int nSize, FRAME_INFO* pFrameInfo, void* nUser, int nReserved)
{
if (pFrameInfo->nType == T_YV12) {
printf("Get Decode Stream ok.\n");
// TODO, 自行处理解码后的 YV12 数据
}
}
void CALLBACK g_HikDataCallBack(int lRealHandle, unsigned