电竞比分网-中国电竞赛事及体育赛事平台

分享

ONVIF協(xié)議網(wǎng)絡(luò)攝像機(jī)(IPC)客戶端程序開發(fā)(5):門外漢理解ONVIF協(xié)議

 西貝行者 2018-03-17

1. 專欄導(dǎo)讀

本專欄第一篇文章「專欄開篇」列出了專欄的完整目錄,按目錄順序閱讀,有助于你的理解,專欄前面文章講過的知識(shí)點(diǎn)(或代碼段),后面文章不會(huì)贅述。為了節(jié)省篇幅,突出重點(diǎn),在文章中展示的示例代碼僅僅是關(guān)鍵代碼,你可以在「專欄開篇」中獲取完整代碼。

如有錯(cuò)誤,歡迎你的留言糾正!讓我們共同成長!你的「點(diǎn)贊」「打賞」是對(duì)我最大的支持和鼓勵(lì)!

2. 前言

這次「ONVIF協(xié)議網(wǎng)絡(luò)攝像機(jī)(IPC)客戶端程序開發(fā)」專欄,到了這篇文章,才真正的開始介紹ONVIF,前面的文章都是為了介紹ONVIF做的鋪墊,如果前面的文章你還沒看過,建議你先去閱讀過再來瀏覽本文。

3. ONVIF背景

網(wǎng)絡(luò)攝像機(jī)是網(wǎng)絡(luò)設(shè)備,需要有通訊協(xié)議,早期的網(wǎng)絡(luò)攝像機(jī)硬件提供商都采用私有協(xié)議。

隨著視頻監(jiān)控的網(wǎng)絡(luò)化應(yīng)用,產(chǎn)業(yè)鏈的分工將越來越細(xì)。有些廠商專門做攝像頭,有些廠商專門做視頻服務(wù)器,有些廠商則可能專門做平臺(tái)等,然后通過集成商進(jìn)行集成,提供給最終客戶。私有協(xié)議無法勝任這種產(chǎn)業(yè)合作模式,行業(yè)標(biāo)準(zhǔn)化的接口由此應(yīng)運(yùn)而生。

目前,網(wǎng)絡(luò)攝像機(jī)的標(biāo)準(zhǔn)協(xié)議,國際標(biāo)準(zhǔn)上有三大類:ONVIF、PSIA和HDCCTV,國內(nèi)標(biāo)準(zhǔn)有國標(biāo)GB/T28181。ONVIF陣營日益壯大,與PSIA、HDCCTV相比,無論是支持廠商的數(shù)目、廠商的知名度,還是市場(chǎng)占有率都遙遙領(lǐng)先。ONVIF標(biāo)準(zhǔn)的廠商覆蓋芯片、視頻前端設(shè)備、存儲(chǔ)設(shè)備、系統(tǒng)平臺(tái)、智能分析設(shè)備、門禁、傳感設(shè)備等各個(gè)安防相關(guān)領(lǐng)域。我們說的IPC攝像頭只是ONVIF標(biāo)準(zhǔn)里的一個(gè)分支而已,可見ONVIF的強(qiáng)大。

ONVIF(Open Network Video Interface Forum,開放型網(wǎng)絡(luò)視頻接口論壇)以公開、開放的原則共同制定開放性行業(yè)標(biāo)準(zhǔn)。

從ONVIF官網(wǎng)上可以了解到(https://www./about/member-list/),為適應(yīng)各種不同的參與級(jí)別,ONVIF提供了不同等級(jí)的會(huì)員企業(yè)資格,其中不乏國內(nèi)外著名的設(shè)備制造商與集成商,國內(nèi)的華為、海康威視、浙江大華、波??萍己图研沤菀彩荗NVIF論壇的高級(jí)會(huì)員。

4. ONVIF技術(shù)框架

ONVIF規(guī)范中設(shè)備管理和控制部分所定義的接口均以Web Services的形式提供。ONVIF規(guī)范涵蓋了完全的XML及WSDL的定義。每一個(gè)支持ONVIF規(guī)范的終端設(shè)備均須提供與功能相應(yīng)的Web Service。服務(wù)端與客戶端的數(shù)據(jù)交互采用SOAP協(xié)議。ONVIF中的其他部分比如音視頻流則通過RTP/RTSP進(jìn)行。


圖1

拿IPC攝像頭來說,IPC是Web Services服務(wù)端,其提供的WEB服務(wù)接口需符合ONVIF協(xié)議規(guī)范(這些接口在ONVIF規(guī)定的WSDL文檔中),我們開發(fā)的客戶端通過這些ONVIF規(guī)范接口跟IPC通訊,比如:

  1. 獲取IPC的基本信息(廠家信息、版本信息等);
  2. 修改IPC的系統(tǒng)日期、時(shí)間;
  3. 修改IPC的網(wǎng)絡(luò)配置(IP、子網(wǎng)掩碼等);
  4. 獲取/修改IPC攝像頭的各種參數(shù)(視頻分辨率、碼率、幀率、OSD,云臺(tái)控制等);

由于SOAP協(xié)議不適合傳輸音視頻流,ONVIF規(guī)范中的傳輸音視頻流采用的是已經(jīng)很成熟的RTP/RTSP多媒體傳輸協(xié)議。

簡單粗暴的理解:IPC的各種參數(shù)獲取/配置都是通過ONVIF協(xié)議實(shí)現(xiàn),而音視頻流多媒體傳輸采用的是RTP/RTSP協(xié)議實(shí)現(xiàn)。

5. ONVIF技術(shù)規(guī)格

ONVIF協(xié)議中,有一系列Profile的技術(shù)規(guī)格。ONVIF之所以引入了Profile的概念,使得終端用戶能夠更容易區(qū)分各個(gè)Profile所支持的特性,而無需確定ONVIF技術(shù)規(guī)格不同版本間的兼容性。截止目前,已經(jīng)發(fā)布的Profile包括Profile S/C/G/A/Q五種。


圖2

以上截圖來源于官網(wǎng)https://www./profiles/中《ONVIF Profile Feature Overview》文檔。從這個(gè)圖能看出,各個(gè)Profile技術(shù)規(guī)格的發(fā)布是有時(shí)間先后順序的,并不是一起發(fā)布。Profile S作為profile發(fā)布系列中的排頭兵,于2011年發(fā)布,2016年做了一次修訂,Profile C于2013年發(fā)布,之后再依次發(fā)布Profile G/A/Q。

以下是我對(duì)這些Profile的理解:

  • Profile S:「網(wǎng)絡(luò)攝像機(jī)」的技術(shù)規(guī)格,包括如何發(fā)送音視頻流,音視頻編碼器配置,PTZ控制、中繼控制等。
  • Profile C:「門禁控制系統(tǒng)(PACS)設(shè)備」的技術(shù)規(guī)格。
  • Profile G:「視頻儲(chǔ)存和錄像」的技術(shù)規(guī)格,包括視頻儲(chǔ)存,搜索,檢索,以及媒體播放功能的技術(shù)規(guī)格。
  • Profile A:「常見的例行門禁控制功能」的技術(shù)規(guī)范,適用于負(fù)責(zé)授予和撤銷員工憑證、創(chuàng)建和更新計(jì)劃表,以及對(duì)系統(tǒng)內(nèi)門禁控制權(quán)限進(jìn)行更改的安保人員、接待員或人力資源專員等用戶。
  • Profile Q:「?jìng)鬏攲影踩?TLS)」的技術(shù)規(guī)格,該安全通信協(xié)議使ONVIF合標(biāo)設(shè)備能夠以不受篡改和竊聽威脅的方式在網(wǎng)絡(luò)上與客戶通訊。

隨著ONVIF的發(fā)展,我估計(jì),ONVIF指導(dǎo)委員會(huì)(Steering Committee)在未來還會(huì)有后續(xù)的Profiles發(fā)布以規(guī)范其他技術(shù)規(guī)格。

跟IPC攝像頭有關(guān)的主要是Profile S技術(shù)規(guī)格。

6. ONVIF接口規(guī)范

ONVIF接口被劃分為不同模塊,包括:設(shè)備發(fā)現(xiàn)、設(shè)備管理、設(shè)備輸入輸出服務(wù)、圖像配置、媒體配置、實(shí)時(shí)流媒體、接收端配置、顯示服務(wù)、事件處理、PTZ控制等。

每個(gè)模塊的接口都有相對(duì)應(yīng)的WSDL文檔進(jìn)行描述,可以在ONVIF官網(wǎng)「Network Interface Specifications」中查閱,鏈接如下:
https://www./profiles/specifications/

如果想快速瀏覽ONVIF所有模塊的常用接口,請(qǐng)看這里「ONVIF 2.0 Service Operation Index」,鏈接如下:
https://www./onvif/ver20/util/operationIndex.html

注意:這里僅僅是列出常用接口,不是全部接口,每個(gè)模塊的全部接口需要進(jìn)入每個(gè)模塊的WSDL中去看,點(diǎn)擊任意一個(gè)接口就會(huì)自動(dòng)跳轉(zhuǎn)到對(duì)應(yīng)的WSDL文檔鏈接處。

比如說GetServices接口以上頁面沒有顯示,但在http://www./ver10/device/wsdl/devicemgmt.wsdl中是的。所以想看全部的接口,還是得深入每個(gè)wsdl才行啊。

想要系統(tǒng)、全面的了解ONVIF的各個(gè)模塊,可以閱讀網(wǎng)上盛傳的《ONVIF2.0協(xié)議珍藏版》,「點(diǎn)擊下載」。

現(xiàn)在你對(duì)這些ONVIF模塊、接口不熟,沒關(guān)系,跟著我的專欄一步步往下走,以后就會(huì)有體會(huì)了。

7. 開發(fā)流程(不要自己造輪子)


圖3

這里先簡要的介紹下IPC客戶端開發(fā)流程,具體怎么操作在專欄后續(xù)文章中會(huì)陸續(xù)展示。ONVIF協(xié)議既然是Web Services框架,那就不需要自己造輪子,ONVIF協(xié)議部分由gSOAP工具幫我們自動(dòng)生成代碼框架。

而RTP/RTSP音視頻傳輸部分則采用開源的FFmpge即可,F(xiàn)Fmpge在音視頻處理方面,那是首屈一指。


圖4

IPC客戶端程序整個(gè)開發(fā)流程如下圖所示:


圖5

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多