大華網(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頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、大華網(wǎng)絡(luò) SDK 編程手冊VERSION 3.1.8(Build 070321)2007-3-21版權(quán)所有侵權(quán)必究前言非常感謝您使用我們公司的設(shè)備,我們將為您提供最好的服務(wù)。本手冊可能包含技術(shù)上不準(zhǔn)確的地方或印刷錯(cuò)誤,歡迎指正。我們將會(huì)定期更新手冊的內(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-9-153.0

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

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

4、ig CLIENT_SetDevConfig林堅(jiān)彥、陳瓊施、 趙均樹2007-3-7修改了 CLIENT_StopListen接口典型應(yīng)用的筆誤趙均樹2007-03-19增加了個(gè)查詢報(bào)警狀態(tài)的接口。林堅(jiān)彥、陳瓊施2007-03-21增加了語音對講中的音頻編碼接口增加了擴(kuò)展報(bào)警偵聽接口葉浩、陳瓊施、林堅(jiān)彥1簡介1.1 概述1.2 適用性1.3 特色功能2設(shè)計(jì)原則2.1 編程說明2.2 典型調(diào)用順序3數(shù)據(jù)結(jié)定義3.1 客戶端數(shù)據(jù)結(jié)構(gòu) 3.1.1 設(shè)備信息結(jié)構(gòu) 3.1.2 21間信息3.1.3 錄像文件信息 3.1.4 設(shè)備狀態(tài)信息 3.1.5 系統(tǒng)配置信息結(jié)構(gòu)4接口定義4.1 SDK初始化4.2

5、狀態(tài)偵聽4.3 字符疊加4.4 設(shè)備注冊4.5 實(shí)時(shí)監(jiān)視4.6 音頻控制4.7 數(shù)據(jù)彳存4.8 視頻抓圖4.9 回放和下載4.10 回放控制4.11 玄臺控制 4.12 實(shí)時(shí)預(yù)覽4.13 系統(tǒng)配置4.14 日志管理4.15 透明串口 4.16 沅程控制4.17 錄像捽制4.18 系統(tǒng)時(shí)間4.19 用戶管理4.20 語音對講錯(cuò)誤!未指定書簽。錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。144.21 碼流統(tǒng)計(jì) 4.22 IO 控制4.23 強(qiáng)制I幀4.24 設(shè)置限流4.25 獲取設(shè)備狀態(tài)4.26 修改通道名稱 54.27 DDNS 查詢 IP 4.28 設(shè)備參數(shù)配置5示例功能實(shí)現(xiàn) 5.1 連接設(shè)備5.2

6、報(bào)警信息獲取5.3 系統(tǒng)配置5.4 實(shí)時(shí)監(jiān)視5.5 數(shù)據(jù)彳存5.6 回放/下載和進(jìn)度指示5.7 播放控制5.8 預(yù)覽5.9 字符疊加1簡介1.1 概述歡迎使用大華網(wǎng)絡(luò)SDK編程手冊,網(wǎng)絡(luò)客戶端軟件開發(fā)包(DVR客戶端SDK)是 大華網(wǎng)絡(luò)硬盤錄像機(jī)、網(wǎng)絡(luò)視頻服務(wù)器的配套產(chǎn)品,本文檔詳細(xì)描述了開發(fā)包中各個(gè)函 數(shù)實(shí)現(xiàn)的功能、接口及其函數(shù)之間的調(diào)用關(guān)系和示例實(shí)現(xiàn)。網(wǎng)絡(luò)客戶端軟件開發(fā)包主要包括業(yè)務(wù)操作和設(shè)備管理兩大部分:業(yè)務(wù)操作:狀態(tài)偵聽、實(shí)時(shí)監(jiān)視、實(shí)時(shí)預(yù)覽、字符疊加、音頻控制、錄像回放和下載、 數(shù)據(jù)保存、云臺控制、語音對講、透明用口、碼流統(tǒng)計(jì)等功能。設(shè)備管理:遠(yuǎn)程升級、遠(yuǎn)程重啟/關(guān)閉、設(shè)備參數(shù)配置(系

7、統(tǒng)通用配置、報(bào)警布/撤防設(shè)置、錄像配置、串口配置、圖像配置、日志管理、用戶管理、設(shè)備校時(shí)、 動(dòng)態(tài)檢測配置、網(wǎng)絡(luò)配置)等功能。開發(fā)包所包括的文件有:網(wǎng)絡(luò)庫:dhnetsdk.lib、dhnetsdk.dll、dhnetsdk.h解碼庫:decoded。、render.dll、dllh264.dll、audiorecord.dll、AudioRecordEx.dll、 avcodec.dll輔助庫:dhdvr.dll、ParaTimer.dll、DetectAreaCtrl.ocx、SetDeviceConfigProj.ocx1.2 適用性支持所有大華網(wǎng)絡(luò)硬盤錄像機(jī)( DVR ) 、網(wǎng)絡(luò)視頻服務(wù)

8、器(NVS) 、網(wǎng)絡(luò)報(bào)警服務(wù)器(NAS )只支持 TCP 網(wǎng)絡(luò)傳輸模式客戶端可以采用多種分辨率進(jìn)行圖像預(yù)覽, 支持的分辨率包括: QCIF、CIF、2CIF、HalfDI、D1, VGA (640M80)等客戶端支持多種圖像編碼,包括MPEG4 和 H.264 等1.3 特色功能支持設(shè)備的以下特色功能:多路預(yù)覽在窄帶條件下, 同時(shí)多路實(shí)時(shí)監(jiān)視對帶寬的要求比較高, 一般的處理情況有兩種,其一,輪巡。其二,多路預(yù)覽。所謂多路預(yù)覽,就是在一個(gè)通道上把所有通道的數(shù)據(jù)組織在一起傳輸,等同于多路同時(shí)監(jiān)視。必要的時(shí)候,可以轉(zhuǎn)單路監(jiān)視。大華DVR支持多路預(yù)覽功能。支持標(biāo)準(zhǔn)的 MP4 數(shù)據(jù)一般情況下, 同一平臺

9、集成不同廠商的前端設(shè)備 (如 DVR ) , 由于各廠商采用的視頻壓縮方法不同 (包括算法、參數(shù)定義等) ,導(dǎo)致解碼端回放必須采用廠商特定的工具,造成平臺開發(fā)商無法自定義播放標(biāo)準(zhǔn)。本SDK 能夠解決這個(gè)問題。通過特定接口,應(yīng)用層可以通過本 SDK獲取標(biāo)準(zhǔn)媒體數(shù)據(jù)(FOURCC(D'、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è)計(jì)原則2.1編程說明初始化和消除1、使用網(wǎng)絡(luò)客戶端軟件包首先調(diào)用CLIENT_Init()對系統(tǒng)進(jìn)行初始化,應(yīng)用程序退出時(shí)調(diào)用CLIENT

10、 Cleanup()釋放所有啟用的資源。2、大多數(shù)函數(shù)調(diào)用均應(yīng)該在 CLIENT Init() 之后,CLIENT Cleanup。之前,除了少數(shù)函數(shù),譬如 CLIENT_SetConnectTime() 在 CLIENT Init()之前調(diào)用,而CLIENT GetSDKVersion()可以在任何時(shí)候調(diào)用等等。操作句柄系統(tǒng)設(shè)計(jì)上多處使用了句柄概念,很多操作均針對句柄,如回放、下載以及語音 對講等。用戶登錄和注銷用戶在訪問前端設(shè)備之前必須通過調(diào)用CLIENT Login ()登錄到前端設(shè)備上,登錄成功后返回一個(gè)全局唯一的句柄。此句柄就像一個(gè)會(huì)話通道,之后該用戶可通 過此句柄訪問前端設(shè)備。退出

11、該會(huì)話時(shí)則通過CLIENT Logout()函數(shù)在前端設(shè)備上注銷此句柄以終止該會(huì)話通道的使用。建立連接與登錄是同步的。心跳功能在本開發(fā)包中提供自動(dòng)心跳功能(20秒一次心跳)當(dāng)設(shè)備斷開能及時(shí)回調(diào)給客戶端。同步與異步異步以設(shè)置回調(diào)函數(shù)來響應(yīng)網(wǎng)絡(luò)數(shù)據(jù),有些異步在設(shè)置后返回請求句柄,結(jié)束 請求時(shí)將請求句柄提供給SDK以注銷相關(guān)資源。SDK提供協(xié)議探測和轉(zhuǎn)換回調(diào)函數(shù)一般都有dwUser參數(shù),由用戶自定義需要的數(shù)據(jù),一般用來傳入類對象指針 方便回調(diào)處理在類中實(shí)現(xiàn),回調(diào)應(yīng)用都可以采取這種方式。2.2典型調(diào)用順序A.初始化SDK初始化CLIENT_Init()B. SDK功能設(shè)置或信息獲取設(shè)置連接等待時(shí)間CL

12、IENT_SetConnectTime()獲取SDK版本CLIENT_GetSDKVersion()設(shè)置消息回調(diào)CLIENT_SetDVRMessCallBack()設(shè)置自定義疊加畫板CLIENT_RigisterDrawFun()C.登錄連接設(shè)備登錄設(shè)備CLIENT_Login()開始偵聽CLIENT_StartListen()D.設(shè)備功能操作與信息獲取系統(tǒng)配置CLIENT_QueryConfig()獲取設(shè)備狀態(tài) 獲取協(xié)議信息 查詢狀取系統(tǒng)信息 查詢通道名稱 查詢?nèi)罩居脩艄芾鞟成拄制語音對講設(shè)置限流 透明串口CLIENT_SetupConfig() CLIENT_GetDEVWorkStat

13、e() CLIENT_QueryComProtocol() CLIENT_QuerySystemInfo() CLIENT_QueryChannelName() CLIENT_QueryLogCallback() CLIENT_QueryLog() CLIENT_QueryUserInfo() CLIENT_OperateUserInfo() CLIENT_PTZControl() CLIENT_DHPTZControl()CLIENT_StartTalk() CLIENT_SendTalkData_Custom() CLIENT_StopTalk() CLIENT_SetMaxFlux()C

14、LIENT_CreateTransComChannel() CLIENT_SendTransComData()CLIENT_DestroyTransComChanne()實(shí)時(shí)監(jiān)視通道打開監(jiān)視通道保存監(jiān)視圖像數(shù)據(jù) 監(jiān)視數(shù)據(jù)回調(diào)保存獲取視頻參數(shù)信息 設(shè)置修改視頻參數(shù) 強(qiáng)制I幀CLIENT_RealPlay() CLIENT_RealPlayEx() CLIENT_SaveRealData() CLIENT_SetRealDataCallBack() CLIENT_SetRealDataCallBackEx() CLIENT_ClientGetVideoEffect() CLIENT_ClientS

15、etVideoEffect() CLIENT_MakeKeyFrame()E.F.多畫面預(yù)覽通道打開多回向預(yù)覽CLIENT_MultiPlay()停止多回向預(yù)覽CLIENT_StopMultiPlay()G.回放/下載通道查詢錄像CLIENT_QueryRecordFile()回放及控制CLIENT_PlayBackByRecordFile() CLIENT_PlayBackByRecordFileEx() CLIENT_PlayBackByTime() CLIENT_PlayBackByTimeEx()CLIENT_GetPlayBackOsdTime() CLIENT_PausePlayB

16、ack() CLIENT_SeekPlayBack() CLIENT_StopPlayBack() CLIENT_StepPlayBack() CLIENT_FastPlayBack() CLIENT_SlowPlayBack() CLIENT_GetFramePlayBack() CLIENT_SetFramePlayBack()下載CLIENT_DownloadByRecordFile() CLIENT_DownloadByRecordFileEx() CLIENT_DownloadByTime() CLIENT_StopDownload()CLIENT GetDownloadPos()H

17、.針對顯示圖像的操作(監(jiān)視/回放/多畫面預(yù)覽)抓圖CLIENT_CapturePicture()碼流統(tǒng)計(jì)CLIENT_GetStatiscFlux()打開音頻CLIENT_OpenSound()攻直日里CLIENT_SetVolume()I.遠(yuǎn)程控制遠(yuǎn)程升級CLIENT_StartUpgrade錄像控制CLIENT_SendUpgrade CLIENT_StopUpgrade CLIENT_QueryRecordState系統(tǒng)校時(shí)CLIENT_SetupRecordStateCLIENT_QueryDeviceTimeIO控制CLIENT_SetupDeviceTimeCLIENT Query

18、IOControlStateCLIENT_IOControlJ.注銷斷開設(shè)備停止偵聽CLIENT_StopListen()斷開連接CLIENT_Logout()K.釋放SDK資源SDK 退出CLIENT_Cleanup()對D E、F、G T I中的功能大部分之間沒有調(diào)用先后順序,當(dāng)然對同一個(gè)功能還是 應(yīng)該按先打開再操作最后關(guān)閉的順序。3數(shù)據(jù)結(jié)構(gòu)定義3.1客戶端數(shù)據(jù)結(jié)構(gòu)通用云臺控制命令typedef enum _PTZ_ControlType PTZ_UP_CONTROL = 0,/上PTZ_DOWN_CONTROL,/下PTZ_LEFT_CONTROL,/左PTZ_RIGHT_CONTROL

19、,/右PTZ_ZOOM_ADD_CONTROL,/變倍+PTZ_ZOOM_DEC_CONTROL,/變倍-PTZ_FOCUS_ADD_CONTROL,/調(diào)焦+PTZ_FOCUS_DEC_CONTROL,/調(diào)焦-PTZ_APERTURE_ADD_CONTROL,/幾圈+PTZ_APERTURE_DEC_CONTROL,/兒園-PTZ_POINT_MOVE_CONTROL,/轉(zhuǎn)至預(yù)置點(diǎn)PTZ_POINT_SET_CONTROL,/設(shè)置PTZ_POINT_DEL_CONTROL,/刪除PTZ_POINT_LOOP_CONTROL,/點(diǎn)間輪循PTZ_LAMP_CONTROL,/燈光雨刷 PTZ_Con

20、trolType云臺控制擴(kuò)展命令typedef enum _EXTPTZ_ControlType EXTPTZ_LEFTTOP = 0X20, EXTPTZ_RIGHTTOP , EXTPTZ_LEFTDOWN , EXTPTZ_RIGHTDOWN, EXTPTZ_ADDTOLOOP, EXTPTZ_DELFROMLOOP, EXTPTZ_CLOSELOOP,EXTPTZ_STARTPANCRUISE, EXTPTZ_STOPPANCRUISE, EXTPTZ_SETLEFTBORDER, EXTPTZ_RIGHTBORDER , EXTPTZ_STARTLINESCAN, EXTPTZ_CL

21、OSELINESCAN, EXTPTZ_SETMODESTART, EXTPTZ_SETMODESTOP,EXTPTZ_RUNMODE, EXTPTZ_STOPMODE, EXTPTZ_DELETEMODE, EXTPTZ_REVERSECOMM, EXTPTZ_FASTGOTO, EXTPTZ_AUXIOPEN, EXTPTZ_AUXICLOSE, EXTPTZ_OPENMENU = 0X36, EXTPTZ_CLOSEMENU , EXTPTZ_MENUOK, EXTPTZ_MENUCANCEL, EXTPTZ_MENUUP, EXTPTZ_MENUDOWN, EXTPTZ_MENULEF

22、T, EXTPTZ_MENURIGHT, EXTPTZ_TOTAL, EXTPTZ_ControlType ;IO控制命令typedef enum _IOTYPE ALARMINPUT = 1, ALARMOUTPUT = 2, IOTYPE ;查 詢狀態(tài)類型/ 左上/ 右上/ 左下/ 右下/加入預(yù)置點(diǎn)到巡航巡航線路預(yù)置點(diǎn)值/刪除巡航中預(yù)置點(diǎn)巡航線路預(yù)置點(diǎn)值/ 清除巡航 巡航線路/開始水平旋轉(zhuǎn)/停止水平旋轉(zhuǎn)/設(shè)置左邊界/設(shè)置右邊界/開始線掃/停止線掃/設(shè)置模式開始模式線路/設(shè)置模式結(jié)束模式線路/運(yùn)行模式模式線路/停止模式模式線路/清除模式模式線路/翻轉(zhuǎn)命令/ 快速定位 水平坐標(biāo)垂直坐標(biāo)變倍/

23、x34 輔助開關(guān)開輔助點(diǎn)/ 0x35 輔助開關(guān)關(guān)輔助點(diǎn)/ 打開球機(jī)菜單/ 關(guān)閉菜單/ 菜單確定/ 菜單取消/ 菜單上/ 菜單下/ 菜單左/ 菜單右/ 最大命令值/ 報(bào)警輸入/ 報(bào)警輸出0x0001/ 查詢普通報(bào)警#define DH_DEVSTATE_COMM_ALARM#defineDH_DEVSTATE_SHELTER_ALARM0x0002/查詢遮擋報(bào)警#defineDH_DEVSTATE_RECORDING0x0003/查詢錄象狀態(tài)#defineDH_DEVSTATE_DISK0x0004/查詢硬盤狀態(tài)錯(cuò)誤類型代號,用于 GetLastError 函數(shù)的返回#define _EC(x)

24、#define NET_NOERROR0/沒有錯(cuò)誤#define NET_ERROR-1/未知錯(cuò)誤#define NET_SYSTEM_ERROR_EC(1)/Windows 系統(tǒng)出錯(cuò)#define NET_NETWORK_ERROR_EC(2)/網(wǎng)絡(luò)錯(cuò)誤#define NET_DEV_VER_NOMATCH_EC(3)/設(shè)備協(xié)議不匹配#define NET_INVALID_HANDLE_EC(4)/句柄無效#define NET_OPEN_CHANNEL_ERROR_EC(5)/打開通道失敗#define NET_CLOSE_CHANNEL_ERROR_EC(6)/關(guān)閉通道失敗#define

25、 NET_ILLEGAL_PARAM_EC(7)/用戶參數(shù)不合法#define NET_SDK_INIT_ERROR_EC(8)/SDK 初始化出錯(cuò)#define NET_SDK_UNINIT_ERROR_EC(9)/SDK 清理出錯(cuò)#define NET_RENDER_OPEN_ERROR_EC(10)/申請 render 資源出錯(cuò)#define NET_DEC_OPEN_ERROR_EC(11)/打開解碼庫出錯(cuò)#define NET_DEC_CLOSE_ERROR_EC(12)/關(guān)閉解碼庫出錯(cuò)#define NET_MULTIPLAY_NOCHANNEL_EC(13)/多畫面預(yù)覽中檢測到通

26、道數(shù)為0#define NET_TALK_INIT_ERROR_EC(14)/錄音庫初始化失敗#define NET_TALK_NOT_INIT_EC(15)/錄音庫未經(jīng)初始化#defineNET_TALK_SENDDATA_ERROR_EC(16)/發(fā)送音頻數(shù)據(jù)出錯(cuò)#define NET_REAL_ALREADY_SAVING_EC(17)/實(shí)時(shí)數(shù)據(jù)已經(jīng)處于保存狀態(tài)#define NET_NOT_SAVING_EC(18)/未保存實(shí)時(shí)數(shù)據(jù)#define NET_OPEN_FILE_ERROR_EC(19)/打開文件出錯(cuò)#define NET_PTZ_SET_TIMER_ERROR_EC(20

27、)/啟動(dòng)云臺控制定時(shí)器失敗#define NET_RETURN_DATA_ERROR_EC(21)/對返回?cái)?shù)據(jù)的校驗(yàn)出錯(cuò)#define NET_INSUFFICIENT_BUFFER_EC(22)/沒有足夠的緩存#define NET_NOT_SUPPORTED_EC(23)/當(dāng)前SDK未支持該功能#define NET_NO_RECORD_FOUND_EC(24)/查詢不到錄象#define NET_NOT_AUTHORIZED_EC(25)/無操作權(quán)限#define NET_NOT_NOW_EC(26)/暫時(shí)無法執(zhí)行#define NET_NO_TALK_CHANNEL_EC(27)/未發(fā)

28、現(xiàn)對講通道#define NET_NO_AUDIO_EC(28)/未發(fā)現(xiàn)音頻#define NET_AUDIOENCODE_NOTINI_EC(59)/音頻編碼接口沒有成功初始化#define NET_DATA_TOOLONGH_EC(60)/數(shù)據(jù)過長#define NET_LOGIN_ERROR_PASSWORD_EC(100)/密碼不正確#define NET_LOGIN_ERROR_USER_EC(101)/帳戶不存在#define NET_LOGIN_ERROR_TIMEOUT_EC(102)/等待登錄返回超時(shí)#define NET_LOGIN_ERROR_RELOGGIN_EC(10

29、3)/帳號已登錄#define NET_LOGIN_ERROR_LOCKED#define NET_LOGIN_ERROR_BLACKLIST#define NET_LOGIN_ERROR_BUSY#define NET_LOGIN_ERROR_CONNECT#define NET_LOGIN_ERROR_NETWORK#define NET_RENDER_SOUND_ON_ERROR#define NET_RENDER_SOUND_OFF_ERROR#define NET_RENDER_SET_VOLUME_ERROR#define NET_RENDER_ADJUST_ERROR#defin

30、e NET_RENDER_PAUSE_ERROR#define NET_RENDER_SNAP_ERROR#define NET_RENDER_STEP_ERROR#define NET_RENDER_FRAMERATE_ERROR#define NET_CONFIG_DEVBUSY#define NET_CONFIG_DATAILLEGAL_EC(104)/帳號已被鎖定_EC(105)/帳號已被列為黑名單_EC(106)/資源不足,系統(tǒng)忙,系統(tǒng)忙_EC(107)/連接主機(jī)失敗"_EC(108)/網(wǎng)絡(luò)連接失敗"_EC(120)/Render庫打開音頻出錯(cuò)_EC(121)/R

31、ender庫關(guān)閉音頻出錯(cuò)_EC(122)/Render庫控制音量出錯(cuò)_EC(123)/Render庫設(shè)置畫面參數(shù)出錯(cuò)_EC(124)/Render庫暫停播放出錯(cuò)_EC(125)/Render庫抓圖出錯(cuò)_EC(126)/Render庫步進(jìn)出錯(cuò)_EC(127)/Render庫設(shè)置幀率出錯(cuò)_EC(999)/暫時(shí)無法設(shè)置_EC(1000)/配置數(shù)據(jù)不合法/ 非實(shí)時(shí) MACE/ 非實(shí)時(shí)/ 網(wǎng)絡(luò)視頻服務(wù)器/ MPEG1 二路錄像機(jī)/ MPEG1 八路錄像機(jī)/ MPEG4 八路錄像機(jī)/ MPEG4 十六路錄像機(jī)/ MPEG4 視新十六路錄像機(jī)/ MPEG4 視通錄像機(jī)/ MPEG4 視豪錄像機(jī)/ MPEG4

32、 視通二代增強(qiáng)型錄像機(jī)/ MPEG4 網(wǎng)絡(luò)視頻服務(wù)器II代/ 新標(biāo)準(zhǔn)配置協(xié)議/DDNS服務(wù)器調(diào)函數(shù)類型#define COMM_ALARM0x1100/ 常規(guī)報(bào)警信息#define SHELTER_ALARM0x1101/ 視頻遮擋報(bào)警#define DISK_FULL_ALARM0X1102/ 硬盤滿報(bào)警#define DISK_ERROR_ALARM0x1103/ 硬盤故障報(bào)警#define SOUND_DETECT_ALARM0x1104/ 音頻檢測報(bào)警設(shè)備型號 (DVR 類型 )enum NET_DEVICE_TYPE NET_PRODUCT_NONE = 0, NET_DVR_NON

33、REALTIME_MACE, NET_DVR_NONREALTIME, NET_NVS_MPEG1, NET_DVR_MPEG1_2, NET_DVR_MPEG1_8, NET_DVR_MPEG4_8, NET_DVR_MPEG4_16,NET_DVR_MPEG4_SX2, NET_DVR_MEPG4_ST2, NET_DVR_MEPG4_SH2, NET_DVR_MPEG4_GBE,NET_DVR_MPEG4_NVSII, NET_DVR_STD_NEW, NET_DVR_DDNS,;3.1.1 設(shè)備信息結(jié)構(gòu)設(shè) 備結(jié)構(gòu)定義如下typedef struct BYTE sSerialNumber

34、SERIALNO_LEN;BYTE byAlarmInPortNum;BYTE byAlarmOutPortNum ;BYTE byDiskNum ;BYTE byDVRType ;BYTE byChanNum ; NET_DEVICEINFO, *LPNET_DEVICEINFO;3.1.2 時(shí)間信息typedef struct DWORD dwYear ;DWORD dwMonth ;DWORDdwDay ;DWORD dwHour;DWORD dwMinute ;DWORD dwSecond ; NET_TIME,*LPNET_TIME;3.1.3 錄像文件信息typedef struc

35、t unsigned intch ;charfilename128;unsigned intsize ;NET_TIMEstarttime;NET_TIMEendtime;unsigned intdriveno;unsigned intstartcluster; NET_RECORDFILE_INFO, *LPNET_RECORDFILE3.1.4 設(shè)備狀態(tài)信息設(shè) 備端通過回調(diào)主動(dòng)上傳的設(shè)備狀態(tài)結(jié)構(gòu)typedef struct intchannelcount;intalarminputcount;unsigned chardiskerrorMAX_DISKNUMunsigned char *r

36、ecord ;/ 序列號/DVR 報(bào)警輸入個(gè)數(shù)/DVR 報(bào)警輸出個(gè)數(shù)/DVR 硬盤個(gè)數(shù)/DVR 類型 ,/DVR 通道個(gè)數(shù)/ 年/ 月/ 日/ 時(shí)/ 分/ 秒/ 通道號/ 文件名/ 文件長度/ 開始時(shí)間/ 結(jié)束時(shí)間/ 磁盤號/ 起始簇號_INFO;/size:channelcountunsigned char *alarm ;/size:alarminputcountunsigned char *motiondection;unsigned char *videolost ; NET_CLIENT_STATE ;/size:channelcount/size:channelcount下為查詢的

37、設(shè)備工作狀態(tài)的相關(guān)結(jié)構(gòu)typedef struct BYTE byRecordStatic;/BYTE bySignalStatic;/BYTE byHardwareStatic ;/char reserve;/DWORD dwBitRate;/DWORD dwLinkNum;/DWORD dwClientIPMAX_LINK ;/通道是否在錄像,0- 不錄像 ,1- 錄像連接的信號狀態(tài),0- 正常 ,1- 信號丟失通道硬件狀態(tài),0- 正常 ,1- 異常 , 例如 DSP 死掉暫時(shí)無效實(shí)際碼率 , 暫時(shí)無效客戶端連接的個(gè)數(shù), 暫時(shí)無效客戶端的 IP 地址 , 暫時(shí)無效 NET_DEV_CHAN

38、NELSTATE,*LPNET_DEV_CHANNELSTATE;/ 硬盤的容量/ 硬盤的剩余空間/ 硬盤的狀態(tài), 休眠 , 活動(dòng) , 不正常等typedef struct DWORD dwVolume ;DWORD dwFreeSpace ;DWORD dwStatus ; NET_DEV_DISKSTATE,*LPNET_DEV_DISKSTATE;typedef structDWORD dwDeviceStatic ; / 設(shè)備狀態(tài) 0x00 正常 ,0x01 CPU 占用過高 , 0x02 硬件錯(cuò)誤NET_DEV_DISKSTATE stHardDiskStaticMAX_DISKNU

39、M;/ 設(shè)備暫時(shí)不支持NET_DEV_CHANNELSTATE stChanStaticMAX_CHANNUM ;/ 通道的狀態(tài)BYTE byAlarmInStaticMAX_ALARMIN; / 報(bào)警端口的狀態(tài)0- 無報(bào)警 ,1- 有報(bào)警BYTE byAlarmOutStaticMAX_ALARMOUT ;/ 報(bào)警輸出端口的狀態(tài)0- 無輸出 ,1- 有輸出DWORD dwLocalDisplay ;/ 本地顯示狀態(tài)0- 正常 ,1- 不正常 NET_DEV_WORKSTATE,*LPNET_DEV_WORKSTATE ;錄 像文件信息typedef struct unsigned intch

40、 ;/ 通道號charfilename128;/ 文件名unsigned intsize ;/ 文件長度NET_TIMEstarttime ;/ 開始時(shí)間NET_TIMEendtime ;/ 結(jié)束時(shí)間unsigned intdriveno ;/ 磁盤號unsigned intstartcluster;/ 起始簇號 NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;口協(xié)議信息 (232 和 485)typedef struct charprotocolname12;/協(xié)議名unsigned intbaudbase ;/波特率unsigned chardata

41、bits ;/數(shù)據(jù)位unsigned charstopbits ;/停止位unsigned charparity ;/校驗(yàn)位unsigned charreserve ; PROTOCOL_INFO,*LPPROTOCOL_INFO ;報(bào)警 IO 控制 (報(bào)警輸出和報(bào)警輸入使能 )typedef struct unsigned shortindex ;/端口序號unsigned shortstate ;/端口狀態(tài) ALARM_CONTROL;用 戶管理功能數(shù)據(jù)結(jié)構(gòu)用 戶管理功能數(shù)據(jù)結(jié)構(gòu)#define MAX_RIGHT_NUM100#define MAX_GROUP_NUM20#define M

42、AX_USER_NUM200#define RIGHT_NAME_LENGTH32#define USER_NAME_LENGTH8#define USER_PSW_LENGTH8#define MEMO_LENGTH32typedef struct DWORD dwID ;charnameRIGHT_NAME_LENGTH ;charmemoMEMO_LENGTH ; OPR_RIGHT ;typedef struct DWORDdwID ;DWORDdwGroupID ;charnameUSER_NAME_LENGTH ;charpassWordUSER_PSW_LENGTH ;DWORD

43、dwRightNum ;DWORDrightsMAX_RIGHT_NUM;charmemoMEMO_LENGTH; USER_INFO ;typedef struct DWORDdwID ;charnameUSER_NAME_LENGTH ;DWORDdwRightNum ;DWORDrightsMAX_RIGHT_NUM;charmemoMEMO_LENGTH; USER_GROUP_INFO ;SDK 返回的用戶信息結(jié)構(gòu)typedef struct DWORD OPR_RIGHT DWORDUSER_GROUP_INFODWORDUSER_INFO USER_MANAGE_INFO ;dw

44、RightNum ;rightListMAX_RIGHT_NUM dwGroupNum;groupListMAX_GROUP_NUM dwUserNum ;userListMAX_USER_NUM日 志信息1. 日志的結(jié)構(gòu)形式/ 時(shí)間結(jié)構(gòu)typedef struct _DHTIMEDWORD second:6;/秒1-60DWORD minute:6;/分1-60DWORD hour:5;/時(shí)1-24DWORD day:5;/日1-31DWORD month:4;/月1-12DWORD year:6;/年2000-2063 DHTIME,*pDHTIME ;/ 日志結(jié)構(gòu)struct LOG_I

45、TEMDHTIME time;/ 日期接口文檔 數(shù)字視頻錄像機(jī)網(wǎng)絡(luò)服務(wù)編程手冊公開WORDtype;/ 類型BYTEflag;/ 標(biāo)記 , 0x00 正常, 0x01 擴(kuò)展, 0x02 數(shù)據(jù)BYTEdata;/ 數(shù)據(jù)BYTEcontext8;/ 內(nèi)容;2. 日志的類型enum dh_log_t LOG_REBOOT = 0x0000,/system logsLOG_SHUT, LOG_CONFSAVE = 0x0100,/config logsLOG_CONFLOAD,LOG_FSERROR = 0x0200,/文件系統(tǒng)錯(cuò)誤LOG_HDD_WERR,/硬盤寫錯(cuò)誤LOG_HDD_RERR,/硬盤

46、讀錯(cuò)誤LOG_HDD_TYPE,/ 設(shè)置硬盤類型LOG_HDD_FORMAT, LOG_ALM_IN = 0x0300, /record/格式化硬盤/alarm logsLOG_MANUAL_RECORD_START = 0x0400, LOG_MANUAL_RECORD_STOP, /user manager LOG_LOGIN = 0x0500, LOG_LOGOUT, LOG_ADD_USER, LOG_DELETE_USER, LOG_MODIFY_USER, LOG_ADD_GROUP, LOG_DELETE_GROUP, LOG_MODIFY_GROUP, /clearLOG_CL

47、EAR = 0x0600, /record operation LOG_DOWNLOAD, LOG_PLAYBACK, LOG_TYPE_NR = 8, ;3.數(shù)據(jù)組織向客戶端傳遞所有日志信息,長度為/錄像下載/錄像回放N*日志結(jié)構(gòu)長度,N為日志的條數(shù)。查詢硬盤信息的返回?cái)?shù)據(jù)結(jié)構(gòu)typedef structDWORD dwDiskNum;/ 硬盤個(gè)數(shù)NET_DEV_DISKSTATE stDisksDH_MAX_DISKNUM; DH_HARDDISK_STATE,*LPDH_HARDDISK_STATE ;各硬盤信息音頻數(shù)據(jù)的格式結(jié)構(gòu)Typedef structBYTE byFormatTa

48、g;WORD nChannels;WORD wBitsPerSample;DWORD nSamplesPerSec;/編碼類型,0-PCM/聲道數(shù)/采樣深度/采樣率 DH_AUDIO_FORMAT, *LPDH_AUDIO_FORMAT3.1.5系統(tǒng)配置信息結(jié)構(gòu)目前提供了配置控件的方式配置設(shè)備4接口定義4.1 SDK初始化1. CLIENT_API DWORD CALL_METHOD CLIENT_GetLastError(void);函數(shù)說明:返回函數(shù)執(zhí)行失敗代碼,當(dāng)調(diào)用下面的接口失敗時(shí),可以用該函數(shù)獲取失敗的代碼,具體錯(cuò)誤代碼參見 錯(cuò)誤類型代號說明參數(shù)說明:返回值:返回相關(guān)函數(shù):典型應(yīng)用:

49、參加demotypedef void (CALLBACK *fDisConnect)(LONG lLoginID, char *pchDVRIP, LONG nDVRPort, DWORD dwUser);2. CLIENT_API BOOL CLIENT_Init(fDisConnectcbDisConnect,DWORD dwUser);函數(shù)說明:初始化SDK,在所有的SDK函數(shù)之前調(diào)用參數(shù)說明:cbDisConnect斷線回調(diào)函數(shù),回調(diào)出當(dāng)前網(wǎng)絡(luò)已經(jīng)斷開的設(shè)備,對主動(dòng)斷開的設(shè)備不回調(diào);設(shè)置為0時(shí)禁止回調(diào)dwUser用戶數(shù)據(jù)回調(diào)函數(shù)參數(shù)說明:lLoginIDCLIENT Login 的返回

50、值pchDVRIP設(shè)備IPnDVRPort端口dwUser用戶數(shù)據(jù),就是上面輸入的用戶數(shù)據(jù)返回值:成功返回TRUE,不成功返回FALSE相關(guān)函數(shù):CLIENT Cleanup典型應(yīng)用:在應(yīng)用程序初始化時(shí)調(diào)用3. CLIENT_API void CLIENT_Cleanup();函數(shù)說明:清空SDK,釋放占用的資源,在所有的 SDK函數(shù)之后調(diào)用。參數(shù):無返回值:無相關(guān)函數(shù):CLIENT Init典型應(yīng)用:在應(yīng)用程序關(guān)閉時(shí)調(diào)用4. CLIENT_API void CLIENT_SetConnectTime(int nWaitTime, int nTryTimes);函數(shù)說明:設(shè)置與設(shè)備的連接等待時(shí)間調(diào)用順序無關(guān),SDK默認(rèn)值為3000ms對外網(wǎng)一般需要增加到5000ms此值 不影響設(shè)備連接速度,只有當(dāng)網(wǎng)絡(luò)狀態(tài)不好時(shí)延長等待時(shí)間,可以提高連接成 功幾率。參數(shù)說明:nWaitTime連接等待時(shí)間,毫秒級nTryTimes連接次數(shù),暫時(shí)為無效值返回值:無相關(guān)函數(shù):CLIENT Login典型應(yīng)用:一般在應(yīng)用程序初始化時(shí)調(diào)用5. CLIENT_API DWORD CLIENT_GetSDKVersion();函數(shù)說明:得到SDK的版本號參數(shù):無返回值:版本號典型應(yīng)用:一般在應(yīng)用程序初始化時(shí)調(diào)用4.2 狀態(tài)偵聽type

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論