本發明涉及數據采集技術領域,尤其涉及一種基于onvif標準的視頻采集方法及裝置。
背景技術:
監控是為了更好的保護我們的人身和財產安全,在出現糾紛或有分歧事件時,作為一個還原現場的手段,成為了人們生活中不可或缺的一道安全屏障。監控在銀行、超市、商場、店面、工廠、學校、小區、網吧等公共區域隨處可見,各地公安機關依靠視頻監控的輔助破案率也是急速的飆升,隨著平安城市的建設,監控系統愈將融入我們的生活發揮著他的作用。
現有技術中,連接網絡攝像頭需要逐個輸入廠商提供的URL地址,采集視頻監控的效率低。
技術實現要素:
本發明的主要目的在于提供一種基于onvif標準的視頻采集方法及裝置,旨在提高視頻采集的效率。
為實現上述目的,本發明提供的一種基于onvif標準的視頻采集方法包括如下步驟:
發起探測服務以搜尋網絡內的網絡攝像機,并接收所述網絡攝像機對所述探測服務發回的反饋信息;
通過所述反饋信息從所述網絡攝像機采集視頻數據。
優選地,所述通過所述反饋信息從所述網絡攝像機采集視頻數據之后還包括:
將從所述網絡攝像機采集到的所述視頻數據存儲至后臺;其中,所述后臺為分布式文件系統的存儲集群。
優選地,所述通過所述反饋信息從所述網絡攝像機采集視頻數據包括:
根據所述反饋信息與所述網絡攝像機建立前置通信,并在前置通信過程中從所述網絡攝像機獲取傳輸信息;
根據所述傳輸信息與所述網絡攝像機建立傳輸通信;
啟動與所述傳輸通信適配的UDP端口以采集所述網絡攝像機發出的視頻數據。
優選地,所述傳輸信息包括傳輸方式、壓縮格式和URL地址中的至少一種。
優選地,所述發起探測服務具體包括:
組播探測信號,所述探測信號包括預設IP地址和預設端口。
此外,為實現上述目的,本發明還提供一種基于onvif標準的視頻采集裝置,所述基于onvif標準的視頻采集裝置包括發起模塊、接收模塊和采集模塊,其中:
所述發起模塊,用于發起探測服務以搜尋網絡內的網絡攝像機;
所述接收模塊,用于接收所述網絡攝像機對所述探測服務發回的反饋信息;
所述采集模塊,用于通過所述反饋信息從所述網絡攝像機采集視頻數據。
優選地,所述基于onvif標準的視頻采集裝置還包括:
存儲模塊,用于將從所述網絡攝像機采集到的所述視頻數據存儲至后臺;其中,所述后臺為分布式文件系統的存儲集群。
優選地,所述采集模塊包括第一建立單元、獲取單元、第二建立單元、啟動單元和采集單元,其中:
所述第一建立單元,用于根據所述反饋信息與所述網絡攝像機建立前置通信;
所述獲取單元,用于在前置通信過程中從所述網絡攝像機獲取傳輸信息;
所述第二建立單元,用于根據所述傳輸信息與所述網絡攝像機建立傳輸通信;
所述啟動單元,用于啟動與所述傳輸通信適配的UDP端口;
所述采集單元,用于采集所述網絡攝像機發出的視頻數據。
優選地,所述傳輸信息包括傳輸方式、壓縮格式和URL地址中的至少一種。
優選地,所述發起模塊包括:
組播單元,用于組播探測信號,所述探測信號包括預設IP地址和預設端口。
本發明通過發起探測服務以搜尋網絡內的網絡攝像機,并接收所述網絡攝像機對所述探測服務發回的反饋信息;通過所述反饋信息從所述網絡攝像機采集視頻數據,其中,探測服務為基于onvif標準的搜尋方式,在發起探測服務等一系列動作后能夠獲取到所述網絡攝像機的URL地址,提高了對網絡攝像機視頻采集的效率。
附圖說明
圖1為本發明基于onvif標準的視頻采集方法第一實施例的流程示意圖;
圖2為本發明基于onvif標準的視頻采集方法第二實施例的流程示意圖;
圖3為本發明基于onvif標準的視頻采集方法第三實施例的流程示意圖;
圖4為本發明基于onvif標準的視頻采集裝置第一實施例的功能模塊示意圖;
圖5為本發明基于onvif標準的視頻采集裝置第二實施例的功能模塊示意圖;
圖6為本發明基于onvif標準的視頻采集裝置第三實施例中采集模塊的細化功能模塊示意圖;
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明提供一種基于onvif標準的視頻采集方法,參照圖1,在第一實施例中,該基于onvif標準的視頻采集方法包括:
步驟S10,發起探測服務以搜尋網絡內的網絡攝像機,并接收所述網絡攝像機對所述探測服務發回的反饋信息;
在監控系統中包括眾多的網絡攝像機和服務器,本發明實施例提供的基于onvif標準的視頻采集方法用于獲取網絡內所有支持onvif標準的網絡攝像機的視頻數據。
當服務器在網絡中發起探測服務,只要是網絡攝像機能收到所述探測服務,則都會針對所述探測服務發回反饋信息,其中反饋信息包括了自身的IP地址等信息,此時,所述服務器即找到了支持onvif標準的網絡攝像機。若需要進行跨網絡段搜索網絡攝像機,則需要路由的支撐。
這種探測服務稱為ws-discovery,它定義了兩種基本的實現服務發現機制的操作模式,及Ad-Hoc和Managed,在Managed模式下,一個維護所有可用目標服務的中心發現代理被建立起來,服務器只需要與該發現代理進行交互就可以進行可用服務的探測和解析得到相應的目標服務信息,而目標服務也只需要和直接發現代理交換就能實現對自身的注冊。在Managed模式下,發現代理是真正的核心,而且所有消息交換的方式都是以單播的方式進行的,這樣一來能夠解除廣播對網絡的限制、擴大可用服務的范圍;二來也可以避免廣播引起對網絡的擁堵。
步驟S20,通過所述反饋信息從所述網絡攝像機采集視頻數據。
本實施例中,通過發起探測服務以搜尋網絡內的網絡攝像機,并接收所述網絡攝像機對所述探測服務發回的反饋信息;通過所述反饋信息從所述網絡攝像機采集視頻數據,其中,探測服務為基于onvif標準的搜尋方式,在發起探測服務等一系列動作后能夠獲取到所述網絡攝像機的URL地址,提高了對網絡攝像機視頻采集的效率。
進一步地,所述發起探測服務具體包括:
組播探測信號;所述探測信號包括預設IP地址和預設端口。
本實施例中,所述ws-discovery還可以在Ad-Hoc模式下,服務器在一定的范圍內以廣播或組播地形式發送探測信號以搜尋目標服務,在該探測消息中,包含相應地搜尋條件。服務該條件地目標服務器在接收到探測消息之后將自身相關地信息回復給作為探測信號發送源的服務器,所述服務器根據獲取到的服務信息,選擇合適的服務進行調用。
本實施例中,所述ws-discovery采用Ad-Hoc模式的廣播或組播探測機制搜尋網絡內的網絡攝像機,進一步地提高了對網絡攝像機視頻采集的效率。
進一步地,請參閱圖2,基于本發明基于onvif的視頻采集方法第一實施例,在本發明基于onvif的視頻采集方法第二實施例中,上述步驟S20之后還包括:
步驟S30,將從所述網絡攝像機采集到的所述視頻數據存儲至后臺;其中,所述后臺為分布式文件系統的存儲集群。
本發明實施例為分布式文件系統中基于onvif的視頻采集方法,在從網絡攝像機中采集到視頻數據后以對象的方式寫入后臺磁盤中,其中,所述后臺磁盤為分布式文件系統的存儲集群。
以對象的方式寫入的優點在于對象是通過分布式文件系統分配數據到與配置的相關磁盤中,根據一定的算法實現存儲,相對于直接存儲到單個磁盤,容量更大,出現單點磁盤故障能夠進行數據遷移與恢復,保證了數據的可靠性。
此外,與市場上的現有技術相比較,通過采用市場上最先進的H264以及H265編碼降低了傳輸的碼率,在同等帶寬下節省了存儲空間,同時在分布式存儲過程中利用分布式存儲特點將視頻數據并發的存儲到各個子存儲系統中,實現高效的視頻數據存儲,過程中記錄下通道號、日期、時間等參數。
之后如果要查看某歷史視頻數據,則根據查詢條件如:通道號、日期、時間等參數從分布式存儲集群中找到最優路徑,讀取視頻流信息,并轉發給監看平臺。
本實施例中,所述服務器在接收視頻數據后將視頻數據并發的存儲到各個子存儲系統中,實現了高效的視頻數據存儲,且便于日后查找所述視頻數據。此外,采用對象的寫入方式使得后臺磁盤相對于直接存儲到單個磁盤,容量更大,出現單點磁盤故障能夠進行數據遷移與恢復,保證了數據的可靠性。
進一步地,請參閱圖3,基于本發明基于onvif標準的視頻采集方法第一實施例,本發明基于onvif標準的視頻采集方法第三實施例中,所述步驟20包括:
步驟S21,根據所述反饋信息與所述網絡攝像機建立前置通信,并在前置通信過程中從所述網絡攝像機獲取傳輸信息;
在所述服務器找到了支持onvif標準的網絡攝像機后,根據所述反饋信息中網絡攝像機的IP地址和端口號發送簡單對象訪問協議(Simple Object Access Protocol,SOAP)來建立通信。所述SOAP是一種是交換數據的協議規范,是一種輕量的、簡單的、基于XML的協議,它被設計成在WEB上交換結構化的和固化的信息。其中XML文檔中包括了所有的調用和響應信息。
網絡攝像機在收到SOAP協議的XML中的內容后,將自身的傳輸信息打包成SOAP協議發回給服務器,即完成了在通信過程中從所述網絡攝像機獲取傳輸信息。
步驟S22,根據所述傳輸信息與所述網絡攝像機建立傳輸通信;
在獲取到所述網絡攝像機的傳輸信息后,確認傳輸信息中是否包含確認成功的信息,若有,則通過實時流傳輸協議(Real Time Streaming Protocol,RTSP)來建立傳輸通信。
所述傳輸通信包括向所述網絡攝像機依次發送OPTION請求、DESCRIBE請求、SETUP請求和PLAY請求,并逐一得到確認成功的信息。具體的,本實施例中確認成功的返回值為200。
步驟S23,啟動與所述傳輸通信適配的UDP端口以采集所述網絡攝像機發出的視頻數據。
在所述傳輸通信準備就緒后,啟動用戶數據報協議(User Datagram Protocol,UDP)端口,所述視頻數據通過所述UDP端口采用實時傳輸協議(Real-time Transport Protocol,RTP)將所述視頻數據發送至所述服務器,所述服務器接收所述視頻數據。所述RTP中包括序列號和時間戳等參數。
本實施例中,通過所述RTP中的序列號和時間戳等參數方便所述服務器與所述網絡攝像機在傳輸通信中保證數據的可靠性和完整性,且便于日后查找所述視頻數據。
進一步地,所述傳輸信息包括傳輸方式、壓縮格式和統一資源定位符(Uniform Resource Locator,URL)地址。
即網絡攝像機在收到SOAP協議的XML中的內容后,將自身的傳輸方式、壓縮格式和URL地址等信息打包成SOAP協議發回給服務器,所述服務器根據所述傳輸信息中的傳輸方式、壓縮格式和URL地址對應的建立所述傳輸通信。
本實施例中,所述所述傳輸信息包括傳輸方式、壓縮格式和URL,更便于所述傳輸通信的建立,進而提高了對網絡攝像機視頻采集的效率。
本發明還提供一種基于onvif標準的視頻采集裝置,請參照圖4,在第一實施例中,該基于onvif標準的視頻采集裝置100包括發起模塊10、接收模塊20和采集模塊30,其中:
所述發起模塊10,用于發起探測服務以搜尋網絡內的網絡攝像機;
在監控系統中包括眾多的網絡攝像機和服務器,本發明實施例提供的基于onvif標準的視頻采集裝置用于獲取網絡內所有支持onvif標準的網絡攝像機的視頻數據。
當服務器在網絡中發起探測服務,只要是網絡攝像機能收到所述探測服務,則都會針對所述探測服務發回反饋信息,其中反饋信息包括了自身的IP地址等信息,此時,所述服務器即找到了支持onvif標準的網絡攝像機。若需要進行跨網絡段搜索網絡攝像機,則需要路由的支撐。
這種探測服務稱為ws-discovery,它定義了兩種基本的實現服務發現機制的操作模式,及Ad-Hoc和Managed,在Managed模式下,一個維護所有可用目標服務的中心發現代理被建立起來,服務器只需要與該發現代理進行交互就可以進行可用服務的探測和解析得到相應的目標服務信息,而目標服務也只需要和直接發現代理交換就能實現對自身的注冊。在Managed模式下,發現代理是真正的核心,而且所有消息交換的方式都是以單播的方式進行的,這樣一來能夠解除廣播對網絡的限制、擴大可用服務的范圍;二來也可以避免廣播引起對網絡的擁堵。
所述接收模塊20,用于接收所述網絡攝像機對所述探測服務發回的反饋信息;
所述采集模塊30,用于通過所述反饋信息從所述網絡攝像機采集視頻數據。
本實施例中,通過發起探測服務以搜尋網絡內的網絡攝像機,并接收所述網絡攝像機對所述探測服務發回的反饋信息;通過所述反饋信息從所述網絡攝像機采集視頻數據,其中,探測服務為基于onvif標準的搜尋方式,在發起探測服務等一系列動作后能夠獲取到所述網絡攝像機的URL地址,提高了對網絡攝像機視頻采集的效率。
進一步地,所述發起模塊10包括組播單元,所述組播單元用于組播探測信號;所述探測信號包括預設IP地址和預設端口。
本實施例中,所述ws-discovery還可以在Ad-Hoc模式下,服務器在一定的范圍內以廣播或組播地形式發送探測信號以搜尋目標服務,在該探測消息中,包含相應地搜尋條件。服務該條件地目標服務器在接收到探測消息之后將自身相關地信息回復給作為探測信號發送源的服務器,所述服務器根據獲取到的服務信息,選擇合適的服務進行調用。
本實施例中,所述ws-discovery采用Ad-Hoc模式的廣播或組播探測機制搜尋網絡內的網絡攝像機,進一步地提高了對網絡攝像機視頻采集的效率。
進一步地,請參閱圖5,基于本發明基于onvif的視頻采集裝置第一實施例,在本發明基于onvif的視頻采集裝置第二實施例中,所述基于onvif的視頻采集裝置還包括:存儲模塊40,所述存儲模塊40用于用于將從所述網絡攝像機采集到的所述視頻數據存儲至后臺;其中,所述后臺為分布式文件系統的存儲集群。
本發明實施例為分布式文件系統中基于onvif的視頻采集裝置,在從網絡攝像機中采集到視頻數據后以對象的方式寫入后臺磁盤中,其中,所述后臺磁盤為分布式文件系統的存儲集群。
以對象的方式寫入的優點在于對象是通過分布式文件系統分配數據到與配置的相關磁盤中,根據一定的算法實現存儲,相對于直接存儲到單個磁盤,容量更大,出現單點磁盤故障能夠進行數據遷移與恢復,保證了數據的可靠性。
此外,與市場上的現有技術相比較,通過采用市場上最先進的H264以及H265編碼降低了傳輸的碼率,在同等帶寬下節省了存儲空間,同時在分布式存儲過程中利用分布式存儲特點將視頻數據并發的存儲到各個子存儲系統中,實現高效的視頻數據存儲,過程中記錄下通道號、日期、時間等參數。
之后如果要查看某歷史視頻數據,則根據查詢條件如:通道號、日期、時間等參數從分布式存儲集群中找到最優路徑,讀取視頻流信息,并轉發給監看平臺。
本實施例中,所述服務器在接收視頻數據后將視頻數據并發的存儲到各個子存儲系統中,實現了高效的視頻數據存儲,且便于日后查找所述視頻數據。此外,采用對象的寫入方式使得后臺磁盤相對于直接存儲到單個磁盤,容量更大,出現單點磁盤故障能夠進行數據遷移與恢復,保證了數據的可靠性。
進一步地,請參閱圖6,基于本發明基于onvif標準的視頻采集裝置第一實施例,本發明基于onvif標準的視頻采集裝置第三實施例中,所述采集模塊30包括第一建立單元31、獲取單元32、第二建立單元33、啟動單元34和采集單元35,其中:
所述第一建立單元31,用于根據所述反饋信息與所述網絡攝像機建立前置通信;
在所述服務器找到了支持onvif標準的網絡攝像機后,根據所述反饋信息中網絡攝像機的IP地址和端口號發送SOAP來建立通信。所述SOAP是一種是交換數據的協議規范,是一種輕量的、簡單的、基于XML的協議,它被設計成在WEB上交換結構化的和固化的信息。其中XML文檔中包括了所有的調用和響應信息。
所述獲取單元32,用于在前置通信過程中從所述網絡攝像機獲取傳輸信息;
網絡攝像機在收到SOAP協議的XML中的內容后,將自身的傳輸信息打包成SOAP協議發回給服務器,即完成了在通信過程中從所述網絡攝像機獲取傳輸信息。
所述第二建立單元33,用于根據所述傳輸信息與所述網絡攝像機建立傳輸通信;
在獲取到所述網絡攝像機的傳輸信息后,確認傳輸信息中是否包含確認成功的信息,若有,則通過RTSP來建立傳輸通信。
所述傳輸通信包括向所述網絡攝像機依次發送OPTION請求、DESCRIBE請求、SETUP請求和PLAY請求,并逐一得到確認成功的信息。具體的,本實施例中確認成功的返回值為200。
所述啟動單元34,用于啟動與所述傳輸通信適配的UDP端口;
所述采集單元35,用于采集所述網絡攝像機發出的視頻數據。
在所述傳輸通信準備就緒后,啟動UDP端口,所述視頻數據通過所述UDP端口采用RTP將所述視頻數據發送至所述服務器,所述服務器接收所述視頻數據。所述RTP中包括序列號和時間戳等參數。
本實施例中,通過所述RTP中的序列號和時間戳等參數方便所述服務器與所述網絡攝像機在傳輸通信中保證數據的可靠性和完整性,且便于日后查找所述視頻數據。
進一步地,所述傳輸信息包括傳輸方式、壓縮格式和URL地址。
即網絡攝像機在收到SOAP協議的XML中的內容后,將自身的傳輸方式、壓縮格式和URL地址等信息打包成SOAP協議發回給服務器,所述服務器根據所述傳輸信息中的傳輸方式、壓縮格式和URL地址對應的建立所述傳輸通信。
本實施例中,所述所述傳輸信息包括傳輸方式、壓縮格式和URL,更便于所述傳輸通信的建立,進而提高了對網絡攝像機視頻采集的效率。
以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。