最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)及其工作方法

文檔序號(hào):7977728閱讀:346來源:國(guó)知局
專利名稱:基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)及其工作方法
技術(shù)領(lǐng)域
本發(fā)明涉及安防領(lǐng)域,特別涉及基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控技術(shù)。
背景技術(shù)
伴隨著計(jì)算機(jī)網(wǎng)絡(luò)、存儲(chǔ)、芯片技術(shù)的發(fā)展,視頻監(jiān)控技術(shù)向著智能化、網(wǎng)絡(luò)化的方向不斷前進(jìn),視頻監(jiān)控系統(tǒng)已進(jìn)入智能網(wǎng)絡(luò)系統(tǒng)(Intelligent Video Surveillance,簡(jiǎn)稱“IVS”)時(shí)代。它采用分布方式架設(shè)在網(wǎng)絡(luò)上,不受地域空間的限制,實(shí)現(xiàn)視頻資源的管理、傳輸、存儲(chǔ)、報(bào)警、集成等。由于網(wǎng)絡(luò)訪問能力的不斷增強(qiáng),以及瘦客戶端訪問便捷的優(yōu)勢(shì),IVS 又由 C/S (Client/Server)向 B/S (^Browser/Server)架構(gòu)逐漸演變。對(duì)于 B/S 架構(gòu)的視頻監(jiān)控客戶端的用戶,只要能夠接入網(wǎng)絡(luò)并具有權(quán)限,即可實(shí)現(xiàn)對(duì)存儲(chǔ)或監(jiān)控設(shè)備的訪問。這種訪問是透明的,甚至無需關(guān)注交互的設(shè)備具體是數(shù)字硬盤錄像機(jī)DVR還是網(wǎng)絡(luò)視頻錄像機(jī)NVR、網(wǎng)絡(luò)視頻服務(wù)器DVS亦或網(wǎng)絡(luò)攝像機(jī)IPC。
用戶借助瀏覽器,通過頁(yè)面控制網(wǎng)絡(luò)上的IP設(shè)備;瀏覽器又借助插件,實(shí)現(xiàn)頁(yè)面難以完成的視頻采集、播放、錄像、繪制等操作。瀏覽器與頁(yè)面的交互通常以 JavaScript (JS)等腳本語言編寫。JS難以實(shí)施同時(shí)對(duì)效率要求較高的取流、播放等工作, 則可通過C++等編譯語言生成的插件達(dá)成。JS跨平臺(tái)的特性使其在不同操作系統(tǒng)中,對(duì)頁(yè)面的訪問方式一致。但對(duì)于插件,由于(I)編譯器的平臺(tái)依賴性,⑵需與操作系統(tǒng)(OS) 和瀏覽器間進(jìn)行交互,因此不同的OS和瀏覽器間的差異,導(dǎo)致在不同環(huán)境下插件的實(shí)現(xiàn)框架及方法各不相同。
目前的插件開發(fā)技術(shù)大多是基于IE等Windows系統(tǒng)中的瀏覽器。Linux系統(tǒng)開放性、穩(wěn)定性、成本低的特點(diǎn),其普及程度逐年上升,尤其在視頻監(jiān)控領(lǐng)域占有重要地位。本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中,主要存在以下幾個(gè)問題=(I)Linux系統(tǒng)瀏覽器插件技術(shù)的框架及實(shí)現(xiàn)方法鮮有提及;(2)由于Linux的開放性,其發(fā)行版眾多、更新頻繁,最基礎(chǔ)的窗體管理器(WM)也分為GNOME和KDE兩大陣營(yíng),以及近來越來越多的瀏覽器廠商涉入,都給插件開發(fā)的普適性帶來困難;(3)視頻監(jiān)控的目的必然要求插件在Linux中具有可視化及交互能力。
因此,在Linux系統(tǒng)中,能夠跨越不同發(fā)行版本、不同瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控通用插件的系統(tǒng)框架及方法急切所需。發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)及其工作方法, 使監(jiān)控視頻的播放可以跨越Linux的不同發(fā)行版本和不同瀏覽器。
為解決上述技術(shù)問題,本發(fā)明的實(shí)施方式公開了一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),包括,
頁(yè)面交互單元,用于與頁(yè)面腳本交互,并將信息傳遞給瀏覽器交互單元,同時(shí)屏蔽瀏覽器間的大部分差異;
瀏覽器交互單元,用于與瀏覽器交互,通過XEmbed協(xié)議將插件窗體嵌入瀏覽器托座,并將信息傳遞給可視化單元,同時(shí)屏蔽瀏覽器間的其它差異;
可視化單元,用于實(shí)現(xiàn)插件可視化和插件窗體事件驅(qū)動(dòng)機(jī)制,并將信息傳遞給網(wǎng)絡(luò)流單元,同時(shí)最小化Linux平臺(tái)間的差異;
網(wǎng)絡(luò)流單元,用于獲取和控制網(wǎng)絡(luò)視頻碼流,并將信息傳遞給播放繪制單元;
播放繪制單元,用于在所述可視化單元生成的插件窗體中,對(duì)所述網(wǎng)絡(luò)流單元所獲取的視頻碼流進(jìn)行播放和本地圖形繪制,并與網(wǎng)絡(luò)流單元最終實(shí)現(xiàn)智能網(wǎng)絡(luò)視頻監(jiān)控的功能。
本發(fā)明的實(shí)施方式還公開了一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法,包括以下步驟
瀏覽器根據(jù)頁(yè)面信息加載插件,并根據(jù)頁(yè)面腳本要求為插件創(chuàng)建托座;
瀏覽器通過NPAPI將托座傳遞給插件;
插件基于XEmbed協(xié)議,將待創(chuàng)建的主窗體指針嵌入瀏覽器托座,并保留該托座結(jié)構(gòu)中的相關(guān)信息;
插件基于Xll底層協(xié)議,根據(jù)托座結(jié)構(gòu)信息,創(chuàng)建、映射并調(diào)整所有窗體;
頁(yè)面腳本根據(jù)接收到的用戶請(qǐng)求,通過NPAPI調(diào)用插件的相應(yīng)接口實(shí)現(xiàn)不同的響
插件基于實(shí)時(shí)傳輸協(xié)議和實(shí)時(shí)流傳輸協(xié)議,從設(shè)備獲取和控制視頻碼流;
插件實(shí)現(xiàn)網(wǎng)絡(luò)視頻播放和本地繪制工作。
本發(fā)明實(shí)施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于
通過XEmbed協(xié)議將插件窗體嵌入瀏覽器托座,使監(jiān)控視頻的播放可以跨越Linux 的不同發(fā)行版本和不同瀏覽器。
通過NPAPI框架和XEmbed協(xié)議實(shí)現(xiàn)插件與瀏覽器及頁(yè)面間的交互,屏蔽了不同瀏覽器、窗體管理器環(huán)境間的差異,為插件的開發(fā)、移植和維護(hù)帶來了便利;
使用實(shí)時(shí)傳輸協(xié)議和實(shí)時(shí)流傳輸協(xié)議,以及瀏覽器和服務(wù)器結(jié)構(gòu)透明化的設(shè)計(jì)思想,為安防監(jiān)控行業(yè)的融合和標(biāo)準(zhǔn)化奠定了基礎(chǔ)。
進(jìn)一步地,直接調(diào)用Xll底層協(xié)議實(shí)現(xiàn)插件可視化,使監(jiān)控視頻的播放、交互與 Linux系統(tǒng)的平臺(tái)相依性最小。


圖I是本發(fā)明第一實(shí)施方式中一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖2是對(duì)應(yīng)于本發(fā)明第一實(shí)施方式中一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的插件五層模型示意圖3是對(duì)應(yīng)于本發(fā)明第一實(shí)施方式中一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的插件框架及其與五層模型的對(duì)應(yīng)關(guān)系示意圖4是本發(fā)明第二實(shí)施方式中一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法的流程示意圖5是本發(fā)明第三實(shí)施方式中一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作5方法的流程示意圖。
具體實(shí)施方式
在以下的敘述中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)各權(quán)利要求所要求保護(hù)的技術(shù)方案。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明第一實(shí)施方式涉及一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。圖I是該基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖。
具體地說,如圖I所示,該基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)主要包括
頁(yè)面交互單元,用于與頁(yè)面腳本交互,并將信息傳遞給瀏覽器交互單元,同時(shí)屏蔽瀏覽器間的大部分差異。
頁(yè)面交互單元利用NPAPI協(xié)議實(shí)現(xiàn)與頁(yè)面腳本的交互。
NPAPI(Netscape Plugin Application Programming Interface),最初為由 Netscape 公司制定的一組 C Plugin API,支持 NPRuntime 延伸 API 以支援 Scriptability。
瀏覽器交互單元,用于與瀏覽器交互,通過XEmbed協(xié)議將插件窗體嵌入瀏覽器傳入的托座,并將信息傳遞給可視化單元,同時(shí)屏蔽瀏覽器間的其它差異。
XEmbed協(xié)議,是指為某一應(yīng)用程序重設(shè)父窗體以嵌入到另一應(yīng)用程序的基于X機(jī)制的協(xié)議。
具體地說,該瀏覽器交互單元包括以下子單元
XEmbed轉(zhuǎn)化子單元,用于將插件窗體嵌入瀏覽器托座,并完成相應(yīng)的窗體類型轉(zhuǎn)換工作。
內(nèi)部調(diào)度子單元,用于負(fù)責(zé)插件內(nèi)部各模塊的調(diào)度與回調(diào)。
本地配置子單元,用于對(duì)用戶自定義配置信息進(jìn)行本地化管理。
其中,用戶自定義配置信息包括連接協(xié)議、碼流類型、播放窗口比例模式、錄像文件打包大小、錄像和抓圖文件的保存路徑等。
插件版本控制子單元,用于為頁(yè)面腳本提供插件版本信息,對(duì)插件是否需要升級(jí)進(jìn)行判定。
異常檢測(cè)子單元,用于對(duì)內(nèi)收集插件內(nèi)部由于網(wǎng)絡(luò)或內(nèi)存異常導(dǎo)致的錯(cuò)誤信息, 對(duì)外為頁(yè)面腳本提供獲取插件錯(cuò)誤值的接口。
插件實(shí)例管理子單元,用于在瀏覽器打開多標(biāo)簽頁(yè)時(shí),管理多個(gè)插件的實(shí)例,保證各單元之間回調(diào)正確的插件實(shí)例。
可視化單元,用于實(shí)現(xiàn)插件可視化和插件窗體事件驅(qū)動(dòng)機(jī)制,并將信息傳遞給網(wǎng)絡(luò)流單元,同時(shí)最小化Linux平臺(tái)間的差異。
可視化單元利用Xll底層協(xié)議實(shí)現(xiàn)插件可視化和插件窗體事件驅(qū)動(dòng)機(jī)制。
其中,Xll協(xié)議是指在Unix和類Unix操作系統(tǒng),以及OpenVMS上建立圖形用戶界面的標(biāo)準(zhǔn)工具包和協(xié)議。
Xll底層協(xié)議作為L(zhǎng)inux系統(tǒng)可視化的基礎(chǔ),使監(jiān)控視頻的播放、交互與Linux系CN 102547231 A統(tǒng)的平臺(tái)相依性最小。
具體地說,該可視化單元包括以下子單元
Xll管理子單元,用于封裝Xll底層接口 ;通過Xll底層協(xié)議實(shí)現(xiàn)插件內(nèi)窗體的映射、調(diào)整;同時(shí)接收X服務(wù)端傳遞的事件,分發(fā)給正確的窗體;被所有窗體子單元調(diào)用。
主窗體子單元,用于負(fù)責(zé)所有子窗體的空間布局當(dāng)初始化或用戶重選預(yù)覽畫面分割模式時(shí),對(duì)所有子窗體的位置、尺寸和隱顯等進(jìn)行重新調(diào)整。此外,主窗體子單元還負(fù)責(zé)部分與Linux文件系統(tǒng)的交互,如遠(yuǎn)程升級(jí)配置文件的選取,設(shè)備日志的導(dǎo)出等操作。
子窗體子單元,用于向下調(diào)用網(wǎng)絡(luò)流單元,實(shí)現(xiàn)播放區(qū)域子單元的預(yù)覽、回放、錄像、抓圖等控制,和對(duì)統(tǒng)一資源定位符(URL)的解析等操作。
播放區(qū)域子單元,用于負(fù)責(zé)填充、4:3、16:9等播放模式的幾何位置的計(jì)算,以及區(qū)域繪制、屏幕菜單式調(diào)節(jié)方式(On-Screen Display,簡(jiǎn)稱“OSD”)設(shè)置等人機(jī)交互操作中鼠標(biāo)事件的管理。
全屏窗體子單元,用于實(shí)現(xiàn)進(jìn)入或退出全屏播放狀態(tài)的一系列操作。
網(wǎng)絡(luò)流單元,用于獲取和控制網(wǎng)絡(luò)視頻碼流,實(shí)現(xiàn)RTP/RTSP協(xié)議的網(wǎng)絡(luò)視頻流獲取與控制,并將信息傳遞給播放繪制單元。
其中,RTP(Real-timeTransport Protocol)是指實(shí)時(shí)傳輸協(xié)議。
RTSP(Real Time Streaming Protocol)是指實(shí)時(shí)流傳輸協(xié)議。
播放繪制單元,用于在可視化單元生成的插件窗體中,對(duì)網(wǎng)絡(luò)流單元所獲取的視頻碼流進(jìn)行播放和本地圖形繪制,并與網(wǎng)絡(luò)流單元最終實(shí)現(xiàn)智能網(wǎng)絡(luò)視頻監(jiān)控的功能。
具體地說,該播放繪制單元包括播放子單元和繪制子單元。
播放子單元,用于實(shí)現(xiàn)視頻碼流的播放,通過開放式圖形庫(kù)(Open Graphics Library,簡(jiǎn)稱“OpenGL”)或者跨平臺(tái)多媒體開發(fā)包(Simple Media Layer,簡(jiǎn)稱“SDL”), 實(shí)現(xiàn)視頻的播放。
繪制子單元,用于實(shí)現(xiàn)網(wǎng)絡(luò)視頻監(jiān)控中的本地圖形繪制,實(shí)現(xiàn)視頻監(jiān)控中移動(dòng)偵測(cè)、遮擋報(bào)警、隱私遮蓋區(qū)域和屏幕顯示信息在播放區(qū)域中的繪制、顯示和移動(dòng),并將相應(yīng)信息傳遞給頁(yè)面腳本,并發(fā)送至設(shè)備。
通過XEmbed協(xié)議將插件窗體嵌入瀏覽器托座,使監(jiān)控視頻的播放可以跨越Linux 的不同發(fā)行版本和不同瀏覽器。
一般比較容易想到的的實(shí)現(xiàn)方式是利用頁(yè)面腳本實(shí)現(xiàn)將插件窗體直接嵌入瀏覽器托座,但本發(fā)明的發(fā)明人發(fā)現(xiàn),這種方式雖然實(shí)現(xiàn)簡(jiǎn)單,但在不少Linux的版本或不同的瀏覽器中會(huì)出現(xiàn)兼容性問題,通過反復(fù)試驗(yàn)后,該問題通過XEmbed協(xié)議予以解決。
對(duì)應(yīng)于本發(fā)明實(shí)施方式中所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),相應(yīng)的插件開發(fā)模型分為五層,具體地說,如圖2所示,自上而下依次為頁(yè)面交互層(J)、瀏覽器交互層(B)、可視化層(X)、網(wǎng)絡(luò)流層(N)和播放繪制層(V)。
(I) J層負(fù)責(zé)插件與頁(yè)面腳本之間的交互,借助NPAPI框架達(dá)成跨越不同瀏覽器的通用接口。
(2)B層負(fù)責(zé)插件與瀏覽器之間的交互,通過XEmbed協(xié)議將插件窗體嵌入瀏覽器托座,以實(shí)現(xiàn)跨越不同窗體管理器環(huán)境。
(3)X層負(fù)責(zé)插件的可視化以及與用戶之間的交互,通過Xll底層協(xié)議完成插件窗體映射、調(diào)整、鼠標(biāo)和鍵盤響應(yīng)等的事件驅(qū)動(dòng)機(jī)制。(4)N層負(fù)責(zé)網(wǎng)絡(luò)視頻的取流及控制工作,主要以RTP和RTSP協(xié)議實(shí)現(xiàn)。(5) V層負(fù)責(zé)視頻播放及圖形繪制工作,可通過OpenGL或SDL實(shí)現(xiàn)。下兩層是針對(duì)視頻監(jiān)控;可視化層針對(duì)插件在瀏覽器中的顯示,并保證平臺(tái)依賴性最??;上兩層是為了跨瀏覽器而設(shè)置。所述插件的整體框架、模塊調(diào)用關(guān)系及其與五層模型間的對(duì)應(yīng)關(guān)系如圖3所示??傮w上,可劃分為頁(yè)面交互、插件控制、窗體管理、網(wǎng)絡(luò)流控制、播放繪制五個(gè)主要部分。頁(yè)面交互部分由PD-010頁(yè)面交互模塊實(shí)現(xiàn)。PD-010頁(yè)面交互模塊,通過產(chǎn)生腳本化對(duì)象被JS調(diào)用,亦可主動(dòng)向JS發(fā)送事件, 對(duì)外作為插件與頁(yè)面交互的接口,對(duì)內(nèi)為插件管理模塊解析JS調(diào)用及參數(shù)。插件控制部分包括PD-020插件控制模塊及其子模塊。PD-020插件控制模塊,將插件嵌入瀏覽器托座;同時(shí)負(fù)責(zé)插件內(nèi)部各模塊的調(diào)度如對(duì)JS調(diào)用請(qǐng)求的響應(yīng)、向主窗體或全屏窗體發(fā)送命令、響應(yīng)網(wǎng)絡(luò)流控制模塊的回調(diào)等工作;另外還實(shí)現(xiàn)插件的一些附屬功能如本地參數(shù)配置、插件版本控制、異常檢測(cè)、及多標(biāo)簽時(shí)的插件實(shí)例管理等工作。PD-020根據(jù)功能,內(nèi)部又可劃分為PD-021 XEmbed轉(zhuǎn)化、PD-022內(nèi)部調(diào)度、PD-023 本地配置、PD-024插件版本控制、PD-025異常檢測(cè)、PD_(^6插件實(shí)例管理6個(gè)子模塊。PD-021 XEmbed轉(zhuǎn)化子模塊,負(fù)責(zé)將插件窗體嵌入瀏覽器托座,以及相應(yīng)的窗體類
型轉(zhuǎn)換工作。PD-022內(nèi)部調(diào)度子模塊,負(fù)責(zé)插件內(nèi)部各模塊的調(diào)度與回調(diào)。PD-023本地配置子模塊,對(duì)連接協(xié)議、碼流類型、播放窗口比例模式、錄像文件打包大小、錄像和抓圖文件的保存路徑等用戶自定義配置信息進(jìn)行本地化管理。PD-024插件版本控制子模塊,為JS提供插件版本信息,對(duì)插件是否需要升級(jí)進(jìn)行判定。PD-025異常檢測(cè)子模塊,對(duì)內(nèi)收集插件內(nèi)部由于網(wǎng)絡(luò)或內(nèi)存異常導(dǎo)致的錯(cuò)誤信息,對(duì)外為JS提供獲取插件錯(cuò)誤值的接口。PD_(^6插件實(shí)例管理子模塊,在瀏覽器打開多標(biāo)簽頁(yè)時(shí),管理多個(gè)插件的實(shí)例,保證各模塊之間回調(diào)正確的插件實(shí)例。窗體管理部分由PD-030 Xll管理、PD-040主窗體、PD-050子窗體、PD-060播放區(qū)域、PD-070全屏窗體6個(gè)模塊組成。PD-030 Xll管理模塊,封裝Xll底層接口 ;通過Xll底層協(xié)議實(shí)現(xiàn)插件內(nèi)窗體的映射、調(diào)整;同時(shí)接收X服務(wù)端傳遞的事件,分發(fā)給正確的窗體;被所有窗體模塊調(diào)用。PD-040主窗體模塊,負(fù)責(zé)所有子窗體的空間布局當(dāng)初始化或用戶重選預(yù)覽畫面分割模式時(shí),對(duì)所有子窗體的位置、尺寸和隱顯等進(jìn)行重新調(diào)整。此外,主窗體模塊還負(fù)責(zé)部分與Linux文件系統(tǒng)的交互,如遠(yuǎn)程升級(jí)配置文件的導(dǎo)入導(dǎo)出,設(shè)備日志的導(dǎo)出等操作。PD-050子窗體模塊,向下調(diào)用網(wǎng)絡(luò)流控制模塊,實(shí)現(xiàn)各播放區(qū)域的預(yù)覽、回放、錄像、抓圖等控制,和對(duì)URL的解析等操作。PD-060播放區(qū)域模塊,負(fù)責(zé)填充、4:3、16:9等播放模式的幾何位置的計(jì)算,以及區(qū)域繪制、OSD設(shè)置等人機(jī)交互操作中鼠標(biāo)事件的處理。PD-070全屏窗體模塊,實(shí)現(xiàn)進(jìn)入或退出全屏播放狀態(tài)的一系列操作。PD-080網(wǎng)絡(luò)流控制模塊,實(shí)現(xiàn)RTP/RTSP協(xié)議的網(wǎng)絡(luò)視頻流獲取與控制。播放繪制部分由PD-090繪制模塊和PD-100播放模塊組成。PD-090繪制模塊,以人機(jī)交互的方式,通過OpenGL或Xlib,實(shí)現(xiàn)視頻監(jiān)控中移動(dòng)偵測(cè)、遮擋報(bào)警、隱私遮蓋等區(qū)域和OSD信息在播放區(qū)域中的設(shè)置和繪制,并將相應(yīng)信息傳予JS,進(jìn)而發(fā)送至設(shè)備。PD-100播放模塊,籍由OpenGL或SDL實(shí)現(xiàn)視頻的播放。需要說明的是,本發(fā)明各系統(tǒng)實(shí)施方式中提到的各單元都是邏輯單元,在物理上, 一個(gè)邏輯單元可以是一個(gè)物理單元,也可以是一個(gè)物理單元的一部分,還可以以多個(gè)物理單元的組合實(shí)現(xiàn),這些邏輯單元本身的物理實(shí)現(xiàn)方式并不是最重要的,這些邏輯單元所實(shí)現(xiàn)的功能的組合是才解決本發(fā)明所提出的技術(shù)問題的關(guān)鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各系統(tǒng)實(shí)施方式并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的單元引入,這并不表明上述各系統(tǒng)實(shí)施方式并不存在其它的單元。本發(fā)明第二實(shí)施方式涉及一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法。 圖4是該基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法的流程示意圖。具體地說,該基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法主要包括以下步驟在步驟401中,瀏覽器加載插件并創(chuàng)建托座。瀏覽器根據(jù)頁(yè)面信息加載插件,并根據(jù)頁(yè)面腳本要求為插件創(chuàng)建托座。此后進(jìn)入步驟402,瀏覽器通過NPAPI將托座傳遞給插件。此后進(jìn)入步驟403,插件以XEmbed嵌入托座。插件基于XEmbed協(xié)議,將待創(chuàng)建的主窗體嵌入瀏覽器托座,并保留該托座結(jié)構(gòu)中的相關(guān)信息。此后進(jìn)入步驟404,插件以Xll映射調(diào)整窗體。插件基于Xll底層協(xié)議,根據(jù)托座結(jié)構(gòu)信息,創(chuàng)建、映射并調(diào)整所有窗體。此后進(jìn)入步驟405,頁(yè)面腳本通過NPAPI調(diào)用插件。頁(yè)面腳本根據(jù)接收到的用戶請(qǐng)求,通過NPAPI調(diào)用插件的相應(yīng)接口實(shí)現(xiàn)不同的響應(yīng)。此后進(jìn)入步驟406,插件基于RTP/RTSP取流控制。插件基于實(shí)時(shí)傳輸協(xié)議和實(shí)時(shí)流傳輸協(xié)議,從設(shè)備獲取和控制視頻碼流。此后進(jìn)入步驟407,視頻播放和本地繪制。插件實(shí)現(xiàn)視頻播放和本地繪制工作。此后結(jié)束本流程。通過NPAPI框架和XEmbed協(xié)議實(shí)現(xiàn)插件與瀏覽器及頁(yè)面間的交互,屏蔽了不同瀏覽器和窗體管理器環(huán)境間的差異,為插件的開發(fā)、移植和維護(hù)帶來了便利。使用實(shí)時(shí)傳輸協(xié)議和實(shí)時(shí)流傳輸協(xié)議,以及瀏覽器和服務(wù)器結(jié)構(gòu)透明化的設(shè)計(jì)思想,為安防監(jiān)控行業(yè)的融合和標(biāo)準(zhǔn)化奠定了基礎(chǔ)。本實(shí)施方式是與第一實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。本發(fā)明第三實(shí)施方式涉及一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法。 圖5是該基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法的流程示意圖。第三實(shí)施方式在第二實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于在插件實(shí)現(xiàn)視頻播放和本地繪制工作的步驟之后,還包括以下步驟插件向頁(yè)面腳本主動(dòng)發(fā)起事件,請(qǐng)求頁(yè)面腳本的進(jìn)一步處理。在插件向頁(yè)面腳本主動(dòng)發(fā)起事件,請(qǐng)求頁(yè)面腳本的進(jìn)一步處理的步驟之前,還包括以下步驟插件操作文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索工作。在頁(yè)面腳本根據(jù)接收到的用戶請(qǐng)求,調(diào)用插件的相應(yīng)接口實(shí)現(xiàn)不同的響應(yīng)的步驟中,包括以下子步驟如果用戶的請(qǐng)求是請(qǐng)求預(yù)覽、回放、暫停、快慢放、單幀、繪制區(qū)域或屏幕菜單式調(diào)節(jié)方式信息操作,則進(jìn)入插件從設(shè)備獲取和控制視頻碼流的步驟。如果用戶的請(qǐng)求是請(qǐng)求導(dǎo)入導(dǎo)出設(shè)備或本地配置、設(shè)備日志、下載錄像、遠(yuǎn)程升級(jí)操作,則進(jìn)入插件操作文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索工作的步驟。如果用戶的請(qǐng)求是請(qǐng)求錄像、抓圖操作,則需同時(shí)進(jìn)入插件從設(shè)備獲取和控制視頻碼流的步驟和插件操作文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索工作的步驟,協(xié)同完成工作。如果用戶的請(qǐng)求是請(qǐng)求重新設(shè)置播放窗口模式、獲取插件版本、錯(cuò)誤值操作,則會(huì)調(diào)用瀏覽器交互單元中的相應(yīng)子單元并將結(jié)果直接返回。具體地說,如圖5所示,該基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法主要包括以下步驟在步驟501中,用戶輸入IP和認(rèn)證信息。用戶在瀏覽器中輸入遠(yuǎn)程設(shè)備IP,從設(shè)備中下載頁(yè)面文件,在頁(yè)面登錄界面中輸入認(rèn)證信息,登錄設(shè)備。該設(shè)備可以是數(shù)字硬盤錄像機(jī)DVR或網(wǎng)絡(luò)視頻錄像機(jī)NVR,也可以是網(wǎng)絡(luò)攝像機(jī)IPC。此后進(jìn)入步驟502,瀏覽器加載插件并創(chuàng)建托座。瀏覽器根據(jù)頁(yè)面信息和MIME類型加載插件,并根據(jù)JS要求為插件創(chuàng)建托座。此后進(jìn)入步驟503,瀏覽器通過NPAPI將托座傳遞給插件。瀏覽器根據(jù)NPAPI將托座封裝為特定結(jié)構(gòu),傳遞給插件。此后進(jìn)入步驟504,插件以XEmbed嵌入托座。插件基于XEmbed協(xié)議,將創(chuàng)建的主窗體嵌入托座,并保留該托座結(jié)構(gòu)中的相關(guān)信肩、ο此后進(jìn)入步驟505,插件以Xll映射調(diào)整窗體。插件基于Xll底層協(xié)議,根據(jù)托座結(jié)構(gòu)信息,創(chuàng)建、映射并調(diào)整所有窗體,同時(shí)將各窗體注冊(cè)的Xll事件Mask傳遞給X服務(wù)端。至此,瀏覽器加載插件和插件初始化工作完成。此后進(jìn)入步驟506,頁(yè)面腳本通過NPAPI調(diào)用插件。
此后進(jìn)入步驟507,判斷用戶請(qǐng)求類型;JS根據(jù)接收到的用戶請(qǐng)求,通過NPAPI調(diào)用插件的相應(yīng)接口實(shí)現(xiàn)不同的響應(yīng)如果是請(qǐng)求預(yù)覽、回放、暫停、快慢放、單幀、繪制區(qū)域或OSD信息等操作,則進(jìn)入步驟508 ;如果是請(qǐng)求導(dǎo)入導(dǎo)出設(shè)備或本地配置、設(shè)備日志、下載錄像、遠(yuǎn)程升級(jí)等操作,則進(jìn)入步驟511 ;如果是請(qǐng)求錄像、抓圖等操作,則需同時(shí)進(jìn)入步驟508和510協(xié)同完成工作;如果是請(qǐng)求重新設(shè)置播放窗口模式、獲取插件版本、錯(cuò)誤值等操作,則會(huì)調(diào)用瀏覽器交互單元中的相應(yīng)子單元并將結(jié)果直接返回。在步驟508中,插件基于RTP/RTSP協(xié)議取流控制。插件基于RTP和RTSP協(xié)議,從設(shè)備獲取和控制視頻碼流。此后進(jìn)入步驟509,視頻播放和本地繪制。插件通過OpenGL或SDL實(shí)現(xiàn)視頻播放。插件基于Xll事件驅(qū)動(dòng)機(jī)制,通過OpenGL或Xlib以人機(jī)交互方式實(shí)現(xiàn)本地繪制操作,同時(shí)將繪制結(jié)果以Xll協(xié)議傳遞給X服務(wù)端,并映射到窗體,再次回到步驟505。此后進(jìn)入步驟510,插件通過NPAPI向頁(yè)面腳本發(fā)送事件。對(duì)于播放過程中用戶重新點(diǎn)選預(yù)覽窗口、或錄像過程中磁盤分區(qū)剩余空間不足等情況發(fā)生時(shí),插件也可通過NPAPI向JS主動(dòng)發(fā)起事件,請(qǐng)求JS的進(jìn)一步處理。此后結(jié)束本流程。在步驟511中,操作文件系統(tǒng)。插件操作Linux文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索等工作。此后進(jìn)入步驟510。本實(shí)施方式是與第一實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。本發(fā)明的各方法實(shí)施方式均可以以軟件、硬件、固件等方式實(shí)現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實(shí)現(xiàn),指令代碼都可以存儲(chǔ)在任何類型的計(jì)算機(jī)可訪問的存儲(chǔ)器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲(chǔ)器可以例如是可編程陣列邏輯(Programmable Array Logic,簡(jiǎn)稱“PAL”)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱“RAM”)、可編程只讀存儲(chǔ)器(Programmable Read Only Memory,簡(jiǎn)稱 “PROM”)、只讀存儲(chǔ)器(Read-Only Memory, 簡(jiǎn)稱“ROM”)、電可擦除可編程只讀存儲(chǔ)器(Electrically Erasable Programmable ROM,簡(jiǎn)稱“EEPR0M”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡(jiǎn)稱“DVD”)等等。雖然通過參照本發(fā)明的某些優(yōu)選實(shí)施方式,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),其特征在于,包括,頁(yè)面交互單元,用于與頁(yè)面腳本交互,并將信息傳遞給瀏覽器交互單元,同時(shí)屏蔽瀏覽器間的大部分差異;瀏覽器交互單元,用于與瀏覽器交互,通過XEmbed協(xié)議將插件窗體嵌入瀏覽器托座, 并將信息傳遞給可視化單元,同時(shí)屏蔽瀏覽器間的其它差異;可視化單元,用于實(shí)現(xiàn)插件可視化和插件窗體事件驅(qū)動(dòng)機(jī)制,并將信息傳遞給網(wǎng)絡(luò)流單元,同時(shí)最小化Linux平臺(tái)間的差異;網(wǎng)絡(luò)流單元,用于獲取和控制網(wǎng)絡(luò)視頻碼流,并將信息傳遞給播放繪制單元;播放繪制單元,用于在所述可視化單元生成的插件窗體中,對(duì)所述網(wǎng)絡(luò)流單元所獲取的視頻碼流進(jìn)行播放和本地圖形繪制,并與網(wǎng)絡(luò)流單元最終實(shí)現(xiàn)智能網(wǎng)絡(luò)視頻監(jiān)控的功倉(cāng)泛。
2.根據(jù)權(quán)利要求I所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),其特征在于,所述頁(yè)面交互單元利用NPAPI協(xié)議實(shí)現(xiàn)與頁(yè)面腳本的交互;所述可視化單元利用Xll底層協(xié)議實(shí)現(xiàn)插件可視化和插件窗體事件驅(qū)動(dòng)機(jī)制。
3.根據(jù)權(quán)利要求I所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),其特征在于,所述播放繪制單元包括播放子單元和繪制子單元;所述播放子單元,用于實(shí)現(xiàn)視頻碼流的播放;所述繪制子單元,用于實(shí)現(xiàn)網(wǎng)絡(luò)視頻監(jiān)控中的本地圖形繪制,實(shí)現(xiàn)視頻監(jiān)控中移動(dòng)偵測(cè)、遮擋報(bào)警、隱私遮蓋區(qū)域和屏幕顯示信息在播放區(qū)域中的繪制、顯示和移動(dòng),并將相應(yīng)信息傳遞給頁(yè)面腳本,再由腳本傳遞給遠(yuǎn)端的數(shù)字硬盤錄像機(jī)或網(wǎng)絡(luò)攝像機(jī)。
4.根據(jù)權(quán)利要求I所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),其特征在于,所述瀏覽器交互單元包括以下子單元XEmbed轉(zhuǎn)化子單元,用于將插件窗體嵌入瀏覽器托座,并完成相應(yīng)的窗體類型轉(zhuǎn)換工作;內(nèi)部調(diào)度子單元,用于負(fù)責(zé)插件內(nèi)部各模塊的調(diào)度與回調(diào);本地配置子單元,用于對(duì)用戶自定義配置信息進(jìn)行本地化管理;插件版本控制子單元,用于為頁(yè)面腳本提供插件版本信息,對(duì)插件是否需要升級(jí)進(jìn)行判定;異常檢測(cè)子單元,用于對(duì)內(nèi)收集插件內(nèi)部由于網(wǎng)絡(luò)或內(nèi)存異常導(dǎo)致的錯(cuò)誤信息,對(duì)外為頁(yè)面腳本提供獲取插件錯(cuò)誤值的接口;插件實(shí)例管理子單元,用于在瀏覽器打開多標(biāo)簽頁(yè)時(shí),管理多個(gè)插件的實(shí)例,保證各單元之間回調(diào)正確的插件實(shí)例。
5.根據(jù)權(quán)利要求4所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),其特征在于,在所述本地配置子單元中,用戶自定義配置信息包括連接協(xié)議、碼流類型、播放窗口比例模式、錄像文件打包大小、錄像和抓圖文件的保存路徑。
6.根據(jù)權(quán)利要求I所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),其特征在于,所述可視化單元包括以下子單元Xll管理子單元,用于封裝Xll底層接口 ;通過Xll底層協(xié)議實(shí)現(xiàn)插件內(nèi)窗體的映射、2/2頁(yè)調(diào)整;主窗體子單元,用于負(fù)責(zé)所有子窗體的空間布局;同時(shí)負(fù)責(zé)部分與Linux文件系統(tǒng)的交互;子窗體子單元,用于向下調(diào)用網(wǎng)絡(luò)流單元,實(shí)現(xiàn)對(duì)播放區(qū)域子單元的控制,和對(duì)統(tǒng)一資源定位符的解析;播放區(qū)域子單元,用于負(fù)責(zé)填充和不同播放模式的幾何位置的計(jì)算,以及人機(jī)交互操作中鼠標(biāo)事件的處理;全屏窗體子單元,用于實(shí)現(xiàn)進(jìn)入或退出全屏播放狀態(tài)的一系列操作。
7.一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法,其特征在于,包括以下步驟瀏覽器根據(jù)頁(yè)面信息加載插件,并根據(jù)頁(yè)面腳本要求為插件創(chuàng)建托座;瀏覽器通過NPAPI協(xié)議將托座傳遞給插件;插件基于XEmbed協(xié)議,將待創(chuàng)建的主窗體嵌入瀏覽器托座,并保留該托座結(jié)構(gòu)中的相關(guān)信息;插件基于Xll底層協(xié)議,根據(jù)托座結(jié)構(gòu)信息,創(chuàng)建、映射并調(diào)整所有窗體;頁(yè)面腳本根據(jù)接收到的用戶請(qǐng)求,通過NPAPI調(diào)用插件的相應(yīng)接口實(shí)現(xiàn)不同的響應(yīng); 插件基于實(shí)時(shí)傳輸協(xié)議和實(shí)時(shí)流傳輸協(xié)議,從設(shè)備獲取和控制視頻碼流;插件實(shí)現(xiàn)網(wǎng)絡(luò)視頻播放和本地繪制工作。
8.根據(jù)權(quán)利要求7所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法,其特征在于,在所述插件實(shí)現(xiàn)視頻播放和繪制工作的步驟之后,還包括以下步驟插件向頁(yè)面腳本主動(dòng)發(fā)起事件,請(qǐng)求頁(yè)面腳本的進(jìn)一步處理。
9.根據(jù)權(quán)利要求8所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法,其特征在于,在所述插件向頁(yè)面腳本主動(dòng)發(fā)起事件,請(qǐng)求頁(yè)面腳本的進(jìn)一步處理的步驟之前,還包括以下步驟插件操作文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索工作。
10.根據(jù)權(quán)利要求7所述的基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的工作方法,其特征在于,在所述頁(yè)面腳本根據(jù)接收到的用戶請(qǐng)求,調(diào)用插件的相應(yīng)接口實(shí)現(xiàn)不同的響應(yīng)的步驟中,包括以下子步驟如果用戶的請(qǐng)求是請(qǐng)求預(yù)覽、回放、暫停、快慢放、單幀、繪制區(qū)域或屏幕菜單式調(diào)節(jié)方式信息操作,則進(jìn)入所述插件從設(shè)備獲取和控制視頻碼流的步驟;如果用戶的請(qǐng)求是請(qǐng)求導(dǎo)入導(dǎo)出設(shè)備或本地配置、設(shè)備日志、下載錄像、遠(yuǎn)程升級(jí)操作,則進(jìn)入所述插件操作文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索工作的步驟;如果用戶的請(qǐng)求是請(qǐng)求錄像、抓圖操作,則需同時(shí)進(jìn)入所述插件從設(shè)備獲取和控制視頻碼流的步驟和所述插件操作文件系統(tǒng),完成文件讀寫、磁盤分區(qū)參數(shù)檢索工作的步驟,協(xié)同完成工作;如果用戶的請(qǐng)求是請(qǐng)求重新設(shè)置播放窗口模式、獲取插件版本、錯(cuò)誤值操作,則會(huì)調(diào)用瀏覽器交互單元中的相應(yīng)子單元并將結(jié)果直接返回。
全文摘要
本發(fā)明涉及安防領(lǐng)域,公開了一種基于瀏覽器的智能網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)及其工作方法。本發(fā)明中,通過XEmbed協(xié)議將插件窗體嵌入瀏覽器托座,使監(jiān)控視頻的播放繪制可以跨越Linux的不同版本和不同瀏覽器;通過NPAPI框架和XEmbed協(xié)議實(shí)現(xiàn)插件與瀏覽器及頁(yè)面間的交互,屏蔽了不同瀏覽器和窗體管理器環(huán)境間的差異,為插件的開發(fā)、移植和維護(hù)帶來了便利;使用實(shí)時(shí)傳輸協(xié)議和實(shí)時(shí)流傳輸協(xié)議,以及瀏覽器和服務(wù)器結(jié)構(gòu)透明化的設(shè)計(jì)思想,為安防監(jiān)控行業(yè)的融合和標(biāo)準(zhǔn)化奠定了基礎(chǔ)。直接調(diào)用X11底層協(xié)議實(shí)現(xiàn)插件可視化,使監(jiān)控視頻的播放、交互與Linux系統(tǒng)的平臺(tái)相依性最小。
文檔編號(hào)H04N7/18GK102547231SQ20111036649
公開日2012年7月4日 申請(qǐng)日期2011年11月17日 優(yōu)先權(quán)日2011年11月17日
發(fā)明者吳飏, 張小媛, 施志萍, 石炎明 申請(qǐng)人:杭州海康威視數(shù)字技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1