專利名稱:通用視頻監(jiān)控系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻監(jiān)控領(lǐng)域,尤其涉及一種通用視頻監(jiān)控系統(tǒng)。
背景技術(shù):
視頻監(jiān)控平臺(tái)技術(shù)運(yùn)用平臺(tái)與驅(qū)動(dòng)相結(jié)合的思想,支持任意類型的視頻設(shè)備,從而實(shí)現(xiàn)在不修改程序主體(平臺(tái))的情況下對(duì)軟件功能進(jìn)行擴(kuò)展,當(dāng)平臺(tái)的接口公開后,任何公司或個(gè)人都可以制作自己的驅(qū)動(dòng)來實(shí)現(xiàn)基于該平臺(tái)的視頻監(jiān)控,從而保證了該平臺(tái)的可擴(kuò)展性與生命周期。
近幾年來,視頻監(jiān)控得到了迅猛的發(fā)展,并在智能交通、橋梁隧道、智能建筑、環(huán)境監(jiān)測等多個(gè)領(lǐng)域得到廣泛應(yīng)用。針對(duì)這些應(yīng)用,很多視頻設(shè)備廠家都開發(fā)了相應(yīng)的軟件系統(tǒng),但是這些系統(tǒng)一般是單獨(dú)針對(duì)某一視頻設(shè)備所開發(fā)出來的,缺乏可擴(kuò)展性,其功能支持的應(yīng)用領(lǐng)域也比較有限。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種通用視頻監(jiān)控系統(tǒng),該系統(tǒng)針對(duì)接口實(shí)現(xiàn)設(shè)備驅(qū)動(dòng),就可使用通用視頻監(jiān)控平臺(tái)提供的功能。
為了解決上述技術(shù)問題,本發(fā)明的通用視頻監(jiān)控系統(tǒng)采用如下技術(shù)方案它包括通用視頻監(jiān)控平臺(tái),該平臺(tái)設(shè)有平臺(tái)接口和驅(qū)動(dòng)接口,其中,平臺(tái)接口由平臺(tái)提供,設(shè)備驅(qū)動(dòng)通過封裝設(shè)備的軟件開發(fā)包及調(diào)用平臺(tái)接口實(shí)現(xiàn);驅(qū)動(dòng)接口由設(shè)備驅(qū)動(dòng)實(shí)現(xiàn),再供平臺(tái)加載,以支持具體的視頻設(shè)備。
由于采用上述技術(shù)方案,本發(fā)明的通用視頻監(jiān)控系統(tǒng)通過加載驅(qū)動(dòng)來支持任意類型的視頻設(shè)備,如模擬視頻采集卡、硬盤錄像機(jī)、網(wǎng)絡(luò)視頻、視頻矩陣等視頻設(shè)備,使得在不修改程序主體(平臺(tái))的情況下就能對(duì)軟件功能進(jìn)行擴(kuò)展,既增強(qiáng)了系統(tǒng)的可復(fù)用性,又降低了開發(fā)與維護(hù)的復(fù)雜度。
圖1是本發(fā)明的通用視頻監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。
如圖1所示,本發(fā)明的通用視頻監(jiān)控系統(tǒng)包括通用視頻監(jiān)控平臺(tái),該平臺(tái)設(shè)有平臺(tái)接口和驅(qū)動(dòng)接口,其中,平臺(tái)接口由平臺(tái)提供,設(shè)備驅(qū)動(dòng)通過封裝設(shè)備的軟件開發(fā)包及調(diào)用平臺(tái)接口實(shí)現(xiàn);驅(qū)動(dòng)接口由設(shè)備驅(qū)動(dòng)實(shí)現(xiàn),再供平臺(tái)加載,以支持具體的視頻設(shè)備,如模擬視頻采集卡、硬盤錄像機(jī)、網(wǎng)絡(luò)視頻、視頻矩陣等視頻設(shè)備。以下為當(dāng)前視頻平臺(tái)要加載的所有驅(qū)動(dòng)接口typedef_declspec(dllimport)BOOL(*pSetAndInitView)(CInterfaceView*pView);typedef_declspec(dllimport)BOOL(*pPartitionVideo)(int nSection);typedef_declspec(dllimport)BOOL(*pChangeCurImageIndex)(int nNewImageIndex,int nOldImageIndex);typedef_declspec(dllimport)BOOL(*pSendCommand)(UINT unCmdCode,intnAddOnParam=0);typedef_declspec(dllimport)BOOL(*pShowConfig)();typedef_declspec(dllimport)BOOL(*pSnapShot)(char*pPicBuf,SNAPPICSIZE&theSnapPicSize);
typedef_declspec(dllimport)BOOL(*pAdjustDisplay)();typedef_declspec(dllimport)BOOL(*pRecordQuery)();typedef_declspec(dllimport)BOOL(*pDisconnectVideo)(int nVideoWndIndex);通用視頻監(jiān)控平臺(tái)包含功能強(qiáng)大的監(jiān)控模塊,且配置靈活,支持的主要功能包括視頻配置、多畫面顯示(理論上無限大)、視頻控制、圖像抓拍、圖像查詢、錄像查詢、預(yù)案管理、響應(yīng)聯(lián)動(dòng)等,此外它還支持多分區(qū)監(jiān)控管理,用戶權(quán)限管理,日志管理等。
圖1中的視頻配置模塊配置當(dāng)前軟件要使用的各種視頻設(shè)備,然后,視頻平臺(tái)讀取配置的視頻設(shè)備信息。
例如,為支持極銳硬盤錄像機(jī),需要為其開發(fā)新的驅(qū)動(dòng),該驅(qū)動(dòng)通過封裝該設(shè)備的軟件開發(fā)包以及調(diào)用平臺(tái)接口實(shí)現(xiàn)驅(qū)動(dòng)接口,然后可在視頻配置模塊中配置極銳硬盤錄像機(jī),視頻平臺(tái)通過加載其驅(qū)動(dòng)接口來實(shí)現(xiàn)視頻監(jiān)控功能。具體實(shí)施步驟如下1)新建一個(gè)VC工程DemoVideo,選擇創(chuàng)建MFC擴(kuò)展DLL。
2)將接口頭文件VideoInterface.h和VideoCmdDefine.h復(fù)制到DemoVideo工程路徑下。
i.VideoInterface.h所有視頻設(shè)備的顯示、控制等接口聲明頭文件,并定義了封裝的驅(qū)動(dòng)接口基類,定義了視頻平臺(tái)中使用的平臺(tái)接口基類,以及一些可能用的數(shù)據(jù)結(jié)構(gòu)和宏定義。各個(gè)接口的詳細(xì)說明也參見該文件。
ii.VideoCmdDefine.h視頻指令代碼定義頭文件,包括連接、切換、控制等。
3)新建一個(gè)類CMyVideo,從IVideoInterface公有繼承。
根據(jù)具體視頻設(shè)備提供的SDK或控件,實(shí)現(xiàn)CMyVideo從基類IVideoInterface繼承來的接口,要實(shí)現(xiàn)的接口參見IVideoInterface類。每個(gè)接口的詳細(xì)說明信息參見頭文件VideoInterface.h中的每個(gè)接口說明。視頻設(shè)備接口DLL必須實(shí)現(xiàn)每一個(gè)接口,如果當(dāng)前不支持該接口,可以直接返回FALSE,否則視頻平臺(tái)加載該DLL時(shí)無法使用。
4)在DemoVideo.cpp的尾部加上全局對(duì)象CMyVideo g_theMyVideo,并通過該對(duì)象向視頻平臺(tái)提供接口。
以下為部分實(shí)現(xiàn)該視頻設(shè)備的所有接口。
<pre listing-type="program-listing"> extern″C″BOOL_declspec(dllexport)SetAndInitView(CInterfaceView* pView) { return g_theMyVideo.SetAndInitView(pView); } extern″C″BOOL_declspec(dllexport)PartitionVideo(int nSection) { return g_theMyVideo.PartitionVideo(nSection); } extern″C″BOOL_declspec(dllexport)ChangeCurImageIndex(int nNewImageIndex.int nOldImageIndex) { return g_theMyVideo.ChangeCurImageIndex(nNewImageIndex,nOldImageIndex); } extern″C″BOOL_declspec(dllexport)SendCommand(UINT unCmdCode,int nAddOnParam)</pre><pre listing-type="program-listing"> { return g_theMyVideo.SendCommand(unCmdCode,nAddOnParam); } extern″C″BOOL_declspec(dllexport)ShowConfig() { return g_theMyVideo.ShowConfig(); } extern″C″BOOL_declspec(dllexport)SnapShot(char*pPicBuf,SNAPPICSIZE &amp;theSnapPicSize) { return g_theMyVideo.SnapShot(pPicBuf,theSnapPicSize); } extern″C″BOOL_declspec(dllexport)RecordQuery() { return g_theMyVideo.QueryRecord(); } extern″C″BOOL_declspec(dllexport)AdjustDisplay() { return g_theMyVideo.AdjustDisplay(); } extern″C″BOOL_declspec(dllexport)DisconnectVideo(int nVideoWndIndex) { return g_theMyVideo.DisconnectVideo(nVideoWndIndex); }</pre>
權(quán)利要求
1.一種通用視頻監(jiān)控系統(tǒng),其特征在于,它包括通用視頻監(jiān)控平臺(tái),該平臺(tái)設(shè)有平臺(tái)接口和驅(qū)動(dòng)接口,其中,平臺(tái)接口由平臺(tái)提供,設(shè)備驅(qū)動(dòng)通過封裝設(shè)備的軟件開發(fā)包及調(diào)用平臺(tái)接口實(shí)現(xiàn);驅(qū)動(dòng)接口由設(shè)備驅(qū)動(dòng)實(shí)現(xiàn),再供平臺(tái)加載,以支持具體的視頻設(shè)備。
2.如權(quán)利要求1所述的通用視頻監(jiān)控系統(tǒng),其特征在于,所述通用視頻監(jiān)控平臺(tái)實(shí)現(xiàn)具體的用戶業(yè)務(wù)邏輯。
3.如權(quán)利要求1所述的通用視頻監(jiān)控系統(tǒng),其特征在于,所述設(shè)備驅(qū)動(dòng)通過調(diào)用平臺(tái)接口獲取平臺(tái)的資源、數(shù)據(jù)及方法。
4.如權(quán)利要求1所述的通用視頻監(jiān)控系統(tǒng),其特征在于,所述視頻設(shè)備包括模擬視頻采集卡、硬盤錄像機(jī)、網(wǎng)絡(luò)視頻、視頻矩陣。
全文摘要
本發(fā)明公開了一種通用視頻監(jiān)控系統(tǒng),該系統(tǒng)包括通用視頻監(jiān)控平臺(tái),該平臺(tái)設(shè)有平臺(tái)接口和驅(qū)動(dòng)接口,其中,平臺(tái)接口由平臺(tái)提供,設(shè)備驅(qū)動(dòng)通過封裝設(shè)備的軟件開發(fā)包及調(diào)用平臺(tái)接口實(shí)現(xiàn);驅(qū)動(dòng)接口由設(shè)備驅(qū)動(dòng)實(shí)現(xiàn),再供平臺(tái)加載,以支持具體的視頻設(shè)備。本發(fā)明的通用視頻監(jiān)控系統(tǒng)通過加載驅(qū)動(dòng)支持任意類型的視頻設(shè)備,當(dāng)平臺(tái)的接口公開后,任何公司或個(gè)人都可以制作自己的驅(qū)動(dòng)來實(shí)現(xiàn)基于該平臺(tái)的視頻監(jiān)控,從而保證該平臺(tái)的可擴(kuò)展性與生命周期。
文檔編號(hào)H04N7/18GK101035265SQ20061002439
公開日2007年9月12日 申請(qǐng)日期2006年3月6日 優(yōu)先權(quán)日2006年3月6日
發(fā)明者董文生 申請(qǐng)人:上海寶信軟件股份有限公司