《二次開(kāi)發(fā)接口文檔.doc》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《二次開(kāi)發(fā)接口文檔.doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
接口開(kāi)發(fā)文檔
一、開(kāi)發(fā)包目錄結(jié)構(gòu)
1.1 demo 文件夾
包含了 sdk 接口調(diào)用源代碼,可供二次開(kāi)發(fā)參考。使用 C++開(kāi)發(fā)的 MFC 程序。
1.2 dll 文件夾
包含了二次開(kāi)發(fā)所需的所有動(dòng)態(tài)庫(kù),demo 編譯好的 exe 文件需要放在該文件夾內(nèi)才可 以運(yùn)行。
1.3 include 文件夾
包含了二次開(kāi)發(fā)所需要的頭文件。
1.4 lib 文件夾
包含了二次開(kāi)發(fā)所需要的 lib 靜態(tài)庫(kù)。
1.5 DSS 二次開(kāi)發(fā)指南(C++).pdf
指導(dǎo)二次開(kāi)發(fā)用戶(hù)如何新建 VS2005 工程運(yùn)行 demo 文件夾中的 demo。
1.6 Version.xml
dpsdk 開(kāi)發(fā)包的程序版本信息。
1.7 常見(jiàn)問(wèn)題解答.pdf
二次開(kāi)發(fā)常見(jiàn)問(wèn)題以及解決方式。
1.8 大華平臺(tái) SDK 開(kāi)發(fā)手冊(cè)(C++版).chm
二次開(kāi)發(fā)接口使用說(shuō)明。
二、術(shù)語(yǔ)和縮略語(yǔ)
1、 DPSDK:DSS 平臺(tái)二次開(kāi)發(fā) SDK 包
2、 CMS:中心管理服務(wù)
3、 DMS: 設(shè)備管理模塊
4、 demo:程序示例(功能類(lèi)似 DSS 平臺(tái)客戶(hù)端)
5、 web 管理員端:在瀏覽器中輸入 DSS 平臺(tái)的 ip 即可打開(kāi)管理員端
6、 CameraID:通道 id,形如:10000010$1$0$0 7、 DeviceID:設(shè)備 id
三、Demo 操作方法
3.1 運(yùn)行 demo
把“demo/bin/” 目錄下面的 3 個(gè)文件,如下圖所示
拷貝到“dll”文件夾下面,運(yùn)行Test_DPSDK_Core.exe。
3.2 登陸平臺(tái)
登陸界面如圖 1 所示,其中: IP:DSS 平臺(tái)
ip 地址; 端口:9000;
圖 1 登陸界面
用戶(hù)名:web 管理員端配置的用戶(hù);
密碼:web管理員端配置的用戶(hù)對(duì)應(yīng)的密碼。
點(diǎn)擊“登錄”按鈕,登陸平臺(tái)。登陸成功的界面如圖 2 所示:
1
2
3
5
圖 2 主界面
上圖選中的 5個(gè)模塊分別是:1、組織樹(shù);2、實(shí)時(shí)視頻;3、本地錄像;4、云臺(tái)操作;5、執(zhí)行結(jié)果。
3.3 主界面功能介紹
3.3.1、組織樹(shù)
操作步驟:點(diǎn)擊“加載所有組織結(jié)構(gòu)”按鈕 加載組織結(jié)構(gòu)是其他操作的前提,是為了獲取 DSS平臺(tái)上所有的設(shè)備信息。
3.3.2、實(shí)時(shí)視頻模塊
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入 CamID(通道 ID)。3)點(diǎn)擊“打開(kāi) 視頻”按鈕,即可打開(kāi)視頻。如果打開(kāi)視頻失敗會(huì)在“模塊5”的位置提示錯(cuò)誤碼。
注釋 1:CamID(通道 ID)的獲取方式有 1)展開(kāi)模塊 1 組織樹(shù),尋找到對(duì)應(yīng)的編碼器通道,即可看到該通道對(duì)應(yīng)的通道 ID;2)登陸 web 管理員端,選擇基本配置-設(shè)備管理-編碼器界 面,看到“編碼”列給出的是“設(shè)備 ID”。使用設(shè)備 ID 組成通道 ID 即:設(shè)備 ID$1$0$0。$1 代表編碼器,$0 代表單元序號(hào),默認(rèn)為 0,$0 代表通道號(hào)。具體信息參考“常見(jiàn)問(wèn)題解答”。
3.3.3、本地錄像模塊
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)成功打開(kāi)實(shí)時(shí)視頻。3)點(diǎn)擊“開(kāi)始錄像”按鈕即可開(kāi)始本地錄像。在打開(kāi)實(shí)時(shí)視頻以后可以錄像,并保存到本地磁盤(pán)。
3.3.4、云臺(tái)控制模塊
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)成功打開(kāi)實(shí)時(shí)視頻。 打開(kāi)實(shí)時(shí)視頻以后,針對(duì)球機(jī)設(shè)備可以操作八方向、調(diào)節(jié)球機(jī)鏡頭、設(shè)置預(yù)置點(diǎn)等。
3.3.5、執(zhí)行結(jié)果模塊
將所有操作的結(jié)果輸出。并輸出對(duì)應(yīng)的操作失敗錯(cuò)誤碼。
3.4 回放界面功能介紹
3.4.1 錄像查詢(xún)
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入 CameraID(通道 ID)。3)選擇查 詢(xún)的開(kāi)始和結(jié)束時(shí)間。4)選擇錄像來(lái)源。5)選擇錄像類(lèi)型。點(diǎn)擊“查詢(xún)錄像”按鈕查詢(xún)錄像。
3.4.2 錄像回放
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)查詢(xún)到錄像文件。3)選中錄 像文件,點(diǎn)擊“按文件回放”按鈕。
3.4.2 錄像下載
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)查詢(xún)到錄像文件。3)選中錄 像文件,點(diǎn)擊“按文件下載”按鈕。
3.5 報(bào)警功能
3.5.1 查詢(xún)報(bào)警
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入 CamID(通道 ID)。3)選擇報(bào)警 類(lèi)型,點(diǎn)擊“查詢(xún)”按鈕。
需 要 注 意 的 是 查 詢(xún) 視 頻 類(lèi) 報(bào) 警 ( 即: 視頻丟失 / 移動(dòng)偵測(cè) / 視頻遮擋) 時(shí) CamID 為1000001$1$0$0,查詢(xún)其他報(bào)警(除上述 3 種報(bào)警類(lèi)型)的時(shí)候 CamID 為 1000001$3$0$0。 因?yàn)橐曨l類(lèi)報(bào)警是由“視頻通道”產(chǎn)生,其他報(bào)警是由“報(bào)警輸入通道”產(chǎn)生。
3.5.2 報(bào)警布控
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入設(shè)備 ID。3)輸入通道號(hào),(視頻類(lèi)報(bào)警使用“視頻通道號(hào)”,其他報(bào)警使用“報(bào)警通道號(hào)”)。4)選擇報(bào)警類(lèi)型,點(diǎn)擊“布控” 按鈕即可。
注釋?zhuān)阂曨l類(lèi)報(bào)警類(lèi)型包含 1)視頻丟失 2)移動(dòng)偵測(cè) 3)視頻遮擋。
3.6 語(yǔ)音對(duì)講
3.6.1 打開(kāi)語(yǔ)音對(duì)講
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入 CamID(通道 ID),選擇對(duì)講參數(shù), 3)點(diǎn)擊“開(kāi)始語(yǔ)音對(duì)講”按鈕。
如果參數(shù)錯(cuò)誤會(huì)彈窗提示正確參數(shù)信息。
3.6.2 關(guān)閉語(yǔ)音對(duì)講
操作步驟:1)確保已經(jīng)成功打開(kāi)語(yǔ)音對(duì)講。2)點(diǎn)擊“根據(jù)序列號(hào)停止語(yǔ)音對(duì)講”或者“根據(jù)通道號(hào)停止語(yǔ)音對(duì)講”按鈕。
3.7 電視墻
目前Demo不能新建電視墻任務(wù),只能獲取平臺(tái)配置好的電視墻信息。電視墻的任務(wù)需要在平臺(tái)客戶(hù)端添加。
3.7.1 電視墻操作
操作步驟:1)確保已經(jīng)成功加載組織樹(shù)。2)點(diǎn)擊“獲取電視墻總數(shù)”按鈕。3)點(diǎn)擊“獲取電視墻信息”按鈕。4)選擇電視墻ID。5)點(diǎn)擊“獲取電視墻布局”按鈕。即可顯示電視墻對(duì)應(yīng)的屏幕分割信息。
上圖顯示 ID 為 3 的電視墻的名字是 tt 狀態(tài)是 1(代表啟用)。電視墻有 4 塊屏幕,屏 id、 屏名稱(chēng)、屏坐標(biāo)、是否綁定解碼器(1_1000943 代表綁定解碼器,解碼器 id 為 1000943)。
3.7.2 屏幕分割和開(kāi)窗操作
操作步驟:1)確保已經(jīng)成功獲取到電視墻屏幕信息。2)選擇一個(gè)屏幕。3)執(zhí)行分割和開(kāi)窗操作。所有的融合屏
都只做開(kāi)窗。非融合和融合的 NVD 都只做分割。
開(kāi)窗操作(left,上)代表窗口左上角坐標(biāo),width 和 Height 代表寬和高的比例,范圍是0-100。例如:(left,上)為(0,0);(width,Height)為(50,50)。
3.7.3 設(shè)置視頻源操作
操作步驟:1)確保已經(jīng)成功獲取到電視墻屏幕信息。2)輸入編碼器通道 ID。3)輸入窗口號(hào)(分割和開(kāi)窗操作的窗口號(hào)從0開(kāi)始)。4)點(diǎn)擊“設(shè)置”按鈕。5)點(diǎn)擊“關(guān)閉”按鈕清除窗口視頻源。6)點(diǎn)擊“清屏”按鈕清除所有屏幕上的窗口和視頻源。
四、常見(jiàn)問(wèn)題
1 概述
本文檔列出了使用大華 SDK 進(jìn)行二次開(kāi)發(fā)時(shí)出現(xiàn)的常見(jiàn)問(wèn)題以及對(duì)應(yīng)的解決方法。方 便第三方開(kāi)發(fā)者快速定位問(wèn)題,提高二次開(kāi)發(fā)效率。
2 問(wèn)題列表
2.1 WebDemo 問(wèn)題匯總
2.1.1 在 IE 瀏覽器中打開(kāi) webDemo 視頻窗口顯示
因?yàn)闆](méi)有注冊(cè) ocx。在 ocx 文件夾中雙擊 reg.bat 只有提示注冊(cè)成功才可以。
2.2 OCX 控件問(wèn)題匯總
2.2.1 OCX 無(wú)法注冊(cè)
1、OCX控件時(shí)微軟推出已久的技術(shù),其注冊(cè)方法及出錯(cuò)原因可在微軟官方文檔上查詢(xún),或 者可以自行在網(wǎng)上查找解決方法。OCX 注冊(cè)問(wèn)題本不屬于 DPSDK 支持范疇。 2、不過(guò)我們還是提供一些建議,以便您快速排除問(wèn)題:
(1)用“管理員權(quán)限”打開(kāi)“開(kāi)始”-“附件”-“命令提示符”,輸入“regsvr32 ocx 的 全路徑”即可。
(2)我們提供的 OCX 控件是 32 位程序,請(qǐng)確保系統(tǒng)有 32 位兼容庫(kù),具體判斷方法為 C:\Windows\SysWOW64 這個(gè)文件夾下是否有“regsvr32.exe”這個(gè)文件,若沒(méi)有,請(qǐng)重新安 裝系統(tǒng)。若有,請(qǐng)按(1)中的方式打開(kāi)命令提示符,輸入“c:\windows\SysWOW64\regsvr32 ocx 全 路 徑 ” 即 可 , 如 “ c:\windows\SysWOW64\regsvr32 Z:\DPSDK_OCX\ocx\DPSDK_OCX.ocx ”
如以上 2 點(diǎn)仍然沒(méi)有能夠成功注冊(cè),請(qǐng)?jiān)诰W(wǎng)上,根據(jù)自己的系統(tǒng)信息自行搜索解決方案。 3、在注冊(cè) dll 或者 ocx 的時(shí)候,經(jīng)常會(huì)遇到這么一個(gè)問(wèn)題:模塊已加載,但對(duì) dllregisterServer 的調(diào)用失敗,錯(cuò)誤代碼為 0x8004*****
解決方法:在批處理的第一行加入:cd /d %~dp0 然后在批處理上右鍵選擇使用管理員權(quán)限 運(yùn)行
4、Windows7 出現(xiàn):應(yīng)用程序無(wú)法啟動(dòng),因?yàn)閼?yīng)用程序的并行配置不正確有關(guān)詳細(xì)信息,請(qǐng)參 閱應(yīng)用程序事件日志,或使用命令行 sxstrace.exe 工具。” 解決方法:出現(xiàn)這個(gè)問(wèn)題是因?yàn)榘惭b windows7 后,或使用 ghost 版本安裝后, windows7 沒(méi)有安裝 Visual C++ 庫(kù),而有些軟件需要 Visual C++ 庫(kù)所以到微軟官方網(wǎng)站下載:Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) 下 載 :
http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14
-984D-389C36F85647&displaylang=zh-cn 安裝
2.2.2 64 位系統(tǒng)下 OCX 無(wú)法使用
目前 OCX 控件只有 32 位的程序,所以在 64 位系統(tǒng)下,需要下載 32 位的 IE,用 32 位的 IE
加載 OCX 控件即可。
2.2.3 Ocx 注冊(cè)成功但是在頁(yè)面加載失敗
運(yùn)行 IE,工具->Internet 選項(xiàng)->安全,確保 Internet 和本地 Intranet 和可信站點(diǎn)的自定義級(jí)別中 的 ActiveX 選項(xiàng)都不是禁止?fàn)顟B(tài),將禁止?fàn)顟B(tài)改為提示狀態(tài)。
2.2.4 Ocx 開(kāi)發(fā)包 demo 程序運(yùn)行不起來(lái)
DPSDK_OCX.ocx 未注冊(cè),可以采用一下兩種方法注冊(cè): 運(yùn)行->CMD,regsvr32 DPSDK_OCX.ocx 絕對(duì)路徑
運(yùn)行 ocx 開(kāi)發(fā)包文件夾里面的 reg.bat 批處理,注意:DPSDK_OCX.ocx 必須要和 reg.bat 放 在同一個(gè)路徑。
如果仍舊注冊(cè)失敗需要安裝 vs 發(fā)布包,vcredist_x86.exe,可以從微軟官網(wǎng)上直接下載
2.2.5 如何獲通道 ID(CameraID)
在瀏覽器輸入 DSS 平臺(tái)的 ip 打開(kāi) web 管理員端,用管理員身份登錄平臺(tái),找到“基本 設(shè)置”-“設(shè)備管理”-“編碼器”頁(yè)面的“編碼”列是所有的設(shè)備 ID。而 CameraID 的格式 為:"設(shè)備 ID$1$0$通道號(hào)",如設(shè)備 ID 為“1000000”,且設(shè)備下有 3 個(gè)視頻通道,那么這 3 個(gè) CameraID 為"1000000$1$0$0"、"1000000$1$0$1"、"1000000$1$0$2"。
2.2.6 是否可以不加載組織結(jié)構(gòu)
不調(diào)用 DPSDK_LoadDGroupInfo 也是可以的,但僅限于實(shí)時(shí)視頻、錄像回放,其他操作,如操作云臺(tái)等功能無(wú)法使用。方法是 Get_RealStream_Info_t中的nRight設(shè)置為 DPSDK_CORE_NOT_CHECK_RIGHT 即可。
2.2.7 OCX 無(wú)法保存抓圖或創(chuàng)建文件夾失敗
win7 系統(tǒng)的安全控制導(dǎo)致 OCX 控件無(wú)法創(chuàng)建文件夾。需要使用administrator 賬號(hào)登陸
win7系統(tǒng)開(kāi)發(fā)使用(有管理員權(quán)限的普通賬戶(hù)也不行)。
2.2.8 OCX 控件收不到報(bào)警
1)需要先調(diào)用布控報(bào)警DPSDK_EnableAlarm。 2)其次平臺(tái)或者設(shè)備觸發(fā)報(bào)警。
2.2.9 OCX 請(qǐng)求視頻沒(méi)有聲音
需要打開(kāi)音頻(DPSDK_OpenAudioByWndNo,DPSDK_OpenAudioByHWND)
2.2.10 加載監(jiān)控視頻成功時(shí)瀏覽器會(huì)死掉
瀏覽器兼容問(wèn)題,目前 ocx 控件主要針對(duì) IE8/IE9 環(huán)境。
2.2.11 IE 瀏覽器加載視頻成功,其他瀏覽器無(wú)法加載
瀏覽器兼容問(wèn)題,其他基于 IE 內(nèi)核或者多核模式的瀏覽器(遨游,360,搜狗瀏覽器等)需要選擇兼容模式瀏覽。
2.2.12 OCX 操作導(dǎo)致 IE 崩潰
目前 OCX 中我們已經(jīng)集成了在崩潰時(shí)生成 crash dump 的功能,OCX 崩潰時(shí)會(huì)彈出對(duì)話(huà) 框提示 dump 生成的位置,用戶(hù)只需在此位置下找到.dmp 文件,然后將對(duì)應(yīng)的 pdb 文件一同 發(fā)送給我們即可。
2.2.13 目前 OCX 只支持 ie8 32 位瀏覽器
在頁(yè)面中加上, 讓 IE 瀏覽器以兼容 IE8 方式運(yùn)行。
2.2.14 一路視頻對(duì)應(yīng)兩路音頻情況缺少音頻通道標(biāo)識(shí)
DPSDK_OCX之前的開(kāi)發(fā)包中已經(jīng)提供了多音頻通道的接口, DPSDK_GetAudioChannelsByWndNo // 獲取音頻通道數(shù) DPSDK_GetAudioChannelStateByWndNo // 獲取某個(gè)音頻通道的狀態(tài) DPSDK_SetAudioChannelByWndNo // 打開(kāi)某個(gè)音頻通道 界面上的按鈕只是單純的音頻開(kāi)關(guān),客戶(hù)如需切換聲道,需要手動(dòng)調(diào)用以上幾個(gè)接口。
2.2.15 DPSDK_SeekPlaybackBySeqByWndNo 無(wú)法定位海康錄像
底層播放庫(kù)不支持??典浵竦亩ㄎ徊僮鳎贿^(guò)可以通過(guò)以下操作替代,以實(shí)現(xiàn)一個(gè)進(jìn)度 條為例:
拖動(dòng)進(jìn)度條時(shí),直接先關(guān)閉回放,再以進(jìn)度條的當(dāng)前時(shí)間重新按時(shí)間請(qǐng)求回放。此時(shí)由 于 重 新 請(qǐng) 求 , DPSDK_GetPlaybackPosByWndNo 等接口獲取的進(jìn)度不準(zhǔn) 確,改用DPSDK_GetFrameTimeByWndNo 直接獲取幀時(shí)間,然后保存下最初的開(kāi)始和結(jié)束時(shí)間,即可計(jì) 算正確的進(jìn)度。
2.2.16 DPSDK 斷線(xiàn)重連,不能打開(kāi)視頻
需要重新加載組織結(jié)構(gòu)(即在 OnDevStatusEvent 中,當(dāng)收到重連成功的事件后,調(diào)用 DPSDK_LoadDGroupInfo)。
2.2.17 NVR 設(shè)備狀態(tài)和通道狀態(tài)不同
NVR的通道狀態(tài)需要通過(guò)訂閱才能實(shí)時(shí)返回通道狀態(tài)。設(shè)備在線(xiàn),不一定通道在線(xiàn)。 OCX:ChannelStatusCallback。
2.2.18 YUV 碼流接口不支持??翟O(shè)備
Ext 層的 YUV 碼流的相關(guān)接口,只支持大華設(shè)備。不支持??翟O(shè)備。
2.2.19 接口返回某個(gè)錯(cuò)誤碼的含義
1)接口返回 1010 錯(cuò)誤是因?yàn)槌瑫r(shí)時(shí)間太短可以嘗試增加接口超時(shí)時(shí)間,特別是廣域網(wǎng)上操作。 2)調(diào)用DPSDK_StartRealplayByWndNo 返回 3502,3600 錯(cuò)誤 未選中窗口或者窗口失去焦點(diǎn)。
3)返回其它錯(cuò)誤碼 我們開(kāi)發(fā)文檔里面有針對(duì)錯(cuò)誤碼的介紹。搜索一下錯(cuò)誤碼即可。
2.3 DPSDK_DLL 版本問(wèn)題匯總
2.3.1 通道 ID(CameraID)介紹
通道 ID(CameraID)形如:1000010$1$0$0,其中
1)1000010 是設(shè)備 ID,該設(shè)備 ID 可以在平臺(tái) web 管理員端“基本配置-設(shè)備管理”頁(yè)面的 “編碼”列查詢(xún)。
2)$1 代表的是單元類(lèi)型。1 是編碼單元、2 是解碼單元、3 是報(bào)警輸入單元、4 是報(bào)警輸出 單元。實(shí)時(shí)視頻都是$1。
3)$0 默認(rèn)全寫(xiě) 0,代表的是單元類(lèi)型的序號(hào)。
4)$0 這個(gè)代表的是通道序號(hào)。從 0 開(kāi)始計(jì)算。比如一個(gè)設(shè)備有 8 個(gè)通道,則通道序號(hào)是 0-7.
2.3.2 如何獲通道 ID(CameraID)
1)DPSDK_DLL 開(kāi)發(fā)包中,有 demo 程序,demo 程序中登錄后,選擇“分級(jí)加載組織結(jié)構(gòu)”, 即可看到組織和設(shè)備樹(shù)。雙擊直到最后一層即為 CameraId。demo 我們提供了源碼,你可以 根據(jù)源碼進(jìn)行開(kāi)發(fā),源碼中涉及到的函數(shù)在開(kāi)發(fā)文檔中都有詳細(xì)說(shuō)明。2)在瀏覽器中,用管理員身份登錄平臺(tái),可以看到所有的設(shè)備 ID。而編碼器 CameraID 的 格式為:"設(shè)備 ID$1$0$通道號(hào)",如設(shè)備 ID 為“1000000”,且設(shè)備下有 3 個(gè)通道,那么這 3 個(gè) CameraID 為"1000000$1$0$0"、"1000000$1$0$1"、"1000000$1$0$2"。
2.3.3 NVR 設(shè)備狀態(tài)和通道狀態(tài)不同
NVR的通道狀態(tài)需要通過(guò)訂閱才能實(shí)時(shí)返回通道狀態(tài)。設(shè)備在線(xiàn),不一定通道在線(xiàn)。 dll:DPSDK_SetDPSDKNVRChnlStatusCallback。
2.3.4 登錄之后打開(kāi)視頻返回 rtsp 建立失敗
如果是內(nèi)外網(wǎng)環(huán)境,可能網(wǎng)絡(luò)環(huán)境不正確。
2.4 Android SDK 問(wèn)題匯總
2.5 IOS SDK 問(wèn)題匯總
2.5.1 點(diǎn)擊實(shí)時(shí)預(yù)覽崩潰
可能是播放庫(kù)太老,需要更新播放庫(kù)。
2.6 其它
2.6.1 設(shè)備通道 ID(CameraID)如何獲?。?
獲取方式:
方法 1.打開(kāi) DPSDK 對(duì)應(yīng)的 Demo,加載組織樹(shù),展開(kāi)對(duì)應(yīng)的組織節(jié)點(diǎn),找到設(shè)備即可看 到通道 ID
方法 2.通道 ID 格式為:“設(shè)備 ID $1$0$通道號(hào)”。比如設(shè)備 ID 為 1000001,對(duì)應(yīng)第一 個(gè)視頻通道 ID 為 1000001$1$0$0,對(duì)應(yīng)第二個(gè)視頻通道為 1000001$1$0$1,依次類(lèi)推。
設(shè)備 ID 可以從 DSS 管理員端“設(shè)備管理”頁(yè)面獲取。在管理員模式下,使用 system 用戶(hù)登陸進(jìn)入:基本設(shè)置->設(shè)備管理查看設(shè)備ID。
通道號(hào):對(duì)于 IPC 設(shè)備,只有一個(gè)通道,通道號(hào)只有 0;對(duì)于 DVR 設(shè)備,有多個(gè)通道, 具體的通道個(gè)數(shù)是在 web 管理員平臺(tái)上配的,比如配了 4 個(gè)通道,通道號(hào)依次為 0,1,2,3。
2.6.1 模擬器實(shí)時(shí)預(yù)覽花屏
播放庫(kù)對(duì)模擬器支持不全,實(shí)時(shí)和回放需要在真機(jī)上運(yùn)行。
2.6.2 目前 DPSDK 不接受 UI 界面相關(guān)的定制開(kāi)發(fā),用戶(hù)需要自己實(shí)現(xiàn) UI
界面
2.6.3 目前提供的 DPSDK 相關(guān) Demo 只有 C++版
2.6.4 DPSDK 二次開(kāi)發(fā)郵箱 dh_dss_sdk@dahuatech.com 暫不提供研發(fā) 手機(jī)號(hào)碼
2.6.5 現(xiàn)在只維護(hù)平臺(tái)是 3.0 以后的 dpsdk
2.X 平臺(tái)的 dpsdk 已經(jīng)不再維護(hù)。
2.6.6 打開(kāi)視頻的接口
有兩種打開(kāi)視頻的接口:
1)使用 ext 層,用戶(hù)不需要關(guān)心碼流,VaxPlayer 庫(kù)解析之。
2)不使用 ext層,設(shè)置碼流回調(diào)函數(shù),客戶(hù)可以拿到碼流。DPSDK_GetRealStream() pDlg->PostMessage(WM_MEDIADATA_CB, nSeq, 0)
CWndPlayer::OnMediaDataCallback(WPARAM wParam, LPARAM lParam)
2.6.7 按時(shí)間回放功能
1)按時(shí)間回放平臺(tái)錄像,由于平臺(tái)存在問(wèn)題,相關(guān)功能會(huì)出現(xiàn) bug。不建議用戶(hù)使用 該功能。
2)按時(shí)間回放設(shè)備錄像沒(méi)有問(wèn)題。
2.6.8 平臺(tái)回調(diào)上來(lái)的碼流
平臺(tái)回調(diào)上來(lái)的碼流是 PS 流+大華頭。直接使用 vaxPlayer 播放。如果前端是??翟O(shè)備回調(diào)上來(lái)的碼流是大華頭+??盗?。需要使用 mediaParser 庫(kù)去掉大華頭在用 vaxPlayer 播放或者使用??档牟シ艓?kù)播放。
2.6.9 組織樹(shù) xml 中 status 字段不準(zhǔn)確
加載組織樹(shù)以后可以拿到組織樹(shù) xml,設(shè)備信息中的 status 字段無(wú)法正確顯示設(shè)備的狀 態(tài)。需要注冊(cè)設(shè)備狀態(tài)回調(diào)函數(shù)來(lái)實(shí)時(shí)獲取設(shè)備的狀態(tài)。
接口:DPSDK_SetDPSDKDeviceStatusCallback()初始化設(shè)置回調(diào)。在登陸平臺(tái)的時(shí) 候會(huì)收到設(shè)備狀態(tài),任何設(shè)備狀態(tài)改變后會(huì)再次回調(diào)上來(lái)。
NVR 通道狀態(tài)比較特殊,因?yàn)?NVR 設(shè)備在線(xiàn)的時(shí)候,通道狀態(tài)可以是離線(xiàn)的。需要使 用接口:DPSDK_SetDPSDKNVRChnlStatusCallback()
2.6.10 設(shè)備狀態(tài)和通道狀態(tài)
1、設(shè)備在線(xiàn)狀態(tài)需要設(shè)置回調(diào)函數(shù):DPSDK_SetDPSDKDeviceStatusCallback()在登陸平臺(tái)時(shí) DMS 會(huì)推送設(shè)備狀態(tài),設(shè)備狀態(tài)改變 DMS 也會(huì)推送設(shè)備狀態(tài)上來(lái)。
2、大部分設(shè)備狀態(tài)和通道狀態(tài)是一致的。只有 NVR 設(shè)備存在通道狀態(tài)因?yàn)?NVR 設(shè)備 在線(xiàn),通道可能離線(xiàn)。登陸平臺(tái) DMS 不會(huì)主動(dòng)推送 NVR 通道狀態(tài),需要客戶(hù)端主動(dòng)查詢(xún)。 登陸平臺(tái)以后 NVR 通道狀態(tài)變化 DMS 會(huì)主動(dòng)推送上來(lái)進(jìn)入回調(diào)函數(shù)。使用接口:1)通道狀態(tài)改變回調(diào) DPSDK_SetDPSDKNVRChnlStatusCallback()
2)查詢(xún)通道狀態(tài) DPSDK_QueryNVRChnlStatus()
2.6.11 電視墻開(kāi)窗和分割
所有的融合屏都只做開(kāi)窗。非融合和融合的 NVD 都只做分割。
2.6.12 日志等級(jí)
ERROR > WARNING > INFO > DEBUG
設(shè)置為 INFO 會(huì)顯示 error,warning,info
2.6.13 卡口過(guò)車(chē)數(shù)據(jù)和違章報(bào)警功能說(shuō)明
1、違章報(bào)警只需要設(shè)置回調(diào)函數(shù),不需要訂閱 DPSDK_SetDPSDKTrafficAlarmCallback() DPSDK_CMD_BAY_DPALARM_NOTIFY, // 違章報(bào)警
Alarm_4JT_PictureLink_Struct
2、卡口過(guò)車(chē)數(shù)據(jù)需要設(shè)置回調(diào)函數(shù)并訂閱 DPSDK_SetDPSDKGetBayCarInfoCallback() DPSDK_SubscribeBayCarInfo()
卡口過(guò)車(chē)圖片數(shù)據(jù)是 picSDK 回調(diào)上來(lái)的
EAS_SetPictureCallBack(mPicCallBack, this);
2.6.14 查詢(xún)報(bào)警
操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入 CamID(通道 ID)。3)選擇報(bào)警 類(lèi)型,點(diǎn)擊“查詢(xún)”按鈕。
需要注意的是查詢(xún)視頻類(lèi)報(bào)警(即:視頻丟失/移動(dòng)偵測(cè)/視頻遮擋)時(shí) CamID 為 1000001$1$0$0,查詢(xún)其他報(bào)警(除上述 3 種報(bào)警類(lèi)型)的時(shí)候 CamID 為 1000001$3$0$0。 因?yàn)橐曨l類(lèi)報(bào)警是由“視頻通道”產(chǎn)生,其他報(bào)警是由“報(bào)警輸入通道”產(chǎn)生。
2.6.15 VLC 使用 URL 拉流
-B 3.11 之前的版本是不支持 RTSP URL 拉流的
鏈接地址:http://m.jqnhouse.com/p-6628809.html