本發(fā)明涉及物聯(lián)網(wǎng),視頻遠(yuǎn)程控制領(lǐng)域,特別指一種基于互聯(lián)網(wǎng)架構(gòu),通過(guò)圖像處理技術(shù)將虛擬界面與視頻畫(huà)面動(dòng)態(tài)融合,實(shí)現(xiàn)用戶通過(guò)瀏覽器在視頻畫(huà)面直接進(jìn)行監(jiān)控以及遠(yuǎn)程操作的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法及系統(tǒng)。
背景技術(shù):
當(dāng)前物聯(lián)網(wǎng)遠(yuǎn)程控制主要應(yīng)用在大規(guī)模工業(yè)生產(chǎn)中,實(shí)現(xiàn)方式主要是采用虛擬界面,用虛擬開(kāi)關(guān),度量表,虛擬圖表等表示真實(shí)變量的狀態(tài)?;蛘卟捎媒M態(tài)模塊進(jìn)行控制變量的表示,比較常用的比如LabVIEW等。除此之外這些軟件也可以實(shí)現(xiàn)視頻的嵌入,通過(guò)這種方式用戶除了可以觀察虛擬界面中變量的狀態(tài)之外,還可以更直觀的觀察硬件設(shè)備當(dāng)前的狀態(tài)。提高用戶的臨場(chǎng)體驗(yàn)。但是采用這種方式的遠(yuǎn)程控制系統(tǒng)存在一些問(wèn)題,首先是互聯(lián)網(wǎng)應(yīng)用方面,這種方式搭建的網(wǎng)絡(luò)控制系統(tǒng)一般需要在客戶端安裝軟件從而實(shí)現(xiàn)遠(yuǎn)端訪問(wèn),或者開(kāi)發(fā)ActiveX控件,通過(guò)瀏覽器加載插件的方式實(shí)現(xiàn)客戶端的功能。但是ActiveX控件又存在一定局限性,首先是難以實(shí)現(xiàn)手機(jī)端等類似移動(dòng)終端設(shè)備的訪問(wèn),其次是ActiveX控件對(duì)終端瀏覽器,計(jì)算機(jī)配置以及瀏覽器安全等級(jí)有一定要求,在大范圍使用過(guò)程中存在很多不便。
同時(shí)在視頻監(jiān)控領(lǐng)域,對(duì)于網(wǎng)絡(luò)遠(yuǎn)端監(jiān)控?cái)z像機(jī)的訪問(wèn)大都采用RTSP/RTMP協(xié)議,對(duì)于這一類網(wǎng)絡(luò)攝像機(jī)的訪問(wèn),同樣也會(huì)存在第三方ActiveX控件所帶來(lái)的安全和兼容性問(wèn)題,為了解決這一問(wèn)題,實(shí)現(xiàn)基于html網(wǎng)頁(yè)技術(shù)的網(wǎng)絡(luò)監(jiān)控?cái)z像機(jī)的控制,可以采用視頻系統(tǒng)與遠(yuǎn)程控制系統(tǒng)分離設(shè)計(jì),服務(wù)器中包含Web服務(wù)器與攝像機(jī)控制服務(wù)器,攝像機(jī)控制服務(wù)器由攝像機(jī)SDK開(kāi)發(fā)包實(shí)現(xiàn),專門用于與攝像機(jī)有關(guān)的數(shù)據(jù)傳遞,而Web服務(wù)器負(fù)責(zé)除攝像機(jī)外的其他數(shù)據(jù)傳遞,以及通過(guò)SOCKET通訊接口調(diào)用攝像機(jī)服務(wù)器中相關(guān)數(shù)據(jù)并將全部信息整合用于用戶交互。但是采用這種方案時(shí),用戶端與網(wǎng)絡(luò)攝像機(jī)之間包含了Web服務(wù)器和攝像機(jī)控制服務(wù)器兩個(gè)服務(wù)器的消息轉(zhuǎn)發(fā),這樣在時(shí)延消除和系統(tǒng)可靠性上都會(huì)有所欠缺。
除此之外,不管是基于組態(tài)軟件還是基于網(wǎng)絡(luò)攝像機(jī)SDK所開(kāi)發(fā)的視頻遠(yuǎn)程控制系統(tǒng),視頻畫(huà)面只是起到監(jiān)控的作用。尤其在攝像機(jī)視角變化時(shí),畫(huà)面中的實(shí)體元件與虛擬界面中組態(tài)模塊無(wú)法一一對(duì)應(yīng)。視頻畫(huà)面與虛擬界面無(wú)法有效的動(dòng)態(tài)融合。所以在此類遠(yuǎn)程控制系統(tǒng)中,視頻只是輔助,虛擬界面是用戶交互的關(guān)鍵。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述的以及其他潛在的技術(shù)問(wèn)題,本發(fā)明的主要目的在于基于Web服務(wù)器以及圖像處理機(jī)器學(xué)習(xí)技術(shù)提供一種通用的、便于移植的視頻監(jiān)控遠(yuǎn)程控制方法及系統(tǒng)。通過(guò)Web服務(wù)器實(shí)現(xiàn)對(duì)攝像頭以及遠(yuǎn)程控制平臺(tái)的直接操作,以及通過(guò)html頁(yè)面或者flash技術(shù)在瀏覽器界面中實(shí)現(xiàn)視頻畫(huà)面與虛擬界面的動(dòng)態(tài)融合,實(shí)現(xiàn)虛擬界面元件跟隨視頻畫(huà)面的變化而變化。
為實(shí)現(xiàn)上述技術(shù)效果,本發(fā)明的第一方面提供了一種物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法的實(shí)施例,其包括:
獲取來(lái)自用戶交互頁(yè)面的控制指令,所述用戶交互頁(yè)面包括視頻畫(huà)面和供用戶交互的執(zhí)行機(jī)構(gòu)的虛擬界面;
將所述控制指令傳輸至遠(yuǎn)程控制服務(wù)器,以指示所述遠(yuǎn)程控制服務(wù)器根據(jù)所述控制指令操作執(zhí)行機(jī)構(gòu);
響應(yīng)于所述控制指令,調(diào)用網(wǎng)絡(luò)攝像機(jī)接口向網(wǎng)絡(luò)攝像機(jī)發(fā)送拍攝指令,以指示所述網(wǎng)絡(luò)攝像機(jī)執(zhí)行拍攝操作;
獲取所述網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)的圖像偏移信息,并根據(jù)所述圖像偏移信息修改用戶交互頁(yè)面中的虛擬界面,使虛擬界面中的執(zhí)行機(jī)構(gòu)與視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)保持一致;以及
在所述用戶交互頁(yè)面展示所述網(wǎng)絡(luò)攝像機(jī)拍攝的所述視頻畫(huà)面和經(jīng)修改的所述虛擬界面。
在一些實(shí)施例中,所述方法還包括:生成用戶交互頁(yè)面;
并且其中,所述獲取來(lái)自用戶交互頁(yè)面的控制指令,包括:
響應(yīng)于生成的所述用戶交互頁(yè)面接收到控制指令,獲取所述控制指令。
在一些實(shí)施方式中,所述將所述控制指令傳輸至遠(yuǎn)程控制服務(wù)器,以指示所述遠(yuǎn)程控制服務(wù)器根據(jù)所述控制指令操作執(zhí)行機(jī)構(gòu),還包括:
獲取并保存來(lái)自所述遠(yuǎn)程控制服務(wù)器的操作所述執(zhí)行機(jī)構(gòu)的實(shí)時(shí)操作數(shù)據(jù);
所述方法還包括:獲取查詢請(qǐng)求;
并且,根據(jù)所述查詢請(qǐng)求,對(duì)所述實(shí)時(shí)操作數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,在所述用戶交互頁(yè)面展示經(jīng)數(shù)據(jù)處理的所述實(shí)時(shí)操作數(shù)據(jù)。
在一些實(shí)施方式中,本發(fā)明方法還包括:通過(guò)一推流服務(wù)器采集所述網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面的畫(huà)面碼流,并向所述用戶交互頁(yè)面進(jìn)行推流,以展示所述視頻畫(huà)面。
在一些實(shí)施方式中,所述獲取所述網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)的圖像偏移信息,包括:
通過(guò)一圖像處理服務(wù)器周期性獲取視頻畫(huà)面,對(duì)虛擬界面中預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)重新進(jìn)行定位與標(biāo)定,并與預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)的定位與標(biāo)定進(jìn)行比對(duì),獲取圖像偏移信息。
本發(fā)明的第二方面提供了一種物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的實(shí)施例,其包括:
獲取模塊,用于獲取來(lái)自用戶交互頁(yè)面的控制指令,所述用戶交互頁(yè)面包括視頻畫(huà)面和供用戶交互的執(zhí)行機(jī)構(gòu)的虛擬界面;
傳輸模塊,用于將所述控制指令傳輸至遠(yuǎn)程控制服務(wù)器,以指示所述遠(yuǎn)程控制服務(wù)器根據(jù)所述控制指令操作執(zhí)行機(jī)構(gòu);
調(diào)用模塊,用于響應(yīng)于所述控制指令,調(diào)用網(wǎng)絡(luò)攝像機(jī)接口向網(wǎng)絡(luò)攝像機(jī)發(fā)送拍攝指令,以指示所述網(wǎng)絡(luò)攝像機(jī)執(zhí)行拍攝操作;
界面交互模塊,用于獲取所述網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)的圖像偏移信息,并根據(jù)所述圖像偏移信息修改用戶交互頁(yè)面中的虛擬界面,使虛擬界面中的執(zhí)行機(jī)構(gòu)與視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)保持一致;以及
展示模塊,用于在所述用戶交互頁(yè)面展示所述網(wǎng)絡(luò)攝像機(jī)拍攝的所述視頻畫(huà)面和經(jīng)修改的所述虛擬界面。
在一些實(shí)施方式中,本發(fā)明系統(tǒng)還包括:一頁(yè)面生成模塊,用于生成用戶交互頁(yè)面;
并且,所述獲取模塊還用于:響應(yīng)于生成的所述用戶交互頁(yè)面接收到控制指令,獲取所述控制指令。
在一些實(shí)施方式中,本發(fā)明系統(tǒng)還包括:一數(shù)據(jù)庫(kù)管理模塊,用于獲取并保存來(lái)自所述遠(yuǎn)程控制服務(wù)器的操作所述執(zhí)行機(jī)構(gòu)的實(shí)時(shí)操作數(shù)據(jù);
并且,所述獲取模塊還用于:獲取查詢請(qǐng)求,并根據(jù)所述查詢請(qǐng)求,對(duì)所述實(shí)時(shí)操作數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,在所述用戶交互頁(yè)面展示經(jīng)數(shù)據(jù)處理的所述實(shí)時(shí)操作數(shù)據(jù)。
在一些實(shí)施方式中,本發(fā)明系統(tǒng)還包括:一推流服務(wù)器,用于采集所述網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面的畫(huà)面碼流,并向所述用戶交互頁(yè)面進(jìn)行推流,以展示所述視頻畫(huà)面。
在一些實(shí)施方式中,本發(fā)明系統(tǒng)還包括一圖像處理服務(wù)器,用于周期性獲取視頻畫(huà)面,對(duì)虛擬界面中預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)重新進(jìn)行定位與標(biāo)定,并與預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)的定位與標(biāo)定進(jìn)行比對(duì),得到圖像偏移信息。
本發(fā)明由于采用以上技術(shù)方案,具有以下優(yōu)點(diǎn):
由于視頻部分采用網(wǎng)絡(luò)攝像機(jī),并通過(guò)發(fā)送控制指令可以直接對(duì)網(wǎng)絡(luò)攝像機(jī)進(jìn)行控制,無(wú)需中間服務(wù)器進(jìn)行指令轉(zhuǎn)發(fā),使用戶可以在用戶交互頁(yè)面中直接觀看視頻畫(huà)面并在用戶交互頁(yè)面中完成對(duì)網(wǎng)絡(luò)攝像機(jī)以及執(zhí)行機(jī)構(gòu)的一系列操作。避免了采用通常網(wǎng)絡(luò)監(jiān)控所需要的安裝軟件或在網(wǎng)頁(yè)中嵌入ActiveX控件,從而避免了ActiveX控件的瀏覽器兼容問(wèn)題和安全問(wèn)題。
同時(shí)本發(fā)明方法通過(guò)圖像處理技術(shù)實(shí)現(xiàn)了對(duì)于視頻圖像中執(zhí)行機(jī)構(gòu)的識(shí)別,在用戶交互頁(yè)面中可以將視頻畫(huà)面中執(zhí)行機(jī)構(gòu)(如按鈕等)用特殊符號(hào)標(biāo)記,在網(wǎng)絡(luò)攝像機(jī)移動(dòng)的情況下這些標(biāo)記在畫(huà)面中同步移動(dòng),實(shí)現(xiàn)了用戶交互頁(yè)面中真實(shí)的視頻畫(huà)面與虛擬界面的融合,相比于純粹的虛擬界面極大的提高用戶臨場(chǎng)體驗(yàn)。同時(shí)由于這一方法可直接在瀏覽器中運(yùn)行,系統(tǒng)更新只需在網(wǎng)絡(luò)服務(wù)器中進(jìn)行,系統(tǒng)維護(hù)更為便利。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的實(shí)施例中的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法的流程圖。
圖2為本發(fā)明的實(shí)施例中的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的架構(gòu)圖。
圖3為本發(fā)明的實(shí)施例中的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的數(shù)據(jù)與信號(hào)的傳輸流程圖。
圖4為本發(fā)明的實(shí)施例中的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的功能模塊示意圖。
圖5為本發(fā)明的實(shí)施例中的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的圖像偏移信息的獲取流程圖。
具體實(shí)施方式
以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
需要說(shuō)明的是,本說(shuō)明書(shū)所附圖式所繪示的結(jié)構(gòu)、比例、大小等,均僅用以配合說(shuō)明書(shū)所揭示的內(nèi)容,以供熟悉此技術(shù)的人士了解與閱讀,并非用以限定本發(fā)明可實(shí)施的限定條件,故不具技術(shù)上的實(shí)質(zhì)意義,任何結(jié)構(gòu)的修飾、比例關(guān)系的改變或大小的調(diào)整,在不影響本發(fā)明所能產(chǎn)生的功效及所能達(dá)成的目的下,均應(yīng)仍落在本發(fā)明所揭示的技術(shù)內(nèi)容得能涵蓋的范圍內(nèi)。同時(shí),本說(shuō)明書(shū)中所引用的如“上”、“下”、“左”、“右”、“中間”及“一”等的用語(yǔ),亦僅為便于敘述的明了,而非用以限定本發(fā)明可實(shí)施的范圍,其相對(duì)關(guān)系的改變或調(diào)整,在無(wú)實(shí)質(zhì)變更技術(shù)內(nèi)容下,當(dāng)亦視為本發(fā)明可實(shí)施的范疇。
目前,不管是基于組態(tài)軟件還是基于網(wǎng)絡(luò)攝像機(jī)SDK所開(kāi)發(fā)的視頻遠(yuǎn)程控制系統(tǒng),視頻畫(huà)面只是起到監(jiān)控的作用。尤其在攝像機(jī)視角變化時(shí),畫(huà)面中的實(shí)體元件與虛擬界面中組態(tài)模塊無(wú)法一一對(duì)應(yīng)。視頻畫(huà)面與虛擬界面無(wú)法有效的動(dòng)態(tài)融合。所以在此類遠(yuǎn)程控制系統(tǒng)中,視頻只是輔助,虛擬界面是用戶交互的關(guān)鍵。
有鑒于此,本發(fā)明的主要目的在于基于Web服務(wù)器以及圖像處理機(jī)器學(xué)習(xí)技術(shù)提供一種通用的,便于移植的視頻監(jiān)控遠(yuǎn)程控制平臺(tái)。通過(guò)Web服務(wù)器實(shí)現(xiàn)對(duì)攝像頭以及遠(yuǎn)程控制平臺(tái)的直接操作,以及通過(guò)html頁(yè)面或者flash技術(shù)在瀏覽器界面中實(shí)現(xiàn)視頻畫(huà)面與虛擬界面的動(dòng)態(tài)融合,實(shí)現(xiàn)虛擬界面元件跟隨視頻畫(huà)面的變化而變化。
下面結(jié)合附圖以及具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步地詳細(xì)說(shuō)明。
首先,參閱圖1所示,本發(fā)明的實(shí)施例中提供了一種物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法,其主要包括如下步驟:
步驟101:獲取來(lái)自用戶交互頁(yè)面的控制指令,該用戶交互頁(yè)面包括視頻畫(huà)面和供用戶交互的執(zhí)行機(jī)構(gòu)的虛擬界面;
步驟102:將控制指令傳輸至遠(yuǎn)程控制服務(wù)器,以指示遠(yuǎn)程控制服務(wù)器根據(jù)控制指令操作執(zhí)行機(jī)構(gòu);
步驟103:響應(yīng)于控制指令,調(diào)用網(wǎng)絡(luò)攝像機(jī)接口向網(wǎng)絡(luò)攝像機(jī)發(fā)送拍攝指令,以指示網(wǎng)絡(luò)攝像機(jī)執(zhí)行拍攝操作;
步驟104:獲取網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)的圖像偏移信息,并根據(jù)圖像偏移信息修改用戶交互頁(yè)面中的虛擬界面,使虛擬界面中的執(zhí)行機(jī)構(gòu)與視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)保持一致;以及
步驟105:在用戶交互頁(yè)面展示網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面和經(jīng)修改的虛擬界面。
采用上述技術(shù)方案,由于視頻部分采用網(wǎng)絡(luò)攝像機(jī),并通過(guò)發(fā)送控制指令可以直接對(duì)網(wǎng)絡(luò)攝像機(jī)進(jìn)行控制,無(wú)需中間服務(wù)器進(jìn)行指令轉(zhuǎn)發(fā),使用戶可以在用戶交互頁(yè)面中直接觀看視頻畫(huà)面并在用戶交互頁(yè)面中完成對(duì)網(wǎng)絡(luò)攝像機(jī)以及執(zhí)行機(jī)構(gòu)的一系列操作。避免了采用通常網(wǎng)絡(luò)監(jiān)控所需要的安裝軟件或在網(wǎng)頁(yè)中嵌入ActiveX控件,從而避免了ActiveX控件的瀏覽器兼容問(wèn)題和安全問(wèn)題。
同時(shí)本發(fā)明方法通過(guò)圖像處理技術(shù)實(shí)現(xiàn)了對(duì)于視頻圖像中執(zhí)行機(jī)構(gòu)的識(shí)別,在用戶交互頁(yè)面中可以將視頻畫(huà)面中執(zhí)行機(jī)構(gòu)(如按鈕等)用特殊符號(hào)標(biāo)記,在網(wǎng)絡(luò)攝像機(jī)移動(dòng)的情況下這些標(biāo)記在畫(huà)面中同步移動(dòng),實(shí)現(xiàn)了用戶交互頁(yè)面中真實(shí)的視頻畫(huà)面與虛擬界面的融合,相比于純粹的虛擬界面極大的提高用戶臨場(chǎng)體驗(yàn)。同時(shí)由于這一方法可直接在瀏覽器中運(yùn)行,系統(tǒng)更新只需在網(wǎng)絡(luò)服務(wù)器中進(jìn)行,系統(tǒng)維護(hù)更為便利。
在一些實(shí)施例中,本發(fā)明的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法還包括步驟:生成用戶交互頁(yè)面;
并且其中,所述的獲取來(lái)自用戶交互頁(yè)面的控制指令,包括:
響應(yīng)于生成的上述用戶交互頁(yè)面接收到控制指令,獲取控制指令。
在一些實(shí)施方式中,所述將所述控制指令傳輸至遠(yuǎn)程控制服務(wù)器,以指示所述遠(yuǎn)程控制服務(wù)器根據(jù)所述控制指令操作執(zhí)行機(jī)構(gòu),還包括:
獲取并保存來(lái)自所述遠(yuǎn)程控制服務(wù)器的操作所述執(zhí)行機(jī)構(gòu)的實(shí)時(shí)操作數(shù)據(jù);
所述方法還包括:獲取查詢請(qǐng)求;
并且,根據(jù)所述查詢請(qǐng)求,對(duì)所述實(shí)時(shí)操作數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,在所述用戶交互頁(yè)面展示經(jīng)數(shù)據(jù)處理的所述實(shí)時(shí)操作數(shù)據(jù)。
在一些實(shí)施例中,本發(fā)明的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法還包括步驟:通過(guò)一推流服務(wù)器采集網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面的畫(huà)面碼流,并向用戶交互頁(yè)面進(jìn)行推流,以展示視頻畫(huà)面。
在一些實(shí)施例中,本發(fā)明的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制方法還包括步驟:獲取網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)的圖像偏移信息,包括:
通過(guò)一圖像處理服務(wù)器周期性獲取視頻畫(huà)面,對(duì)虛擬界面中預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)重新進(jìn)行定位與標(biāo)定,并與預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)的定位與標(biāo)定進(jìn)行比對(duì),獲取圖像偏移信息。
配合圖2和圖3所示,本發(fā)明的第二方面提供了一種物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的實(shí)施例,其主要包括:一網(wǎng)絡(luò)服務(wù)器11(Web服務(wù)器),主要用于:獲取來(lái)自用戶交互頁(yè)面10(Web頁(yè)面)的控制指令,用戶交互頁(yè)面包括視頻畫(huà)面和供用戶交互的執(zhí)行機(jī)構(gòu)的虛擬界面;將控制指令傳輸至遠(yuǎn)程控制服務(wù)器14,以指示遠(yuǎn)程控制服務(wù)器14根據(jù)控制指令操作執(zhí)行機(jī)構(gòu)與控制臺(tái)面板15;響應(yīng)于控制指令,調(diào)用網(wǎng)絡(luò)攝像機(jī)接口12向網(wǎng)絡(luò)攝像機(jī)16發(fā)送拍攝指令,以指示網(wǎng)絡(luò)攝像機(jī)16執(zhí)行拍攝操作,網(wǎng)絡(luò)攝像機(jī)16對(duì)準(zhǔn)執(zhí)行機(jī)構(gòu)與控制臺(tái)面板15進(jìn)行拍攝;獲取網(wǎng)絡(luò)攝像機(jī)16拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)與控制臺(tái)面板15的圖像偏移信息,并根據(jù)圖像偏移信息修改用戶交互頁(yè)面10中的虛擬界面,使虛擬界面中的執(zhí)行機(jī)構(gòu)與控制臺(tái)面板15同視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)與控制臺(tái)面板保持一致;以及,在用戶交互頁(yè)面10展示網(wǎng)絡(luò)攝像機(jī)16拍攝的視頻畫(huà)面和經(jīng)修改的虛擬界面。通過(guò)Web服務(wù)器能夠?qū)崿F(xiàn)用戶遠(yuǎn)程視頻觀看,遠(yuǎn)程硬件控制,以及視頻畫(huà)面與虛擬界面融合。
如圖4所示,網(wǎng)絡(luò)服務(wù)器11進(jìn)一步包括以下各功能模塊:
一獲取模塊111,用于獲取來(lái)自用戶交互頁(yè)面的控制指令,其中,用戶交互頁(yè)面包括視頻畫(huà)面和供用戶交互的執(zhí)行機(jī)構(gòu)的虛擬界面;
一傳輸模塊112,用于將控制指令傳輸至遠(yuǎn)程控制服務(wù)器,以指示遠(yuǎn)程控制服務(wù)器根據(jù)控制指令操作執(zhí)行機(jī)構(gòu)與控制臺(tái)面板;
一調(diào)用模塊113,用于響應(yīng)于控制指令,調(diào)用網(wǎng)絡(luò)攝像機(jī)接口向網(wǎng)絡(luò)攝像機(jī)發(fā)送拍攝指令,以指示網(wǎng)絡(luò)攝像機(jī)執(zhí)行拍攝操作;
一界面交互模塊114,用于獲取網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)的圖像偏移信息,并根據(jù)圖像偏移信息修改用戶交互頁(yè)面中的虛擬界面,使虛擬界面中的執(zhí)行機(jī)構(gòu)與視頻畫(huà)面中的執(zhí)行機(jī)構(gòu)保持一致;以及
一展示模塊115,用于在用戶交互頁(yè)面展示網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面和經(jīng)修改的虛擬界面。
在一些實(shí)施方式中,本發(fā)明系統(tǒng)還可包括以下一種或多種功能模塊:
一頁(yè)面生成模塊,用于生成用戶交互頁(yè)面;
并且,獲取模塊還用于:響應(yīng)于生成的用戶交互頁(yè)面接收到控制指令,獲取控制指令。
一數(shù)據(jù)庫(kù)管理模塊,用于獲取并保存來(lái)自遠(yuǎn)程控制服務(wù)器的操作執(zhí)行機(jī)構(gòu)的實(shí)時(shí)操作數(shù)據(jù);
并且,獲取模塊還用于:獲取查詢請(qǐng)求,并根據(jù)查詢請(qǐng)求,對(duì)實(shí)時(shí)操作數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,在用戶交互頁(yè)面展示經(jīng)數(shù)據(jù)處理的實(shí)時(shí)操作數(shù)據(jù)。
一推流服務(wù)器17,可采用RIMP推流服務(wù)器,用于采集網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面的畫(huà)面碼流,并向用戶交互頁(yè)面進(jìn)行推流,以展示所述視頻畫(huà)面。
一圖像處理服務(wù)器,用于周期性獲取視頻畫(huà)面,對(duì)虛擬界面中預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)重新進(jìn)行定位與標(biāo)定,并與預(yù)先設(shè)置的執(zhí)行機(jī)構(gòu)的定位與標(biāo)定進(jìn)行比對(duì),得到圖像偏移信息。
本發(fā)明的物聯(lián)網(wǎng)視頻遠(yuǎn)程控制系統(tǒng)的主要目的在于基于Web服務(wù)器以及圖像處理機(jī)器學(xué)習(xí)技術(shù)提供一種通用的,便于移植的視頻監(jiān)控遠(yuǎn)程控制平臺(tái)。通過(guò)Web服務(wù)器實(shí)現(xiàn)對(duì)攝像頭以及遠(yuǎn)程控制平臺(tái)的直接操作,以及通過(guò)html頁(yè)面或者flash技術(shù)在瀏覽器界面中實(shí)現(xiàn)視頻畫(huà)面與虛擬界面的動(dòng)態(tài)融合,實(shí)現(xiàn)虛擬界面元件跟隨視頻畫(huà)面的變化而變化。本發(fā)明的實(shí)現(xiàn)主要依靠于以下各部分的組成:網(wǎng)絡(luò)服務(wù)器11(Web服務(wù)器),網(wǎng)絡(luò)攝像機(jī)接口12,圖像處理服務(wù)器13,遠(yuǎn)程控制服務(wù)器14,執(zhí)行機(jī)構(gòu)與控制臺(tái)面板15。下面對(duì)以上各組成部分的功效做進(jìn)一步詳細(xì)說(shuō)明:
Web服務(wù)器,該服務(wù)器提供界面展示、用戶交互、訪問(wèn)控制、視頻展示,數(shù)據(jù)保存以及控制指令采集與控制指令初步解析等服務(wù);其主要用于用戶交互、數(shù)據(jù)存儲(chǔ)以及用戶控制指令轉(zhuǎn)發(fā),是本系統(tǒng)的核心部分。Web服務(wù)器通過(guò)或調(diào)用網(wǎng)絡(luò)攝像機(jī)接口12程序?qū)崿F(xiàn)對(duì)網(wǎng)絡(luò)攝像機(jī)16的遠(yuǎn)程操作。
Web服務(wù)器提供通常網(wǎng)站所需的一切功能,包括用戶注冊(cè)登錄,后臺(tái)數(shù)據(jù)管理,前端頁(yè)面組織等。通過(guò)路由管理和中間件,Web服務(wù)器確保特定用戶可以觀看視頻以及對(duì)遠(yuǎn)端硬件進(jìn)行控制。
比如:Web服務(wù)器具有生成用戶交互頁(yè)面的功能,具體為:根據(jù)接收到的HTTP請(qǐng)求組織頁(yè)面,在數(shù)據(jù)庫(kù)中對(duì)不同的用戶分配不同的權(quán)限,Web服務(wù)器包含用戶登錄功能,對(duì)于權(quán)限許可的用戶登錄后可以進(jìn)入用戶交互頁(yè)面;在用戶交互頁(yè)面下,用戶可以觀看遠(yuǎn)程監(jiān)控視頻,并對(duì)遠(yuǎn)程控制平臺(tái)進(jìn)行遠(yuǎn)程操作。
Web服務(wù)器具有保存執(zhí)行機(jī)構(gòu)與控制臺(tái)面板的實(shí)時(shí)操作數(shù)據(jù)的功能,具體為:Web服務(wù)器中包含數(shù)據(jù)庫(kù)管理模塊和緩存,遠(yuǎn)程控制服務(wù)器通過(guò)HTTP請(qǐng)求上傳數(shù)據(jù),數(shù)據(jù)保存在數(shù)據(jù)庫(kù)管理模塊和緩存中,Web服務(wù)器可以調(diào)用這些數(shù)據(jù)并通過(guò)網(wǎng)頁(yè)表格或圖表等數(shù)據(jù)處理方式向用戶進(jìn)行展示。具體數(shù)據(jù)格式與內(nèi)容根據(jù)遠(yuǎn)程控制服務(wù)器具體形式而定。例如:Web服務(wù)器根據(jù)接收到的用戶遠(yuǎn)程操作請(qǐng)求,向遠(yuǎn)程控制服務(wù)器發(fā)送SOCKET控制命令,或者調(diào)用攝像機(jī)遠(yuǎn)程控制接口向遠(yuǎn)端網(wǎng)絡(luò)攝像機(jī)發(fā)送SOCKET拍攝指令;Web服務(wù)器根據(jù)需要接收遠(yuǎn)程控制服務(wù)器發(fā)送的實(shí)時(shí)操作數(shù)據(jù),并保存在數(shù)據(jù)庫(kù)或緩存中,根據(jù)用戶請(qǐng)求將這些數(shù)據(jù)進(jìn)行展示或生成波形圖。其中,網(wǎng)絡(luò)攝像機(jī)接口12,由PHP或JavaScript語(yǔ)言編寫(xiě),包含私有格式SOCKET通信服務(wù),與Web服務(wù)器兼容,Web服務(wù)器可以直接調(diào)用此接口用于實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)攝像機(jī)以及云臺(tái)進(jìn)行控制。
RTMP推流服務(wù)器,接收網(wǎng)絡(luò)攝像機(jī)RTMP格式的視頻數(shù)據(jù),并向互聯(lián)網(wǎng)進(jìn)行推流服務(wù)。
圖像處理服務(wù)器:該服務(wù)器基于C++開(kāi)發(fā)可以截取網(wǎng)絡(luò)攝像機(jī)拍攝的視頻畫(huà)面,并對(duì)視頻畫(huà)面進(jìn)行圖像處理以及特征識(shí)別;
綜合全部當(dāng)前特征的位置并于原始坐標(biāo)進(jìn)行比對(duì),從而得到圖像偏移參數(shù)(在本實(shí)施例中為圖像偏移向量),依據(jù)特定格式通過(guò)SOCKET方式將圖像偏移向量對(duì)Web服務(wù)器進(jìn)行發(fā)送。
圖像偏移向量中包含的信息有x軸y軸平移系數(shù),圖像縮放系數(shù)。
對(duì)于Web服務(wù)器與遠(yuǎn)程控制服務(wù)器之間的交互,具體為:Web服務(wù)器接收客戶端發(fā)送的HTTP請(qǐng)求并與特定的遠(yuǎn)程控制服務(wù)器保持常連接,通過(guò)SOCKET指令對(duì)遠(yuǎn)程控制服務(wù)器進(jìn)行控制指令的轉(zhuǎn)發(fā),遠(yuǎn)程控制服務(wù)器根據(jù)SOCKET指令對(duì)自身狀態(tài)進(jìn)行修改,指令格式根據(jù)遠(yuǎn)程控制平臺(tái)實(shí)際情況確定,如圖3所示。Web服務(wù)器與圖像處理服務(wù)器之間通過(guò)SOCKET私有數(shù)據(jù)格式進(jìn)行單向數(shù)據(jù)傳遞,數(shù)據(jù)格式為“x:number1;y:number2;z:number3”,三個(gè)參數(shù)分別表示x軸位移,y軸位移,縮放大小。
Web服務(wù)器定時(shí)接收?qǐng)D像處理服務(wù)器發(fā)送的圖像偏移參數(shù),根據(jù)圖像偏移參數(shù)采用異步方式對(duì)前端的用戶交互頁(yè)面進(jìn)行修改,對(duì)虛擬界面進(jìn)行位移調(diào)整,與視頻畫(huà)面中的真實(shí)元件一一對(duì)應(yīng),實(shí)現(xiàn)視頻畫(huà)面與虛擬界面的動(dòng)態(tài)融合。具體為:Web服務(wù)器在獲得該圖像偏移向量后動(dòng)態(tài)修改展示頁(yè)面中虛擬元件的位置和大小,從而實(shí)現(xiàn)對(duì)頁(yè)面視頻中用戶交互部分(如按鈕等)進(jìn)行標(biāo)定和位置修正,將視頻畫(huà)面中的真實(shí)元件與虛擬界面中的執(zhí)行元件一一對(duì)應(yīng),從而實(shí)現(xiàn)視頻畫(huà)面與虛擬界面的動(dòng)態(tài)融合。
遠(yuǎn)程控制平臺(tái):以參數(shù)形式保存全部I/O狀態(tài),接收Web服務(wù)器的SOCKET控制命令或通過(guò)HTTP協(xié)議請(qǐng)求周期性掃描Web服務(wù)器變量改動(dòng),并通過(guò)I/O口實(shí)現(xiàn)對(duì)硬件控制。對(duì)于數(shù)據(jù)的提交,該平臺(tái)通過(guò)HTTP協(xié)議對(duì)Web服務(wù)器發(fā)送POST請(qǐng)求,Web服務(wù)器將采集到的數(shù)據(jù)保存在Web數(shù)據(jù)庫(kù)或緩存中。
網(wǎng)絡(luò)攝像機(jī)接口12由Web語(yǔ)言編寫(xiě)與Web服務(wù)器兼容,并可以直接通過(guò)SOCKET方式對(duì)遠(yuǎn)端網(wǎng)絡(luò)攝像機(jī)16進(jìn)行控制,對(duì)于由PHP或JavaScript編寫(xiě)的Web服務(wù)器該網(wǎng)絡(luò)攝像機(jī)接口12有兩種組織形式,一是接口直接由PHP或JavaScript語(yǔ)言根據(jù)與網(wǎng)絡(luò)攝像機(jī)之間的私有通訊規(guī)則編寫(xiě),采用開(kāi)源的方式由服務(wù)器直接進(jìn)行調(diào)用。第二種是由C++編寫(xiě)并生成與PHP兼容的動(dòng)態(tài)鏈接庫(kù)供服務(wù)器調(diào)用。
網(wǎng)絡(luò)攝像機(jī)接口與遠(yuǎn)端網(wǎng)絡(luò)攝像機(jī)由SOCKET進(jìn)行雙向通信,網(wǎng)絡(luò)攝像機(jī)通過(guò)心跳程序定時(shí)向接口程序發(fā)送本機(jī)IP,當(dāng)Web服務(wù)器收到用戶的網(wǎng)絡(luò)攝像機(jī)控制請(qǐng)求后,與該網(wǎng)絡(luò)攝像機(jī)建立SOCKET常連接并發(fā)送控制指令,如果一段時(shí)間沒(méi)有控制請(qǐng)求連接自動(dòng)斷開(kāi)。
控制臺(tái)面板中包含按鈕、電機(jī)等一系列需要遠(yuǎn)程控制的執(zhí)行機(jī)構(gòu)以及電壓電流表,示波器畫(huà)面等需要向用戶展示的元件,這些元件與執(zhí)行機(jī)構(gòu)用特殊顏色標(biāo)記以便圖像處理服務(wù)器進(jìn)行區(qū)分。
配合圖5所示,圖像處理服務(wù)器調(diào)用攝像機(jī)SDK定時(shí)抓取視頻圖像,對(duì)圖像進(jìn)行通道分離,閾值分割,腐蝕膨脹等一系列操作,最終得到效果清晰的包含元件與執(zhí)行機(jī)構(gòu)的二值化圖像。
通過(guò)卷積方式對(duì)元件與執(zhí)行機(jī)構(gòu)進(jìn)行識(shí)別,得到它們?cè)趫D片中的相對(duì)位置,同時(shí)在圖像處理服務(wù)器中同時(shí)保存著元件在圖像中的最初位置,這些位置坐標(biāo)以文件形式保存。
圖像處理服務(wù)器將新的位置與初始位置通過(guò)機(jī)器學(xué)習(xí)方法進(jìn)行比對(duì)獲得圖像偏移數(shù)據(jù),并通過(guò)SOCKET方式定時(shí)將圖像偏移數(shù)據(jù)發(fā)送給Web服務(wù)器,Web服務(wù)器在獲取圖像偏移數(shù)據(jù)后依據(jù)這些參數(shù)修改用戶交互頁(yè)面中虛擬界面部分,使虛擬界面中的元件與視頻畫(huà)面中真實(shí)元件相互對(duì)應(yīng)。圖像處理服務(wù)器也可以進(jìn)行初始化操作,即將元件當(dāng)前坐標(biāo)以文件形式保存作為新的初始坐標(biāo)。
遠(yuǎn)程控制服務(wù)器通過(guò)I/O口對(duì)硬件進(jìn)行直接操作,通過(guò)數(shù)據(jù)采集卡進(jìn)行數(shù)據(jù)采集。遠(yuǎn)程控制服務(wù)器通過(guò)SOCKET方式與Web服務(wù)器進(jìn)行雙向通信,接收客戶端控制指令,并定時(shí)發(fā)送采集到的數(shù)據(jù)和當(dāng)前開(kāi)關(guān)變量以及數(shù)字變量的狀態(tài)。或者采用HTTP請(qǐng)求的方式向Web服務(wù)器定時(shí)提交數(shù)據(jù)以及同步變量狀態(tài)。
本發(fā)明由于采用以上技術(shù)方案,具有以下優(yōu)點(diǎn):
由于視頻部分采用RTMP協(xié)議網(wǎng)絡(luò)攝像機(jī),并通過(guò)Web服務(wù)器發(fā)送SOCKET指令可以直接對(duì)攝像機(jī)進(jìn)行控制無(wú)需中間服務(wù)器進(jìn)行指令轉(zhuǎn)發(fā),使用戶可以通過(guò)FLASH或HTML標(biāo)簽在瀏覽器中直接觀看視頻并在網(wǎng)頁(yè)中完成對(duì)攝像機(jī)以及云臺(tái)的一系列操作。避免了采用通常網(wǎng)絡(luò)監(jiān)控所需要的安裝軟件或在網(wǎng)頁(yè)中嵌入ActiveX控件,從而避免了ActiveX控件的瀏覽器兼容問(wèn)題和安全問(wèn)題。
同時(shí)本系統(tǒng)通過(guò)圖像處理技術(shù)實(shí)現(xiàn)了對(duì)于視頻圖像中控制元件的識(shí)別,在HTML頁(yè)面或FLASH中可以將視頻中控制元件(如按鈕等)用特殊符號(hào)標(biāo)記,在攝像機(jī)移動(dòng)的情況下這些標(biāo)記在畫(huà)面中同步移動(dòng),實(shí)現(xiàn)了網(wǎng)頁(yè)中真實(shí)畫(huà)面與虛擬界面的融合,相比于純粹的虛擬界面極大的提高用戶臨場(chǎng)體驗(yàn)。同時(shí)由于這一系統(tǒng)直接在瀏覽器中運(yùn)行,系統(tǒng)更新只需在Web服務(wù)器中進(jìn)行,系統(tǒng)維護(hù)更為便利。
以上所述僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明做任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案的范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。