基于sdk抽象層的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通用接入方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種調(diào)用接入方法及裝置,尤其是一種基于SDK抽象層的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通用接入方法及裝置,屬于網(wǎng)絡(luò)視頻監(jiān)控設(shè)備聯(lián)網(wǎng)應(yīng)用的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]隨著視頻監(jiān)控應(yīng)用的深入和視頻監(jiān)控的網(wǎng)絡(luò)化應(yīng)用,產(chǎn)業(yè)鏈的分工將越來(lái)越細(xì)。有些廠商專門(mén)做攝像頭,有些廠商專門(mén)做DVS,有些廠商則可能專門(mén)做平臺(tái)等,然后通過(guò)集成商進(jìn)行集成,提供給最終客戶。這種產(chǎn)業(yè)合作模式,已經(jīng)迫切的需要行業(yè)提供越來(lái)越標(biāo)準(zhǔn)化的接口平臺(tái)。
[0003]當(dāng)前,視頻監(jiān)控標(biāo)準(zhǔn)層出不窮,從公安部的標(biāo)委會(huì)到電信運(yùn)行商,從城市到不同行業(yè)都有各自獨(dú)立的標(biāo)準(zhǔn),而實(shí)現(xiàn)這些標(biāo)準(zhǔn)既費(fèi)時(shí)又費(fèi)力,使得設(shè)備廠商無(wú)所適從。為此,陸續(xù)有多家致力于標(biāo)準(zhǔn)化建設(shè)工作的組織成立,如0NVIF、PISA和HDcctv等。這些標(biāo)準(zhǔn)化工作包括標(biāo)準(zhǔn)化的控制協(xié)議,標(biāo)準(zhǔn)化的流媒體傳輸協(xié)議,統(tǒng)一的編碼格式,可靠的存儲(chǔ)技術(shù)等。但在應(yīng)用解決方案層,沒(méi)有統(tǒng)一的SDK(Software Development Kit,軟件開(kāi)發(fā)包)開(kāi)發(fā)工具。
[0004]網(wǎng)絡(luò)視頻監(jiān)控設(shè)備SDK是基于設(shè)備的私有網(wǎng)絡(luò)通信協(xié)議開(kāi)發(fā)的,是軟件開(kāi)發(fā)者在開(kāi)發(fā)網(wǎng)絡(luò)硬盤(pán)錄像機(jī)、網(wǎng)絡(luò)視頻服務(wù)器、網(wǎng)絡(luò)攝像機(jī)、網(wǎng)絡(luò)球機(jī)、智能設(shè)備等網(wǎng)絡(luò)視頻監(jiān)控設(shè)備監(jiān)控聯(lián)網(wǎng)應(yīng)用時(shí)的開(kāi)發(fā)套件,用于遠(yuǎn)程訪問(wèn)和控制設(shè)備軟件的二次開(kāi)發(fā)。
[0005]在現(xiàn)有的文獻(xiàn)中,已有一些視頻監(jiān)控設(shè)備聯(lián)網(wǎng)的方法,大部分方法是從底層的通信協(xié)議(如ONVIF、SIP、GB/T 28181、私有協(xié)議等)出發(fā),未對(duì)SDK統(tǒng)一接入和被調(diào)用的角度分析理解,現(xiàn)有的通信協(xié)議只能用于視頻監(jiān)控設(shè)備廠商之間做集成,軟件系統(tǒng)開(kāi)發(fā)商并不需要了解底層通信協(xié)議,因此軟件系統(tǒng)開(kāi)發(fā)商在集成視頻監(jiān)控設(shè)備聯(lián)網(wǎng)二次開(kāi)發(fā)應(yīng)用時(shí)面對(duì)的難度會(huì)加大,特別是在調(diào)用不同廠商的私有SDK協(xié)議。
[0006]公告號(hào)為CN 201928306 U的文件公開(kāi)一種視頻聯(lián)網(wǎng)管理系統(tǒng),包括:至少一個(gè)客戶端、IP網(wǎng)絡(luò)及DVR設(shè)備,還包括視頻聯(lián)網(wǎng)管理服務(wù)器,用于管理員用戶添加、修改、刪除及DVR設(shè)備,對(duì)用戶進(jìn)行授權(quán),賦予用戶視頻瀏覽、錄像回放、云臺(tái)控制、遠(yuǎn)程設(shè)置權(quán)限,所述客戶端、DVR設(shè)備及視頻聯(lián)網(wǎng)管理服務(wù)器通過(guò)IP網(wǎng)絡(luò)通信連接。所述公開(kāi)文件主要用于視頻設(shè)備的聯(lián)網(wǎng),雖有聯(lián)網(wǎng)需求,但并未涉及視頻設(shè)備聯(lián)網(wǎng)的通信協(xié)議。
[0007]公告號(hào)為CN 102905165 B的文件公開(kāi)了一種視頻管理平臺(tái)互聯(lián)互通的視頻聯(lián)網(wǎng)服務(wù)前置機(jī),包括有:視頻前置機(jī)、配置客戶端和視頻管理平臺(tái):其中視頻前置機(jī)由模擬視頻采集、轉(zhuǎn)換模塊、通用消息模塊、數(shù)字視頻接收、轉(zhuǎn)換模塊、視頻診斷模塊、控制協(xié)議網(wǎng)關(guān)、
H.264編碼模塊和通信控制協(xié)議接口模塊構(gòu)成;配置客戶端通過(guò)視頻管理平臺(tái)實(shí)現(xiàn)與視頻前置機(jī)信息交互,完成對(duì)前置機(jī)的配置和操作維護(hù)。該視頻聯(lián)網(wǎng)服務(wù)前置機(jī)能夠輸出支持0NVIF和GB/T 28181標(biāo)準(zhǔn)協(xié)議,輸入支持各種異構(gòu)系統(tǒng)私有的協(xié)議,為異構(gòu)視頻系統(tǒng)的互聯(lián)互通提供了廣泛的媒體資源的支持;同時(shí)配置靈活、方便,網(wǎng)絡(luò)適應(yīng)性強(qiáng),視頻數(shù)據(jù)安全可靠。所述公開(kāi)文件的主要目的是解決異構(gòu)視頻系統(tǒng)的聯(lián)網(wǎng),并提供輸出支持0NVIF和GB/T28181標(biāo)準(zhǔn)協(xié)議,對(duì)異構(gòu)視頻的SDK的統(tǒng)一封裝和調(diào)用并未涉及。
[0008]公開(kāi)號(hào)為CN 103179387 A的文件公開(kāi)了一種公路數(shù)字化視頻聯(lián)網(wǎng)監(jiān)控管理控制方法,路段分中心與應(yīng)急中心間的視頻互聯(lián),應(yīng)急中心采用支持SIP協(xié)議的系統(tǒng),采用SIP和非SIP兩種方式進(jìn)行信令和數(shù)據(jù)傳輸。所述公開(kāi)文件與公告號(hào)為CN 102905165 B的文件基本類似,主要是基于SIP協(xié)議的視頻接入,并未涉及在SDK應(yīng)用層的視頻接入。
[0009]以上三項(xiàng)文件都涉及視頻監(jiān)控設(shè)備的聯(lián)網(wǎng)。目前,國(guó)內(nèi)外對(duì)視頻監(jiān)控設(shè)備聯(lián)網(wǎng)的研究均為視頻監(jiān)控設(shè)備在底層傳輸協(xié)議提供了思路,統(tǒng)一的SDK視頻監(jiān)控設(shè)備接入和調(diào)用的研究還有待進(jìn)步。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于SDK抽象層的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通用接入方法及裝置,其能夠滿足網(wǎng)絡(luò)視頻監(jiān)控設(shè)備聯(lián)網(wǎng)時(shí)統(tǒng)一調(diào)用SDK的封裝與調(diào)用,便于網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的聯(lián)網(wǎng)和SDK 二次開(kāi)發(fā),適應(yīng)范圍廣,安全可靠。
[0011]按照本發(fā)明提供的技術(shù)方案,一種基于SDK抽象層的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通用接入方法,所述網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通用接入方法包括如下步驟:
步驟S1、提供待接入的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備以及與所述網(wǎng)絡(luò)視頻監(jiān)控設(shè)備二次開(kāi)發(fā)相適配的監(jiān)控設(shè)備SDK,并對(duì)所述監(jiān)控設(shè)備SDK以抽象工廠設(shè)計(jì)模式進(jìn)行設(shè)備類抽象與封裝,以得到與所述監(jiān)控設(shè)備SDK相對(duì)應(yīng)的設(shè)備抽象類;
步驟S2、根據(jù)上述的設(shè)備抽象類獲取網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的設(shè)備信息以及對(duì)應(yīng)的廠家信息,并根據(jù)獲取的設(shè)備信息以及廠家信息查詢SDK庫(kù)中已存儲(chǔ)的SDK,若SDK庫(kù)中的SDK與獲取的設(shè)備信息或廠家信息不匹配支持,則將步驟S1中的監(jiān)控設(shè)備SDK加入SDK庫(kù)中;
步驟S3、對(duì)SDK庫(kù)中匹配支持上述設(shè)備信息以及廠家信息的SDK利用上述的設(shè)備抽象類進(jìn)行設(shè)備功能抽象與封裝以及解碼播放抽象與封裝,以得到設(shè)備功能SDK以及解碼播放SDK;
步驟S4、將上述的設(shè)備功能SDK封裝成統(tǒng)一接口的設(shè)備功能SDK插件,并將解碼播放SDK封裝成統(tǒng)一接口的解碼播放SDK插件;
步驟S5、應(yīng)用解決方案層內(nèi)的設(shè)備客戶端利用上述的設(shè)備功能SDK插件、解碼播放SDK插件對(duì)網(wǎng)絡(luò)視頻監(jiān)控設(shè)備進(jìn)行開(kāi)發(fā),以在進(jìn)行所需的開(kāi)發(fā)后實(shí)現(xiàn)網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的接入。
[0012]所述步驟S2中,將監(jiān)控設(shè)備SDK加入SDK庫(kù)中后,并將獲取的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的設(shè)備信息以及對(duì)應(yīng)的廠家信息以XML標(biāo)簽的形式關(guān)聯(lián)存儲(chǔ)在SDK庫(kù)中。
[0013]所述步驟S3中,利用設(shè)備抽象類對(duì)SDK進(jìn)行設(shè)備功能抽象與封裝時(shí),所述設(shè)備功能SDK具有的能力包括設(shè)備系統(tǒng)配置功能、設(shè)備管理配置功能、設(shè)備存儲(chǔ)配置及控制功能、音視頻碼流配置及控制功能、10配置及控制功能、串口配置及控制功能、云臺(tái)配置及控制功能,事件配置及控制功能、設(shè)備搜索功能或用戶自定義功能接口。
[0014]所述步驟S3中,利用設(shè)備抽象類對(duì)SDK進(jìn)行解碼播放抽象與封裝時(shí),所解碼播放SDK具有的能力包括抽象層管理功能、基本解碼功能、解碼屬性配置功能或解碼控制功能。
[0015]一種基于SDK抽象層的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通用接入裝置,包括SDK抽象層以及與所述SDK抽象層連接的SDK插件層; 所述SDK抽象層接收與待接入網(wǎng)絡(luò)視頻監(jiān)控設(shè)備二次開(kāi)發(fā)相適配的監(jiān)控設(shè)備SDK,并對(duì)所述監(jiān)控設(shè)備SDK以抽象工廠設(shè)計(jì)模式進(jìn)行設(shè)備類抽象與封裝,以得到與所述監(jiān)控設(shè)備SDK相對(duì)應(yīng)的設(shè)備抽象類;
SDK抽象層根據(jù)設(shè)備抽象類獲取網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的設(shè)備信息以及對(duì)應(yīng)的廠家信息,并根據(jù)獲取的設(shè)備信息以及廠家信息查詢SDK庫(kù)中已存儲(chǔ)的SDK,若SDK庫(kù)中的SDK與獲取的設(shè)備信息或廠家信息不匹配支持,則接收的監(jiān)控設(shè)備SDK加入SDK庫(kù)中;
SDK抽象層對(duì)SDK庫(kù)中匹配支持上述設(shè)備信息以及廠家信息的SDK利用上述的設(shè)備抽象類進(jìn)行設(shè)備功能抽象與封裝以及解碼播放抽象與封裝,以得到設(shè)備功能SDK以及解碼播放SDK;
所述SDK插件層將設(shè)備功能SDK封裝成統(tǒng)一接口的設(shè)備功能SDK插件,并將解碼播放SDK封裝成統(tǒng)一接口的解碼播放SDK插件;
設(shè)備客戶端利用的設(shè)備功能SDK插件、解碼播放SDK插件對(duì)網(wǎng)絡(luò)視頻監(jiān)控設(shè)備進(jìn)行開(kāi)發(fā),以在進(jìn)行所需的開(kāi)發(fā)后實(shí)現(xiàn)網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的接入。
[0016]所述SDK抽象層包括設(shè)備類別抽象層、SDK屬性獲取層、設(shè)備功能SDK抽象層以及解碼播放SDK抽象層;
設(shè)備類別抽象層監(jiān)控設(shè)備SDK以抽象工廠設(shè)計(jì)模式進(jìn)行設(shè)備類抽象與封裝,以得到與所述監(jiān)控設(shè)備SDK相對(duì)應(yīng)的設(shè)備抽象類;SDK屬性獲取層根據(jù)設(shè)備抽象類獲取網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的設(shè)備信息以及對(duì)應(yīng)的廠家信息,并根據(jù)獲取的設(shè)備信息以及廠家信息查詢SDK庫(kù)中已存儲(chǔ)的SDK,若SDK庫(kù)中的SDK與獲取的設(shè)備信息或廠家信息不匹配支持,則接收的監(jiān)控設(shè)備SDK加入