大華網(wǎng)絡(luò)SDK開發(fā)手冊_第1頁
大華網(wǎng)絡(luò)SDK開發(fā)手冊_第2頁
大華網(wǎng)絡(luò)SDK開發(fā)手冊_第3頁
大華網(wǎng)絡(luò)SDK開發(fā)手冊_第4頁
大華網(wǎng)絡(luò)SDK開發(fā)手冊_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、大 華 網(wǎng) 絡(luò) S D K 編 程 手 冊VERSION 3.1.8(Build 070321)2007-3-21版權(quán)所有 侵權(quán)必究非常感謝您使用我們公司的設(shè)備,我們將為您提供最好的服務(wù)。本手冊可能包含技術(shù)上不準(zhǔn)確的地方或印刷錯誤,歡迎指正。我們將會定期更新手冊的內(nèi)容。修訂記錄日期修訂內(nèi)容作者2006-05-30創(chuàng)建林峰2006-7-3修訂接口描述馮江2006-7-5修訂概要描述華立高2006-7-26修訂接口描述劉杰陳美英2006-8-10冋步更新接口描述陳美英2006-8-21修訂接口描述陳美英2006-8-23增加典型調(diào)用順序描述陳美英2006-8-283.0.0整理修訂陳美英2006-

2、9-153.0.5冋步增加回調(diào)數(shù)據(jù)擴展接口,更新云臺控制說明陳美英2006-9-213.0.7同步增加登錄擴展接口陳美英2006-9-293.0.9同步增加帶有配置結(jié)構(gòu)的配置功能接口說明陳美英2006-10-16增加單獨修改通道名稱的接口趙均樹2006-10-21增加打開實時圖像的擴展接口趙均樹2006-10-281、增加按時間回放和下載接口2、增加設(shè)備配置的第三方接入和獲取設(shè)備的序列號功能趙均樹2006-11-81、帶數(shù)據(jù)回調(diào)的按時間回放擴展接口2、帶數(shù)據(jù)回調(diào)的按文件回放擴展接口3、遠(yuǎn)程重啟接口4、錄像回放能夠播放音頻趙均樹、陳瓊施2006-11-191、 解決了反復(fù)修改第三方的IP地址時D

3、VR比較容易死 機的問題2、增加485接口3、通過網(wǎng)絡(luò)修改IP配置時DVR重啟趙均樹、陳瓊施2006-11-271、增加DDNS查詢IP的功能趙均樹、陳瓊施2006-12-15修正文檔中接口描述的錯誤,并增加鏈接趙均樹、陳瓊施、林堅彥2006-12-25增加并修改語音對講的接口葉浩、陳瓊施2006-12-29增加用戶管理接口林堅彥、陳瓊施2007-1-17修改了 CLIENT_Login 的功能描述增加了 CLIENT_FindFile、CLIENT_FindNextFile 、 CLIENT FindClose林堅彥、趙均樹、陳瓊施2007-2-8增加了設(shè)備參數(shù)配置的兩個接口:CLIENT_

4、GetDevCo nfig CLIENT_SetDevCo nfig林堅彥、陳瓊施、 趙均樹2007-3-7修改了 CLIENT StopListen接口典型應(yīng)用的筆誤趙均樹2007-03-19增加了個查詢報警狀態(tài)的接口。林堅彥、陳瓊施2007-03-21增加了語音對講中的音頻編碼接口葉浩、陳瓊施、林堅彥增加了擴展報警偵聽接口1 簡 介1.1 概述歡迎使用大華網(wǎng)絡(luò)SDK編程手冊,網(wǎng)絡(luò)客戶端軟件開發(fā)包(DVR客戶端SDK)是 大華網(wǎng)絡(luò)硬盤錄像機、網(wǎng)絡(luò)視頻服務(wù)器的配套產(chǎn)品,本文檔詳細(xì)描述了開發(fā)包中各個函 數(shù)實現(xiàn)的功能、接口及其函數(shù)之間的調(diào)用關(guān)系和示例實現(xiàn)。網(wǎng)絡(luò)客戶端軟件開發(fā)包主要包括業(yè)務(wù)操作和設(shè)備

5、管理兩大部分:業(yè)務(wù)操作 :狀態(tài)偵聽、實時監(jiān)視、實時預(yù)覽、字符疊加、音頻控制、錄像回放和下載、 數(shù)據(jù)保存、云臺控制、語音對講、透明串口、碼流統(tǒng)計等功能。設(shè)備管理 :遠(yuǎn)程升級、遠(yuǎn)程重啟 /關(guān)閉、設(shè)備參數(shù)配置(系統(tǒng)通用配置、報警布 /撤防 設(shè)置、錄像配置、 串口配置、圖像配置、日志管理、用戶管理、設(shè)備校時、 動態(tài)檢測配置、網(wǎng)絡(luò)配置)等功能。開發(fā)包所包括的文件有:網(wǎng)絡(luò)庫:、解碼庫:、輔助庫:、1.2 適用性支持所有大華網(wǎng)絡(luò)硬盤錄像機(DVR )、網(wǎng)絡(luò)視頻服務(wù)器(NVS )、網(wǎng)絡(luò)報警服務(wù)器( NAS)只支持 TCP 網(wǎng)絡(luò)傳輸模式客戶端可以采用多種分辨率進(jìn)行圖像預(yù)覽, 支持的分辨率包括: QCIF、CIF

6、、2CIF、HalfDI、D1, VGA (640>480)等 客戶端支持多種圖像編碼,包括 MPEG4 和等1.3 特色功能支持設(shè)備的以下特色功能:多路預(yù)覽在窄帶條件下,同時多路實時監(jiān)視對帶寬的要求比較高, 一般的處理情況有兩種, 其一,輪巡。其二,多路預(yù)覽。所謂多路預(yù)覽,就是在一個通道上把所有通道的數(shù)據(jù) 組織在一起傳輸,等同于多路同時監(jiān)視。必要的時候,可以轉(zhuǎn)單路監(jiān)視。大華 DVR 支持多路預(yù)覽功能。支持標(biāo)準(zhǔn)的 MP4 數(shù)據(jù)一般情況下, 同一平臺集成不同廠商的前端設(shè)備 (如 DVR) ,由于各廠商采用的 視頻壓縮方法不同 (包括算法、參數(shù)定義等 ),導(dǎo)致解碼端回放必須采用廠商特定的工

7、具,造成平臺開發(fā)商無法自定義播放標(biāo)準(zhǔn)。本 SDK 能夠解決這個問題。通過特定接 口,應(yīng)用層可以通過本 SDK獲取標(biāo)準(zhǔn)媒體數(shù)據(jù)(FOURCD'、V X視頻數(shù)據(jù)),要支持用各種通用播放器播放,有了提供標(biāo)準(zhǔn)數(shù)據(jù),應(yīng)用層只須打包標(biāo)準(zhǔn)數(shù) 據(jù)到播放器支持的容器類型 (也就是文件格式 ,如 AVI 標(biāo)準(zhǔn))就可以了。2設(shè)計原則2.1編程說明初始化和清除1、 使用網(wǎng)絡(luò)客戶端軟件包首先調(diào)用對系統(tǒng)進(jìn)行初始化,應(yīng)用程序退出時調(diào)用釋放所 有占用的資源。2、大多數(shù)函數(shù)調(diào)用均應(yīng)該在之后,之前,除了少數(shù)函數(shù),譬如CLIENT_SetCo nn ectTime()在之前調(diào)用,而可以在任何時候調(diào)用等等。操作句柄系統(tǒng)設(shè)計上

8、多處使用了句柄概念,很多操作均針對句柄,如回放、下載以及語音 對講等。用戶登錄和注銷用戶在訪問前端設(shè)備之前必須通過調(diào)用登錄到前端設(shè)備上,登錄成功后返回一 個全局唯一的句柄。此句柄就像一個會話通道,之后該用戶可通過此句柄訪問前端 設(shè)備。退出該會話時則通過函數(shù)在前端設(shè)備上注銷此句柄以終止該會話通道的使用。 建立連接與登錄是同步的。心跳功能在本開發(fā)包中提供自動心跳功能(20秒一次心跳)當(dāng)設(shè)備斷開能及時回調(diào)給客戶端。同步與異步異步以設(shè)置回調(diào)函數(shù)來響應(yīng)網(wǎng)絡(luò)數(shù)據(jù),有些異步在設(shè)置后返回請求句柄,結(jié)束 請求時將請求句柄提供給SDK以注銷相關(guān)資源。SDK提供協(xié)議探測和轉(zhuǎn)換回調(diào)函數(shù)一般都有dwUser參數(shù),由用戶

9、自定義需要的數(shù)據(jù),一般用來傳入類對象指針, 方便回調(diào)處理在類中實現(xiàn),回調(diào)應(yīng)用都可以采取這種方式。2.2典型調(diào)用順序初始化SDK 初始化CLIENT_Init()A.SDK功能設(shè)置或信息獲取B.設(shè)置連接等待時間CLIENT SetCo nn ectTime()獲取 SDK 版本CLIENT_GetSDKVersion()設(shè)置消息回調(diào)CLIENT_SetDVRMessCallBack()設(shè)置自定義疊加畫板 CLIENT RigisterDrawFu n()C.登錄連接設(shè)備登錄設(shè)備開始偵聽CLIENT_Logi n() CLIENT StartListe n()D.設(shè)備功能操作與信息獲取系統(tǒng)配置CL

10、IENT_QueryCo nfig()獲取設(shè)備狀態(tài)CLIENT_SetupCo nfig()CLIENT_GetDEVWorkState()獲取協(xié)議信息CLIENT_QueryComProtocol()查詢獲取系統(tǒng)信息CLIENT_QuerySystemI nfo()查詢通道名稱CLIENT_QueryCha nn elName()查詢?nèi)罩綜LIENT_QueryLogCallback()用戶管理CLIENT_QueryLog()CLIENT_QueryUserI nfo()云臺控制CLIENT_OperateUserl nfo() CLIENT_PTZC on trol()語音對講CLIEN

11、T_DHPTZC on trol()CLIENT_StartTalk()設(shè)置限流CLIENT_Se ndTalkData_Custom() CLIENT_StopTalk()CLIENT_SetMaxFlux()透明串口CLIENT_CreateTra nsComCha nn el()CLIENT_Se ndTra nsComData()CLIENT DestroyTransComChanne()E.實時監(jiān)視通道打開監(jiān)視通道保存監(jiān)視圖像數(shù)據(jù) 監(jiān)視數(shù)據(jù)回調(diào)保存獲取視頻參數(shù)信息 設(shè)置修改視頻參數(shù) 強制I幀CLIENT_RealPlay() CLIENT_RealPlayEx() CLIENT_Sa

12、veRealData() CLIENT_SetRealDataCallBack() CLIENT_SetRealDataCallBackEx() CLIENT_Clie ntGetVideoEffect() CLIENT_Clie ntSetVideoEffect() CLIENT MakeKeyFrameOF.多畫面預(yù)覽通道查詢錄像 回放及控制下載打開多畫面預(yù)覽CLIENT_MultiPlay()停止多畫面預(yù)覽CLIENT_StopMultiPlay()G.回放/下載通道CLIENT_QueryRecordFile()CLIENT_PlayBackByRecordFile() CLIENT_

13、PlayBackByRecordFileEx() CLIENT_PlayBackByTime() CLIENT_PlayBackByTimeEx() CLIENT_GetPlayBackOsdTime()CLIENT_PausePlayBack()CLIENT_SeekPlayBack()CLIENT_StopPlayBack()CLIENT_StepPlayBack() CLIENT_FastPlayBack() CLIENT_SlowPlayBack() CLIENT_GetFramePlayBack() CLIENT_SetFramePlayBack() CLIENT_Dow nload

14、ByRecordFile() CLIENT_Dow nloadByRecordFileEx() CLIENT_Dow nloadByTime() CLIENT_StopDow nload()CLIENT GetDownloadPos()針對顯示圖像的操作(監(jiān)視/回放/多畫面預(yù)覽)抓圖 碼流統(tǒng)計 打開音頻CLIENT_C apturePicture() CLIENT_GetStatiscFlux() CLIENT_Ope nSou nd() CLIENT_SetVolume()設(shè)置曰里I. 遠(yuǎn)程控制遠(yuǎn)程升級CLIENT_StartUpgrade CLIENT_Se ndUpgrade CLIEN

15、T_StopUpgrade錄像控制CLIENT_QueryRecordStateCLIENT_SetupRecordState系統(tǒng)校時CLIENT_QueryDeviceTimeCLIENT_SetupDeviceTimeIO控制CLIENT QueryIOControlStateCLIENT_IOCo ntrol注銷斷開設(shè)備停止偵聽 斷開連接CLIENT_StopListe n() CLIENT_Logout()釋放SDK資源SDK退出CLIENT_Clea nup()丄K.對D E、F、G H I中的功能大部分之間沒有調(diào)用先后順序,當(dāng)然對同一個功能還是 應(yīng)該按先打開再操作最后關(guān)閉的順序。3

16、數(shù)據(jù)結(jié)構(gòu)定義3.1客戶端數(shù)據(jù)結(jié)構(gòu)通用云臺控制命令1100110111021103日志的結(jié)構(gòu)形式typedef enum _PTZ_C on trolType PTZ_UP_CONTROL = 0,日志的類型enum dh_log_tLOG_REBOOT = 0x0000,向客戶端傳遞所有日志信息,長度為數(shù)據(jù)組織N*日志結(jié)構(gòu)長度,N為日志的條數(shù)。查詢硬盤信息的返回數(shù)據(jù)結(jié)構(gòu)typedef structDWORD dwDiskNum;碼不正確2帳號不存在3等待登錄返回超時4.帳號已登錄5帳號已被鎖定6帳號又被列為黑名單7資源不足,系統(tǒng)忙9找不到網(wǎng)絡(luò)主機0其他網(wǎng)絡(luò)錯誤返回值:失敗返回0,成功返回設(shè)備I

17、D,登錄成功之后對設(shè)備的操作都可以 通過此值(設(shè)備句柄)對應(yīng)到相應(yīng)的設(shè)備相關(guān)函數(shù): 典型應(yīng)用:在初始化后就可以調(diào)用本接口注冊到指定的設(shè)備,成功后將返回 設(shè)備句柄,給相關(guān)的函數(shù)調(diào)用1. CLIENT_API LONG CLIENT_LoginEx(char *pchDVRIP, WORD wDVRPort, char *pchUserName, char *pchPassword, int nSpecCap, void* pCapParam, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0)函數(shù)說明:注冊用戶到設(shè)備的擴展接口,支持一個用戶指定設(shè)備支持的

18、能力 參數(shù)說明:增加擴展參數(shù)nSpecCap設(shè)備支持的能力, 值為 1 表示同一用戶名可以多次登錄 , 其他暫時不 支持pCapParam對 nSpecCap 的補充參數(shù) , 目前為 0返回值:失敗返回0,成功返回設(shè)備ID,登錄成功之后對設(shè)備的操作都可以 通過此值 (設(shè)備句柄 )對應(yīng)到相應(yīng)的設(shè)備相關(guān)函數(shù): 典型應(yīng)用:一個用戶同時多次登錄同一臺設(shè)備2. CLIENT_API BOOL CLIENT_Logout(LONG lLoginID);函數(shù)說明:注銷設(shè)備用戶參數(shù)說明: lLoginID的返回值返回值:成功返回TRUE,失敗返回FALSE相關(guān)函數(shù): 典型應(yīng)用:當(dāng)需要設(shè)備主動斷開時調(diào)用 ;3.

19、2 實時監(jiān)視3. CLIENT_API LONG CLIENT_RealPlay(LONG lLoginID, int nChannelID, HWND hWnd);函數(shù)說明:啟動實時監(jiān)視參數(shù)說明:lLoginID的返回值nChannelID實時監(jiān)視通道號 (通道號從 0 開始 )hWnd窗口句柄,值為 0 對數(shù)據(jù)不解碼、不顯示圖像返回值:失敗返回0,成功返回實時監(jiān)視ID(實時監(jiān)視句柄),將作為相關(guān)函 數(shù)的參數(shù) 相關(guān)函數(shù):、 典型應(yīng)用:根據(jù)登錄時獲取到的設(shè)備信息 ,調(diào)用本接口 ,就可以打開任何有效的 一路實時監(jiān)視 ,顯示到指定的 hWnd 窗口,正常返回的監(jiān)視 ID, 用于以下對本監(jiān) 視通道的

20、控制和操作 ;4. CLIENT_API BOOL CLIENT_StopRealPlay(LONG lRealHandle); 函數(shù)說明:停止實時監(jiān)視 參數(shù)說明: lRealHandle的返回值返回值:成功返回TRUE,失敗返回FALSE 相關(guān)函數(shù):典型應(yīng)用:關(guān)閉失實監(jiān)視5. CLIENT_API LONG CALL_METHOD CLIENT_RealPlayEx(LONG lLoginID, int nChannelID, HWND hWnd, RealPlayType rType) 函數(shù)說明:啟動實時監(jiān)視或多畫面預(yù)覽,當(dāng)打開多畫面預(yù)覽時不能打開語音 對講參數(shù)說明:lLoginID的返回

21、值nChannelID實時監(jiān)視通道號,如果 rType 為 RType_Multiplay 該參數(shù)保留。 hWnd窗口句柄,值為 0 對數(shù)據(jù)不解碼、不顯示圖像 rType數(shù)據(jù)類型 RType_Realplay = 0, 1f1f.BYTE format ;11025 1200以下 29、30、31 為一組錄像查詢接口 ,和上面的錄像查詢接口獨立6. CLIENT_API LONG CALL_METHODCLIENT_FindFile(LONGlLoginID, int nChannelId, int nRecordFileType, char * cardid, LPNET_TIME time

22、_start,LPNET_TIME time_end,bool bTime, int waittime);函數(shù)說明:打開錄像查詢句柄 參數(shù)說明:lLoginID的返回值nChannelId 通道號,從 0 開始nRecordFileType錄像文件類型0所有錄像文件1 外部報警2 動態(tài)檢測報警3 所有報警4 卡號查詢5 組合條件查詢Cardid卡號 ,只針對卡號查詢有效Time_start 查詢錄像開始時間Time_end查詢錄像結(jié)束時間bTime是否按時間查詢 (目前無效 ) waittime查詢超時時間 返回值:成功返回查詢句柄,失敗返回 0 相關(guān)函數(shù):, ,典型應(yīng)用: 可以在回放之前先調(diào)

23、用本接口查詢錄像記錄 ,再調(diào)用 函數(shù)挨條返 回錄象記錄用于播放,查詢完畢可以調(diào)用關(guān)閉查詢句柄。7. CLIENT_API int CALL_METHOD CLIENT_FindNextFile(LONG lFindHandle,LPNET_RECORDFILE_INFO lpFindData);函數(shù)說明:查詢下一條錄像文件記錄 參數(shù)說明: lFindHandle的返回值 lpFindData錄象文件記錄緩沖,用于輸出查詢到的錄象文件記錄 返回值: 1:成功取回一條錄象記錄, 0:錄象記錄已取完, 1:參數(shù)出錯 相關(guān)函數(shù): 典型應(yīng)用:調(diào)用本接口之前應(yīng)先調(diào)用以打開查詢句柄。8. CLIENT_AP

24、I BOOL CALL_METHOD CLIENT_FindClose(LONG lFindHandle);函數(shù)說明:關(guān)閉錄象查詢句柄 參數(shù)說明: lFindHandle的返回值返回值:成功返回TRUE,失敗返回FALSE 相關(guān)函數(shù):9.典型應(yīng)用:調(diào)用打開查詢句柄,查詢完畢后應(yīng)調(diào)用本函數(shù)以關(guān)閉查詢句柄。 CLIENT_APILONGCALL_METHODlLoginID,HWND hWnd,CLIENT_PlayBackByRecordFileEx(LONGLPNET_RECORDFILE_INFO lpRecordFile,fDownLoadPosCallBackcbDownLoadPos,

25、DWORD dwPosUser,fDataCallBack fDownLoadDataCallBack, DWORD dwDataUser);函數(shù)說明: 帶數(shù)據(jù)回調(diào)的按錄象文件回放擴展接口 ,每通道同一時間只能播放 一則錄像,不能同時播放同一通道的多條記錄。窗口參數(shù)( hWnd)有效時不 回調(diào)數(shù)據(jù),如果需要數(shù)據(jù)回調(diào)則窗口參數(shù).(hWnd)必須傳0。參數(shù)說明:lLoginID的返回值lpRecordFile 錄像文件信息hWnd回放窗口cbDownLoadPos進(jìn)度回調(diào)函數(shù)dwPosUser進(jìn)度回調(diào)用戶參數(shù)進(jìn)度回調(diào)函數(shù)參數(shù)說明:參見dwDataUser數(shù)據(jù)回調(diào)用戶數(shù)據(jù)回調(diào)函數(shù)參數(shù)說明:lReal

26、HandleCLIENT_PlayBackByRecordFileEx的返回值dwDataType這里為 0(原始數(shù)據(jù) )pBuffer數(shù)據(jù)緩沖dwBufSize 緩沖長度 fDownLoadDataCallBack 數(shù)據(jù)回調(diào)函數(shù),原形參見典型應(yīng)用 dwUser 用戶數(shù)據(jù),就是上面輸入的用戶數(shù)據(jù) dwDataUser 注意】 本回調(diào)函數(shù)的返回值會影響 SDK 的內(nèi)部操作: 返回 1代表回調(diào)成功,沒什么特殊情況都應(yīng)該返回這個值返回 0代表回調(diào)函數(shù)堵塞,這個會導(dǎo)致同一數(shù)據(jù)重復(fù)發(fā)送,即回放畫面會出現(xiàn)重復(fù) 返回 1 代表系統(tǒng)出錯,將直接結(jié)束回放線程,慎用!返回值:成功返回網(wǎng)絡(luò)回放 ID ,失敗返回 0

27、相關(guān)函數(shù) :、,、典 型 應(yīng) 用 : 如 果 窗 口 參 數(shù) hWnd 不 為 零 , 則 數(shù) 據(jù) 回 調(diào) 參 數(shù)(fDownLoadDataCallBack,dwDataUser )無效,如果窗口參數(shù) hWnd為零,則回調(diào)原形為:typedef int(CALLBACK *fDataCallBack) (LONG lRealHandle, DWORDdwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser);10. CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByTime(LONG lLogin

28、ID, int nChannelID, LPNET_TIME lpStartTime, LPNET_TIME lpStopTime,HWND hWnd, fDownLoadPosCallBackcbDownLoadPos, DWORD dwUserData);函數(shù)說明:網(wǎng)絡(luò)回放 ,需要說明的是對同一設(shè)備的同一通道當(dāng)前只能同時播放 一個時間段錄像 參數(shù)說明: lLoginID的返回值nChannelID圖像通道號,從 0 開始,必須指定lpStartTime開始時間lpStopTime結(jié)束時間hWnd回放窗口 cbDownLoadPos進(jìn)度回調(diào)函數(shù)dwUserData 用戶自定義數(shù)據(jù)進(jìn)度回調(diào)函數(shù)

29、參數(shù)說明:參見返回值:成功返回網(wǎng)絡(luò)回放 ID ,失敗返回 0 相關(guān)函數(shù):、,、典型應(yīng)用:參見 demo11. CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByTimeEx(LONG lLoginID, int nChannelID, LPNET_TIME lpStartTime, LPNET_TIME lpStopTime,HWND hWnd, fDownLoadPosCallBackcbDownLoadPos, DWORD dwPosUser, fDataCallBack fDownLoadDataCallBack, DWORD dwDataUser

30、);函數(shù)說明:帶數(shù)據(jù)回調(diào)的按時間回放擴展接口 , 每通道同一時間只能播放一 貝U錄像,不能同時播放同一通道的多條記錄。窗口參數(shù)(hWnd)有效時不回調(diào)數(shù)據(jù),如果需要數(shù)據(jù)回調(diào)則窗口參數(shù).(hWnd必須傳0。參數(shù)說明:lLoginID的返回值nChannelID圖像通道號,必須指定lpStartTime開始時間lpStopTime結(jié)束時間hWnd回放窗口cbDownLoadPos進(jìn)度回調(diào)函數(shù)dwPosUser進(jìn)度回調(diào)用戶參數(shù)進(jìn)度回調(diào)函數(shù)參數(shù)說明:參見 fDownLoadDataCallBack 數(shù)據(jù)回調(diào)函數(shù)dwDataUser數(shù)據(jù)回調(diào)用戶數(shù)據(jù)回調(diào)函數(shù)參數(shù)說明參見:的數(shù)據(jù)回調(diào)函數(shù)參數(shù)說明。注意】 本

31、回調(diào)函數(shù)的返回值會影響 SDK 的內(nèi)部操作:返回 1 代表回調(diào)成功,沒什么特殊情況都應(yīng)該返回這個值。返回 0 代表回調(diào)函數(shù)堵塞,這個會導(dǎo)致同一數(shù)據(jù)重復(fù)發(fā)送,即回放畫面會出現(xiàn)重復(fù);返回 1 代表系統(tǒng)出錯,將直接結(jié)束回放線程,慎用!返回值:成功返回網(wǎng)絡(luò)回放 ID ,失敗返回 0 相關(guān)函數(shù):、,、 典 型 應(yīng) 用 : 如 果 窗 口 參 數(shù) hWnd 不 為 零 , 則 數(shù) 據(jù) 回 調(diào) 參 數(shù) ( fDownLoadDataCallBack,dwDataUser )無效,如果窗口參數(shù) hWnd 為零 ,則回調(diào)原形為:typedef int(CALLBACK *fDataCallBack) (LONG

32、 lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser); 參見 demo12. CLIENT_API BOOL CLIENT_StopPlayBack(LONG lPlayHandle);函數(shù)說明:網(wǎng)絡(luò)回放停止參數(shù)說明:lPlayHandle的返回值返回值:成功返回TRUE,失敗返回FALSE相關(guān)函數(shù):、典型應(yīng)用:輸入上一接口返回的播放ID,調(diào)用本接口就可以停止控制13. CLIENT_APIBOOL CLIENT_GetPlayBackOsdTime(LONGlPlayHandle, LPNE

33、T_TIME lpOsdTime, LPNET_TIME lpStartTime, LPNET_TIME lpEndTime);函數(shù)說明:得到當(dāng)前網(wǎng)絡(luò)回放的 OSD時間,只有打開圖像的函數(shù)參數(shù) hWnd 有效時該函數(shù)獲取的參數(shù)才有效,否則無意義參數(shù)說明:lPlayHandle的返回值lpOsdTimeOSD 的時間lpStartTime開始時間lpEndTime結(jié)束時間返回值:成功返回TRUE,失敗返回FALSE相關(guān)函數(shù):、參見 demo14. CLIENT_APILONG CLIENT_DownloadByRecordFile(LONGlLoginID,LPNET_RECORDFILE_IN

34、FO lpRecordFile,char*sSavedFileName,fDownLoadPosCallBack cbDownLoadPos,DWORD dwUserData);函數(shù)說明:下載錄像文件 , 通過查詢到的文件信息下載 參數(shù)說明:lLoginID的返回值lpRecordFile 錄像文件信息指針 , 當(dāng)需要按時間段下載時直接填充開始時間和結(jié)束時 間 , 其他項填 0sSavedFileName 要保存的錄像文件名,全路徑cbDownLoadPos下載進(jìn)度回調(diào)函數(shù)dwUserData 下載進(jìn)度回調(diào)用戶自定義數(shù)據(jù)下載進(jìn)度回調(diào)函數(shù)參數(shù)說明:參見返回值:成功返回下載ID,失敗返回0相關(guān)函數(shù)

35、:、,典型應(yīng)用:根據(jù)上面查詢的記錄 ,就可以將錄像保存到指定的文件 ,下載進(jìn)度回 調(diào)與回放進(jìn)度類似15. CLIENT_API LONG CALL_METHOD CLIENT_DownloadByTime(LONG lLoginID, int nChannelId, int nRecordFileType, LPNET_TIME tmStart, LPNET_TIME tmEnd, char *sSavedFileName, fTimeDownLoadPosCallBack cbTimeDownLoadPos, DWORD dwUserData);函數(shù)說明:直接輸入指定通道起始時間和結(jié)束時間下

36、載放錄像 參數(shù)說明: lLoginID的返回值nChannelId圖像通道號,從 0 開始nRecordFileType保留tmStart開始時間tmEnd結(jié)束時間sSavedFileName要保存的錄像文件名,全路徑 cbTimeDownLoadPos下載進(jìn)度回調(diào)函數(shù)dwUserData 下載進(jìn)度回調(diào)用戶自定義數(shù)據(jù)下載進(jìn)度回調(diào)函數(shù)參數(shù)說明參見返回值:成功返回下載 ID ,失敗返回 0相關(guān)函數(shù) :,典型應(yīng)用:參見 demo16. CLIENT_API BOOL CLIENT_StopDownload(LONG lFileHandle);函數(shù)說明:停止下載錄像文件參數(shù)說明:lFileHandle

37、的返回值返回值:成功返回TRUE,失敗返回FALSE相關(guān)函數(shù):、 典型應(yīng)用:根據(jù)需要可以等文件下載完了關(guān)閉下載 ,也可以下載到一部分停止 下載;17. CLIENT_API BOOL CLIENT_GetDownloadPos(LONG lFileHandle, int *nTotalSize, int *nDownLoadSize);函數(shù)說明:獲得下載錄像的當(dāng)前位置 ,可以用于不需要實時顯示下載進(jìn)度的接 口,與下載回調(diào)函數(shù)的功能類似 參數(shù)說明: lFileHandle 的返回值nTotalSize下載的總長度nDownLoadSize已下載的長度返回值:成功返回TRUE,失敗返回FALSE相

38、關(guān)函數(shù):、 典型應(yīng)用:用于不打算通過回調(diào)計算進(jìn)度 ,可定時調(diào)用本接口獲取當(dāng)前進(jìn)度 ;3.3 回放控制18. CLIENT_API BOOL CLIENT_PausePlayBack(LONG lPlayHandle, BOOL bPause);函數(shù)說明:網(wǎng)絡(luò)回放暫停與恢復(fù)播放,只有打開圖像的函數(shù)參數(shù) hWnd 有效 時該函數(shù)獲取的參數(shù)才有效,否則無意義參數(shù)說明:lPlayHandle的返回值bPause網(wǎng)絡(luò)回放暫停與恢復(fù)播放參數(shù)1 暫停0 恢復(fù)返回值:成功返回TRUE,失敗返回FALSE 相關(guān)函數(shù):、 典型應(yīng)用:對已經(jīng)打開的播放進(jìn)行暫停和恢復(fù)控制19. CLIENT_API BOOL CLIE

39、NT_SeekPlayBack(LONG lPlayHandle, unsigned int offsettime, unsigned int offsetbyte);函數(shù)說明:改變位置播放 ,即拖動播放,只有打開圖像的函數(shù)參數(shù) hWnd 有效 時該函數(shù)獲取的參數(shù)才有效,否則無意義參數(shù)說明: lPlayHandle的返回值offsettime 相對文件開始處偏移時間,單位為秒.當(dāng)其值為 0xffffffff 時 ,該參數(shù)無效 .offsetbyte相對文件開始處偏移字節(jié) , 當(dāng)其值為 0xffffffff 時 , 該參數(shù)無效;當(dāng)offsettime 有效的時候 , 此參數(shù)無意義 .返回值:成功

40、返回TRUE,失敗返回FALSE 相關(guān)函數(shù):、,典型應(yīng)用:對已經(jīng)打開的播放進(jìn)行定位播放控制 ,一般用于拖動進(jìn)度條控制20. CLIENT_API BOOL CLIENT_StepPlayBack(LONG lPlayHandle, bool bStop);函數(shù)說明:單步播放 , 調(diào)用一次播放一幀圖像,只有打開圖像的函數(shù)參數(shù) hWnd 有效時該函數(shù)獲取的參數(shù)才有效,否則無意義 參數(shù)說明: lPlayHandle的返回值bStop 是否停止單步播放 , 在結(jié)束單步時調(diào)用 返回值:成功返回TRUE,失敗返回FALSE 相關(guān)函數(shù) : 、典型應(yīng)用:用于對關(guān)鍵數(shù)據(jù)的單幀播放,并且bStop要設(shè)置為TRUE

41、,切換到 其他播放之前要再調(diào)用本接口關(guān)閉單步播放才能正常執(zhí)行其他的播放模式21. CLIENT_API BOOL CLIENT_FastPlayBack(LONG lPlayHandle); 函數(shù)說明:快放 ,將當(dāng)前幀率提高一倍 ,但是不能無限制的快放 ,目前最大 120, 大于時返回 FALSE, 有音頻的話不可以快放,慢放沒有問題,只有打開圖像 的函數(shù)參數(shù)hWnd有效時該函數(shù)獲取的參數(shù)才有效,否則無意義參數(shù)說明: lPlayHandle的返回值返回值:成功返回TRUE,失敗返回FALSE 相關(guān)函數(shù): ,、 典型應(yīng)用:要求快鏡頭播放的情況22. CLIENT_API BOOL CLIENT_

42、SlowPlayBack(LONG lPlayHandle); 函數(shù)說明:慢放,將當(dāng)前幀率降低一倍 ,最慢為每秒一幀 ,小于 1則返回 FALSE, 只有打開圖像的函數(shù)參數(shù)hWnd有效時該函數(shù)獲取的參數(shù)才有效,否則無意 義參數(shù)說明:lPlayHandle的返回值返回值:成功返回TRUE,失敗返回FALSE 相關(guān)函數(shù): ,、 典型應(yīng)用:要求慢動作播放的情況23. CLIENT_API BOOL CLIENT_SetFramePlayBack(LONG lPlayHandle, int framerate);函數(shù)說明:設(shè)置回放幀率 , 目前定義的范圍是 (1120),超過這個范圍返回FALSE,只

43、有打開圖像的函數(shù)參數(shù) hWnd有效時該函數(shù)獲取的參數(shù)才有效, 否則無意義 參數(shù)說明: lPlayHandle 的返回值 framerate 幀率返回值:成功返回TRUE,失敗返回FALSE相關(guān)函數(shù): 、 典型應(yīng)用:自設(shè)定幀率播放 ,24. CLIENT_API BOOL CLIENT_GetFramePlayBack(LONG lPlayHandle, int *fileframerate, int *playframerate);函數(shù)說明:得到當(dāng)前回放幀率,只有打開圖像的函數(shù)參數(shù) hWnd 有效時該函 數(shù)獲取的參數(shù)才有效,否則無意義參數(shù)說明:lPlayHandle的返回值playframer

44、ate返回的幀率返回值:成功返回TRUE,失敗返回FALSE相關(guān)函數(shù) :、典型應(yīng)用: 與上一接口對應(yīng) ,獲取當(dāng)前的播放幀率 , 對單幀播放是無效 ,或獲取 的為之前的播放幀率 ;25. CLIENT_API nChannelID,3.4 云臺控制intBOOLBOOL CLIENT_PTZControl(LONG lLoginID,DWORD dwPTZCommand, DWORD dwStep,dwStop);函數(shù)說明:云臺控制參數(shù)說明:lLoginID的返回值nChannelID通道號 dwPTZCommand 支持以下云臺控制命令 typedef enum PTZ_ControlType

45、 PTZ_UP_CONTROL = 0,bEnd 1200192011520 1500 3.1.83.1.83.1.83.1.83.1.83.1.83.1.83.1.83.1.83.1.83.1.83.1.8 102410241024,1-"-"2-"/"BYTE byTimeFmt;#define DH_ALARM_UPLOAD此處定義如何處理一個消息0x00000001#defi ne DH_ALARM_RECORD0x00000002#defi ne DH_ALARM_PTZ0x00000004#defi ne DH_ALARM_MAIL0x000

46、00008#defi ne DH_ALARM_TOUR0x00000010#defi ne DH_ALARM_TIP0x00000020#defi ne DH_ALARM_OUT0x00000040#defi ne DH_MOTION_ROW12#defi ne DH_MOTION_COL16typedef struct消息處理方式,可以同時多種處理方式,包括* 0x00000001-網(wǎng)絡(luò):上傳管理服務(wù)器* 0x00000002-錄像:觸發(fā)* 0x00000004-云臺聯(lián)動* 0x00000008-發(fā)送郵件* 0x00000010-設(shè)備本地報警輪巡* 0x00000020-設(shè)備提示使能* 0x

47、00000040-設(shè)備報警輸出使能/*當(dāng)前報警所支持的處理方式*/DWORDdwActio nM ask;/*觸發(fā)動作,具體動作所需要的參數(shù)在各自的配置中體現(xiàn),如報警錄像長度,設(shè)置為10秒,可以在報警配置中設(shè)置*/DWORDdwActio nF lag;/*報警(錄象)持續(xù)時間*/DWORDdwDuratio n;/*報警觸發(fā)的輸出通道,報警觸發(fā)的輸出,為1表示觸發(fā)該輸出*/BYTEbyRelAlarmOutDH_MAX_ALARMOUT_NUM;/*聯(lián)動錄象*/BYTEbyRecordCha nn elDH_MAX_VIDEO_IN_NUM;聯(lián)動,1.轉(zhuǎn)到預(yù)置點,2.巡航,3.軌跡,4.線掃

48、*/BYTE byPtzTypeDH_MAX_VIDEO_IN_NUM;/*調(diào)用的云臺預(yù)置點序號/巡航組號/軌跡序號/線掃序號,各通道可不同設(shè)置*/BYTE byPtzNoDH_MAX_VIDEO_IN_NUM;DH_MSG_HANDLE;/*外部報警*/typedef struct/報警器類型,0 :常開,1 :常閉/報警使能BYTEbyAlarmType;BYTEbyAlarmE n;BYTEbyReserved2;DH_TSECT stSectDH_N_WEEKSDH_N_REC_TSECT;DH_MSG_HANDLE struHa ndle;/ 處理方式 DH_ALARMIN_CFG,

49、*LPDHDEV_ALARMIN_CFG;/* 動態(tài)檢測報警 typedef structBYTEBYTE*/WORDBYTEDH_TSECTbyMotionEn;byReserved;wSenseLevel; / 靈敏度 byDetectedDH_MOTION_ROWDH_MOTION_COL;/ 檢測區(qū)域,共 12*16 stSectDH_N_WEEKSDH_N_REC_TSECT;/ 動態(tài)檢測報警使能塊區(qū)域DH_MSG_HANDLE struHandle; / 處理方式 DH_MOTION_DETECT_CFG;/* 視頻丟失報警typedef struct*/byAlarmEn;byR

50、eserved3; stSectDH_N_WEEKSDH_N_REC_TSECT;DH_MSG_HANDLE struHandle;BYTEBYTEDH_TSECTDH_VIDEO_LOST_CFG;圖像遮擋報警/ 視頻丟失報警使能/處理方式/* typedef struct*/使能 靈敏度 1-6byBlindEnable;byBlindLevel;byReserved2;stSectDH_N_WEEKSDH_N_REC_TSECT;DH_MSG_HANDLE struHandle; / 處理方式BYTEBYTEBYTEDH_TSECT/DH_BLIND_CFG;硬盤消息 (內(nèi)部報警 ) *

51、/* typedef struct BYTEBYTEDH_TSECTDH_MSG_HANDLEBYTEBYTEDH_TSECTDH_MSG_HANDLEBYTEBYTEDH_TSECTDH_MSG_HANDLEbyNoDiskEn; byReserved_13; stNDSectDH_N_WEEKSDH_N_REC_TSECT; struHandle;/ 處理方式byLowCapEn;/ 硬盤低容量時報警byReserved_23; stLCSectDH_N_WEEKSDH_N_REC_TSECT; struLCHandle;/ 處理方式byDiskErrEn;/ 硬盤故障報警byReserv

52、ed_33; stEDSectDH_N_WEEKSDH_N_REC_TSECT; struEDHandle; / 處理方式/ 無硬盤時報警 DH_DISK_ALARM_CFG;/* 報警布防 */ typedef struct DWORD dwSize;DH_ALARMIN_CFGDH_MOTION_DETECT_CFG DH_VIDEO_LOST_CFG DH_BLIND_CFG DH_DISK_ALARM_CFG / 可能還有設(shè)備異常 DHDEV_ALARM_SCHEDULE;struAlarmInDH_MAX_ALARM_IN_NUM; struMotionDH_MAX_VIDEO_IN_NUM;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論