一種攝像機的調用方法、裝置及系統與流程
2023-09-13 21:52:20

本發明涉及計算機技術領域,特別涉及一種攝像機的調用方法、裝置及系統。
背景技術:
攝像機是安防領域一種常見的電子設備,主要用於視頻捕捉,廣泛應用於學校、公司、銀行、交通、平安城市等安保領域。監控人員通過前端應用程式調用攝像機,實現在線預覽、抓拍、錄像、回放等功能,以對監控區域進行更好的監控。
目前,在通過前端應用程式調用攝像機時,在前端應用程式配置攝像機的配置信息,前端應用程式根據攝像機的配置信息,通過相應的接口對攝像機進行調用。
針對於目前對攝像機的調用方法,由於不同廠商所生產的攝像機具有不同的接口,無法通過同一個前端應用程式調用不同廠商所生產的攝像機,因而在調用不同廠商所生產的攝像機時,需要切換不同的前端應用程式,造成調用攝像機的操作較為複雜。
技術實現要素:
本發明實施例提供了一種攝像機的調用方法、裝置及系統,能夠降低調用攝像機操作的複雜性。
第一方面,本發明實施例提供了一種攝像機的調用方法,創建包括有至少兩個不同廠商攝像機支持庫的Java歸檔文件Jar包,還包括:
接收外部的前端Java應用程式發送的調用請求;
根據所述調用請求確定至少一個廠商配置信息;
根據每一個所述廠商配置信息及所述Jar包中相對應的所述支持庫,形成對應的攝像機接口;
通過每一個所述攝像機接口,對外部相對應的攝像機進行調用。
優選地,所述創建包括有至少兩個不同廠商攝像機支持庫的Jar包,包括:
創建Java項目;
在所述Java項目下創建小應用程式Applet主類,以定義公共方法;
在所述Java項目下,根據至少兩個攝像機廠商不同功能接口所傳遞的參數信息,創建公共接口;
針對每一個所述攝像機廠商,創建相對應的實現目錄,並在所述實現目錄下創建公共接口的實現類;
通過Java本地訪問JNA引入所述至少兩個攝像機廠商的支持庫;
將所述Java項目導出為所述Jar包。
優選地,所述公共接口包括:公共部分接口及差異部分接口。
優選地,所述根據每一個所述廠商配置信息及所述Jar包中相對應的所述支持庫,形成對應的攝像機接口,包括:
分別將每一個所述廠商配置信息傳入所述Jar包中;
調用與所述廠商配置信息對應同一個攝像機廠商的所述支持庫,根據所述廠商配置信息對所述實現類進行實例化,形成與所述廠商配置信息相對應的攝像機接口。
優選地,所述對外部相對應的攝像機進行調用,包括:
調用與所述廠商配置信息相對應的攝像機進行視頻預覽、圖像捕捉、錄像及視頻回放中的任意一個或多個。
第二方面,本發明實施例還提供了一種攝像機的調用裝置,包括:創建單元、接收單元、處理單元及調用單元;
所述創建單元,用於創建包括有至少兩個不同廠商攝像機支持庫的Java歸檔文件Jar包;
所述接收單元,用於接收外部的前端Java應用程式發送的調用請求;
所述處理單元,用於根據所述接收單元接收到的所述調用請求確定至少一個廠商配置信息,並根據每一個所述廠商配置信息及所述創建單元創建的所述Jar包中相對應的所述支持庫,形成對應的攝像機接口;
所述調用單元,用於根據所述處理單元形成的每一個所述攝像機接口,對外部相對應的攝像機進行調用。
優選地,
所述創建單元,用於創建Java項目,在所述Java項目下創建小應用程式Applet主類,以定義公共方法;以及在所述Java項目下,根據至少兩個攝像機廠商不同功能接口所傳遞的參數信息,創建公共接口;針對每一個所述攝像機廠商,創建相對應的實現目錄,並在所述實現目錄下創建公共接口的實現類;通過Java本地訪問JNA引入所述至少兩個攝像機廠商的支持庫;將所述Java項目導出為所述Jar包。
優選地,
所述處理單元,用於分別將每一個所述廠商配置信息傳入所述Jar包中;以及調用與所述廠商配置信息對應同一個攝像機廠商的所述支持庫,根據所述廠商配置信息對所述實現類進行實例化,形成與所述廠商配置信息相對應的攝像機接口。
優選地,
所述調用單元,用於調用與所述廠商配置信息相對應的攝像機進行視頻預覽、圖像捕捉、錄像及視頻回放中的任意一個或多個。
第三方面,本發明實施例還提供了一種攝像機的調用系統,包括:前端Java應用程式、至少兩個攝像機及上述實施例提供的任意一種攝像機的調用裝置;
所述前端Java應用程式,用於向所述攝像機的調用裝置發送調用請求;
每一個所述攝像機,用於接受所述攝像機的調用裝置的調用。
本發明實施例提供的攝像機的調用方法、裝置及系統,創建包括有不同攝像機廠商支持庫的Jar包,當接收到前端Java應用程式發送的調用請求後,根據調用氫氣確定至少一個廠商配置信息,進而根據所確定的廠商配置信息及Jar包括中相應的支持庫,形成與廠商配置信息相對應的攝像機接口,通過所形成的攝像機接口對攝像機進行調用。由此可見,由於Jar包中包括有至少兩個廠商攝像機的支持庫,根據不同的廠商配置信息與相應的支持庫可以形成對應於不同廠商的攝像機接口,從而通過同一個前端Java應用程式可以對不同廠商的攝像機進行調用,無需切換前端Java應用程式,降低了調用攝像機操作的複雜性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一個實施例提供的一種攝像機的調用方法流程圖;
圖2是本發明一個實施例提供的一種攝像機的調用裝置所在設備的示意圖;
圖3是本發明一個實施例提供的一種攝像機的調用裝置示意圖;
圖4是本發明一個實施例提供的一種攝像機的調用系統示意圖;
圖5是本發明另一個實施例提供的一種攝像機的調用方法流程圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
如圖1所示,本發明實施例提供了一種攝像機的調用方法,該方法可以包括以下步驟:
步驟101:創建包括有至少兩個不同廠商攝像機支持庫的Java歸檔文件Jar包;
步驟102:接收外部的前端Java應用程式發送的調用請求;
步驟103:根據所述調用請求確定至少一個廠商配置信息;
步驟104:根據每一個所述廠商配置信息及所述Jar包中相對應的所述支持庫,形成對應的攝像機接口;
步驟105:通過每一個所述攝像機接口,對外部相對應的攝像機進行調用。
本發明實施例提供了一種攝像機的調用方法,創建包括有不同攝像機廠商支持庫的Jar包,當接收到前端Java應用程式發送的調用請求後,根據調用氫氣確定至少一個廠商配置信息,進而根據所確定的廠商配置信息及Jar包括中相應的支持庫,形成與廠商配置信息相對應的攝像機接口,通過所形成的攝像機接口對攝像機進行調用。由此可見,由於Jar包中包括有至少兩個廠商攝像機的支持庫,根據不同的廠商配置信息與相應的支持庫可以形成對應於不同廠商的攝像機接口,從而通過同一個前端Java應用程式可以對不同廠商的攝像機進行調用,無需切換前端Java應用程式,降低了調用攝像機操作的複雜性。
在本發明一個實施例中,步驟101中創建Jar包時,首先創建一個Java項目,在該Java項目下創建小應用程式Applet主類,以定義公共方法,其中公共方法包括初始化、預覽、拍照、錄像、回放等各種攝像機公用的方法。其次,在所創建的Java項目下,根據至少兩個攝像機廠商不同功能接口所傳遞的參數信息,創建公共接口;針對於每一個攝像機廠商,創建相對應的實現目錄,並在實現目錄下創建公共接口的實現類;再其次,通過JNA引入各個攝像機廠商的支持庫;最後,將完成以上三部的Java項目導出為Jar包。
具體地,由於不同廠商所生產的攝像機會包括有部分相同的方法,比如初始化、預覽、拍照、錄像、回放等,在Java項目下創建不同攝像機公用的方法,在形成相應攝像機接口後,前端Java應用程式通過該公共方法可以調用各個廠商的攝像機進行預覽、拍照、錄像、回放等。通過創建公共方法,可以減少Jar包所包括的數據量,從而提高通過Jar包形成攝像機接口的速率,保證對攝像機進行調用的效率。
根據不同廠商攝像機各個功能接口所需傳遞的參數信息,梳理出公共接口;根據攝像機廠商的不同分別創建每一個攝像機廠商對應的實現目錄,並在實現目錄下創建公共接口的實現類。在Jar包接收到廠商配置信息後,依據相對應的支持庫,對公共接口的實現類進行實例化,形成與廠商配置信息相對應的攝像機接口,從而保證Jar包能夠根據不同的廠商配置信息,形成對應不同廠商的攝像機接口,保證了該攝像機調用方法的可行性。
在本發明一個實施例中,步驟101中所形成Jar包中包括公共接口,該公共接口包括公共部分接口和差異部分接口。公共部分接口為各個廠商攝像機接口所共用的部分;差異部分接口與各個廠商相對應,不同的廠商攝像機接口對應不同的差異部分接口。根據廠商配置信息的不同,在Jar包所形成的攝像機接口中,各個攝像機接口中均包括有公共部分接口,而差異部分接口根據廠商配置信息的不同而各不相同。通過創建包括公共部分和差異部分的公共接口,在對公共接口進行實例化時,由於公共部分無需進行實例化,可以節省公共接口實例化所需的時間,從而提高形成攝像機接口的效率,進一步提高了對攝像機進行調用的效率。
在本發明一個實施例中,步驟104中形成攝像機接口時,將根據調用請求確定的每一個的廠商配置信息傳入步驟101中所創建的Jar包中,調用Jar包中與所傳入廠商配置信息對應於同一個攝像機廠商的支持庫,依據所調用的支持庫,根據所傳入的廠商配置信息對Jar包中的實現類進行實例化,形成與廠商配置信息相對應的攝像機接口。
具體地,不同的攝像機廠商對應有不同的廠商配置信息、支持庫和攝像機接口,廠商配置信息傳入Jar包後,從Jar包所包括的至少兩個支持庫中確定與所傳入廠商配置信息對應於同一個攝像機廠商的支持庫,依據確定出的支持庫,根據所傳入廠商配置信息對Jar包中公共接口的實現類進行實例化,從而形成與所傳入廠商配置信息對應於同一個攝像機廠商的攝像機接口。這樣,Jar包可以根據所傳入廠商配置信息的不同,形成對應不同廠商的攝像機接口,從而可以通過一個前端Java應用程式對不同廠商的攝像機進行調用,以方便對不同廠商所生產的攝像機進行調用。
在本發明一個實施例中,步驟105中通過步驟104中所形成的攝像機接口對攝像機進行調用,通過攝像機完成視頻預覽、圖像捕捉、錄像以及視頻回放等功能。通過Jar包所形成的攝像機接口,前端Java應用程式可以調用攝像機完成預覽、拍照、錄像、回放等各種操作,因此本發明實施例所提供的攝像機調用方法具有較強的適用性,可以滿足用戶對攝像機進行的各種操作。
如圖2、圖3所示,本發明實施例提供了一種攝像機的調用裝置。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。從硬體層面而言,如圖2所示,為本發明實施例提供的攝像機的調用裝置所在設備的一種硬體結構圖,除了圖2所示的處理器、內存、網絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬體,如負責處理報文的轉發晶片等等。以軟體實現為例,如圖3所示,作為一個邏輯意義上的裝置,是通過其所在設備的CPU將非易失性存儲器中對應的電腦程式指令讀取到內存中運行形成的。本實施例提供的攝像機的調用裝置,包括:創建單元201、接收單元202、處理單元203及調用單元204;
所述創建單元201,用於創建包括有至少兩個不同廠商攝像機支持庫的Java歸檔文件Jar包;
所述接收單元202,用於接收外部的前端Java應用程式發送的調用請求;
所述處理單元203,用於根據所述接收單元202接收到的所述調用請求確定至少一個廠商配置信息,並根據每一個所述廠商配置信息及所述創建單元201創建的所述Jar包中相對應的所述支持庫,形成對應的攝像機接口;
所述調用單元204,用於根據所述處理單元203形成的每一個所述攝像機接口,對外部相對應的攝像機進行調用。
在本發明一個實施例中,創建單元201用於創建ava項目,在所述Java項目下創建小應用程式Applet主類,以定義公共方法;以及在所述Java項目下,根據至少兩個攝像機廠商不同功能接口所傳遞的參數信息,創建公共接口;針對每一個所述攝像機廠商,創建相對應的實現目錄,並在所述實現目錄下創建公共接口的實現類;通過Java本地訪問JNA引入所述至少兩個攝像機廠商的支持庫;將所述Java項目導出為所述Jar包。
在本發明一個實施例中,處理單元203用於分別將每一個所述廠商配置信息傳入所述Jar包中;以及調用與所述廠商配置信息對應同一個攝像機廠商的所述支持庫,根據所述廠商配置信息對所述實現類進行實例化,形成與所述廠商配置信息相對應的攝像機接口。
在本發明一個實施例中,調用單元204用於調用與所述廠商配置信息相對應的攝像機進行視頻預覽、圖像捕捉、錄像及視頻回放中的任意一個或多個。
上述裝置內的各單元之間的信息交互、執行過程等內容,由於與本發明方法實施例基於同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
如圖4所示,本發明一個實施例提供了一種攝像機的調用系統,包括:前端Java應用程式401、至少兩個攝像機403及本發明實施例提供的任意一種攝像機的調用裝置402;
所述前端Java應用程式401,用於向所述攝像機的調用裝置402發送調用請求;
每一個所述攝像機403,用於接受所述攝像機的調用裝置402的調用。
下面結合圖3所示的攝像機的調用裝置及圖4所示的攝像機的調用系統,對本發明實施例提供的攝像機的調用方法作進一步詳細說明,如圖5所示,該方法可以包括以下步驟:
步驟501:創建Jar包。
在本發明一個實施例中,在實現對不同廠商攝像機進行調用之前,首先要創建用於形成不同廠商攝像機接口的Jar包,創建Jar包的過程可以包括以下子步驟:
S1:創建Java項目。針對於包括有不同廠商攝像機需要調用的場景,需要通過同一個前端Java應用程式來對各個廠商的攝像機進行調用時,需要創建一個Jar包用於形成不同廠商攝像機的接口,創建Jar包的第一步就是創建一個Java項目。
S2:在所創建的Java項目下創建Applet(Java小應用程式)主類,定義公共方法,比如初始化、預覽、拍照、錄像、回放等。
S3:在所創建的Java項目下創建公共接口類,根據不同攝像機廠商不同功能接口需要傳遞的參數信息,梳理出公共部分和差異部分,並創建公共接口方法;
S4:為不同攝像機廠商創建不同的廠商實現目錄,並在每一個廠商實現目錄下創建公共接口的實現類;
S5:通過JNA(Java Native Access,Java本地訪問)引入不同攝像機廠商的支持庫,在實現類中實現各廠商攝像機的功能接口;
S6:將經步驟S2至S5處理後的Java項目導出為Jar包。
步驟502:接收前端Java應用程式發送的調用請求。
在本發明一個實施例中,在Jar包創建完成之後,可以接收前端Java應用程式發送的調用請求。具體地,用戶根據攝像機的調用需求,在前端Java應用程式上發送對一個或多個攝像機進行調用的調用請求。
例如,在一個監控場景中包括有500個攝像機,分別為攝像機1至攝像機500。500個攝像機來自不同的三個攝像機廠商,分別為攝像機廠商A、攝像機廠商B和攝像機廠商C。用戶現需要對攝像機1(攝像機廠商A所生產)、攝像機2(攝像機廠商B所生產)和攝像機3(攝像機廠商C所生產)進行調用,具體地,需要對攝像機1所採集的視頻進行預覽,通過攝像機2進行拍照,通過攝像機3進行錄像。用戶在前端Java應用程式上進行相應的操作後,前端Java應用程式形成對攝像機1至攝像機3進行調用的調用請求X,並將所形成的調用請求X發送給如圖4所示的攝像機的調用裝置。
步驟503:根據調用請求確定至少一個廠商配置信息。
在本發明一個實施例中,在接收到前端Java應用程式發送的調用請求後,對調用請求進行解析,確定至少一個廠商配置信息,其中,所確定的廠商配置信息與用戶要調用的攝像機相對應,包括有待調用攝像機的廠商、型號、用途等信息。
例如,在接收到前端Java應用程式發送的調用請求X後,對調用請求X進行解析,確定出3個廠商配置信息,分別為廠商配置信息1、廠商配置信息2和廠商配置信息3。其中,廠商配置信息1與攝像機1相對應,即包括有攝像機廠商A的信息;廠商配置信息2與攝像機2相對應,即包括有攝像機廠商B的信息;廠商配置信息3與攝像機3相對應,及包括有攝像機廠商C的信息。
步驟504:根據每一個廠商配置信息,形成相對應的一個攝像機接口。
在本發明一個實施例中,針對於從調用請求中解析出的每一個廠商配置信息,將廠商配置信息傳入步驟501所創建的Jar包括中,從Jar包中調用與所傳入廠商配置信息對應於同一個攝像機廠商的支持庫,依據所調用的支持庫,根據所傳入廠商配置信息對Jar包中的實現類進行實例化,形成與所傳入廠商配置信息對應於同一個攝像機廠商的攝像機接口。
例如,將廠商配置信息1傳入Jar包中後,調用Jar包括中攝像機廠商A的支持庫,依據該支持庫,根據廠商配置信息1對Jar包中的實現類進行實例化,形成對應於攝像機廠商A的攝像機接口1。相似的,針對廠商配置信息2形成對應於攝像機廠商B的攝像機接口2,針對廠商配置信息3形成對應於攝像機廠商C的攝像機接口3。
步驟505:根據形成的各個攝像機接口,對各個攝像機進行調用。
在本發明一個實施例中,在形成與各個廠商配置信息相對應的攝像機接口後,通過所形成的攝像機接口調用各個攝像機,並根據調用請求,對各個攝像機進行相應的操作。
例如,通過攝像機接口1調用攝像機1,並對攝像機1所採集的視頻進行預覽;通過攝像機接口2調用攝像機2,並通過攝像機2進行拍照,獲取監控區域的圖像信息;通過攝像機接口3調用攝像機3,通過攝像機3進行錄像,獲取監控區域的視頻信息。
本發明實施例還提供了一種可讀介質,包括執行指令,當存儲控制器的處理器執行所述執行指令時,所述存儲控制器執行上述各個實施例提供的攝像機的調用方法。
本發明實施例還提供了一種存儲控制器,包括:處理器、存儲器和總線;
所述存儲器用於存儲執行指令,所述處理器與所述存儲器通過所述總線連接,當所述存儲控制器運行時,所述處理器執行所述存儲器存儲的所述執行指令,以使所述存儲控制器執行上述各個實施例提供的攝像機的調用方法。
本發明實施例提供的攝像機的調用方法、裝置及系統,至少具有如下有益效果:
1、在本發明實施例提供的攝像機的調用方法、裝置及系統中,創建包括有不同攝像機廠商支持庫的Jar包,當接收到前端Java應用程式發送的調用請求後,根據調用氫氣確定至少一個廠商配置信息,進而根據所確定的廠商配置信息及Jar包括中相應的支持庫,形成與廠商配置信息相對應的攝像機接口,通過所形成的攝像機接口對攝像機進行調用。由此可見,由於Jar包中包括有至少兩個廠商攝像機的支持庫,根據不同的廠商配置信息與相應的支持庫可以形成對應於不同廠商的攝像機接口,從而通過同一個前端Java應用程式可以對不同廠商的攝像機進行調用,無需切換前端Java應用程式,降低了調用攝像機操作的複雜性。
2、在本發明實施例提供的攝像機的調用方法、裝置及系統中,過Jar包所形成的攝像機接口,前端Java應用程式可以調用攝像機完成預覽、拍照、錄像、回放等各種操作,因此本發明實施例所提供的攝像機調用方法具有較強的適用性,可以滿足用戶對攝像機進行的各種操作。
3、在本發明實施例提供的攝像機的調用方法、裝置及系統中,在創建Jar包時,由於不同廠商所生產的攝像機會包括有部分相同的方法,比如初始化、預覽、拍照、錄像、回放等,在Java項目下創建不同攝像機公用的方法,在形成相應攝像機接口後,前端Java應用程式通過該公共方法可以調用各個廠商的攝像機進行預覽、拍照、錄像、回放等。通過創建公共方法,可以減少Jar包所包括的數據量,從而提高通過Jar包形成攝像機接口的速率,保證對攝像機進行調用的效率。
4、在本發明實施例提供的攝像機的調用方法、裝置及系統中,在Jar包接收到廠商配置信息後,依據相對應的支持庫,對公共接口的實現類進行實例化,形成與廠商配置信息相對應的攝像機接口,從而保證Jar包能夠根據不同的廠商配置信息,形成對應不同廠商的攝像機接口,保證了該攝像機調用方法的可行性。
需要說明的是,在本文中,諸如第一和第二之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質中。
最後需要說明的是:以上所述僅為本發明的較佳實施例,僅用於說明本發明的技術方案,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。