海康作爲監控行業的龍頭老大,接口還是做得很不錯,也蠻好用。
先說下要實現的基本功能
1. 登入
2. 啓動實時碼流(解碼後單幀的YUV數據)
3. 其它控制(PTZ,PreSets)
做監控或者智能分析,主要是提取實時幀數據就足夠了。
下面是主要流程,海康文檔提供了流程圖,就抄吧啊。
//初始化
BOOL NET_DVR_Init();
//登入
LONG NET_DVR_Login_V30( char *sDVRIP,
WORD wDVRPort, char *sUserName,
char *sPassword,
LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo);
//實時預覽
LONG NET_DVR_RealPlay_V30(
LONG lUserID,
LPNET_DVR_CLIENTINFO lpClientInfo,
fRealDataCallBack_V30 cbRealDataCallBack,
void *pUser,
BOOL bBlocked
);
//幀數據回調
typedef void(CALLBACK *fRealDataCallBack_V30)(
LONG lRealHandle,
DWORD dwDataType,
BYTE *pBuffer,
DWORD dwBufSize,
void *pUser
);
//PTZ控制
BOOL NET_DVR_PTZControlWithSpeed( LONG lRealHandle, DWORD dwPTZCommand,
DWORD dwStop, DWORD dwSpeed);
//預置位調用
BOOL NET_DVR_PTZPreset( LONG lRealHandle, DWORD dwPTZPresetCmd,
DWORD dwPresetIndex);
這些函數是最常用到的。不管做什麼操作,都需要初始化。
其它不講了,附上官網的下載Demo和文檔。
http://download.csdn.net/detail/q339659207/7683263