999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ONVIF協(xié)議的網(wǎng)絡視頻監(jiān)控客戶端接口研究

2014-01-22 12:46:26朱耀麟王昊星
西北大學學報(自然科學版) 2014年3期
關鍵詞:功能設備設計

朱耀麟,李 倩,王昊星

(1.西安工程大學電子信息學院,陜西西安 710048;2.中煤科工集團西安研究院有限公司,陜西西安 710055)

隨著網(wǎng)絡的迅速發(fā)展,各種各樣與網(wǎng)絡相關的技術和產(chǎn)品應運而生,目前備受矚目的網(wǎng)絡視頻監(jiān)控產(chǎn)品就是其中一種。它一般包括網(wǎng)絡攝像機,視頻編碼器,網(wǎng)絡視頻錄像機(NVR)等。但是,現(xiàn)在大部分的視頻監(jiān)控系統(tǒng)還需要手動添加服務端(網(wǎng)絡攝像機),并且對服務端的配置等都是手動操作,同時在網(wǎng)絡監(jiān)控系統(tǒng)中,各種產(chǎn)品會由很多公司生產(chǎn),不同品牌的設備間的互通問題迫切需要解決。在2008年由SONY等企業(yè)創(chuàng)建的ONVIF組織,該組織制訂的協(xié)議標準目標是解決設備互通等問題,重點關注客戶端與服務端的接口通信,并且以Web Services為基礎,其中設備發(fā)現(xiàn)與設備管理模塊是搭建網(wǎng)絡視頻監(jiān)控系統(tǒng)的首要步驟。目前,已經(jīng)有一批視頻監(jiān)控工作者對符合ONVIF的產(chǎn)品進行了研究與設計[1-5]。文獻[1]是對開放式網(wǎng)絡視頻接口協(xié)議ONVIF的研究,先對ONVIF協(xié)議進行描述與分析,然后設計客戶端,并對客戶端訪問目標設備的情況進行測試,主要完成了設備查找、管理及實時流傳輸?shù)臋z測;文獻[2]設計了基于ONVIF的NVR軟件平臺,是對具體的網(wǎng)絡視頻監(jiān)控設備的設計,主要完成了NVR的基本功能,并對設計的NVR軟件進行測試;文獻[3]主要對基于ONVIF協(xié)議的設備發(fā)現(xiàn)功能進行了研究與設計,對發(fā)現(xiàn)過程進行詳細分析;文獻[4]重點描述 gSOAP軟件在符合ONVIF協(xié)議的網(wǎng)絡視頻監(jiān)控系統(tǒng)中的應用,主要對gSOAP工具包進行介紹以及對媒體服務功能進行研究;文獻[5]是對符合ONVIF協(xié)議的網(wǎng)絡攝像機應用接口的研究與設計,和文獻[2]相比,均屬于具體的設備設計,不同點在于文獻[5]重點研究ONVIF協(xié)議制定的幾項服務功能,而文獻[2]設計的NVR選擇了ONVIF服務功能中的重要功能,還設計了NVR需要的解碼器、Web客戶端等。上述文獻基本都涉及到ONVIF協(xié)議中的設備發(fā)現(xiàn)服務功能,也有對設備管理功能的研究。但是,對實時視頻流地址的獲取以及轉(zhuǎn)發(fā)實現(xiàn)還有待研究。

本文根據(jù)ONVIF協(xié)議,進行網(wǎng)絡視頻監(jiān)控客戶端接口的服務功能設計,做到客戶端能夠自動發(fā)現(xiàn)并連接服務端,同時對服務端進行配置,在上述兩項功能的基礎之上能夠獲取實時視頻流地址,并通過VLC播放,實現(xiàn)視頻流轉(zhuǎn)發(fā)。該設計基于2012年7月更新的ONVIF標準的WSDL文檔和一些核心規(guī)范文檔,根據(jù)規(guī)范里的服務功能— —設備發(fā)現(xiàn)和設備管理以及媒體配置(只利用視頻流實時轉(zhuǎn)發(fā)部分)進行接口設計,形成小的客戶端,然后通過與符合ONVIF標準的網(wǎng)絡攝像機(服務端)的通信,測試接口服務的實際應用情況。整個設計過程需要用到gSOAP工具,并且在設計前需對gSOAP文件夾中的typemap.dat文件進行必要的空間前綴添加,同時對WSDL文件的空間前綴進行必要修改。

1 服務功能模塊分析

本文設計的網(wǎng)絡視頻監(jiān)控客戶端接口需要完成發(fā)現(xiàn)服務端,并對服務端進行設備管理、實時視頻流地址獲取,實現(xiàn)轉(zhuǎn)發(fā)觀看。基于上述目標,對客戶端接口進行模塊劃分,首先需要對客戶端與服務端在網(wǎng)絡視頻監(jiān)控系統(tǒng)中的通信方式進行分析。

基于ONVIF協(xié)議的設備間具體通信情況如圖1所示:

圖1 客戶端與服務端的通信方式Fig.1 Client and server communication

根據(jù)圖1所示,ONVIF客戶端與ONVIF服務端的通信情況可以看成是由4部分組成:第一部分是設備發(fā)現(xiàn)模塊;第二部分是設備管理模塊;第三部分和第四部分是媒體配置模塊中的實時流轉(zhuǎn)發(fā)內(nèi)容。

1.1 設備發(fā)現(xiàn)

ONVIF協(xié)議中的設備發(fā)現(xiàn)模塊,采用WSDiscovery文檔描述的WS-Discovery方案,能夠?qū)崿F(xiàn)自動搜索服務端,發(fā)現(xiàn)其IP地址等一些信息。這個設備發(fā)現(xiàn)方案,采用的是SOAP通信方式和UDP消息傳輸格式,使用 Hello—Probe—Probe-Match—Bye的方式,其中,由加入網(wǎng)絡監(jiān)控系統(tǒng)的每個服務端向客戶端所在的網(wǎng)絡多播發(fā)送Hello,客戶端則多播發(fā)送Probe,能夠匹配Probe報文中的Types和Scopes內(nèi)容的服務端攝像機單播回復ProbeMatch;當服務端攝像機離開該網(wǎng)絡時,則需要多播發(fā)送Bye消息。在整個過程中,攝像機可以隨意加入或離開網(wǎng)絡,但不影響客戶端對攝像機的搜索發(fā)現(xiàn),這是WS-Discovery的特點,也是本設計中做到自動搜索的前提。WS-Discovery方案中還有一種Discovery Proxy方式,在這種方式中,一個DP或多個DP加入客戶端與服務端所在的網(wǎng)絡,單播發(fā)送Hello;當客戶端接收到DP的Hello,就不會顧及服務端發(fā)送的任何信息,只向DP單播發(fā)送Probe。服務端也向DP發(fā)送單播Probe,在這種情況下,客戶端與服務端就利用DP進行通信,當在同一局域網(wǎng)或者只有少量相機的環(huán)境中可以不使用網(wǎng)絡代理服務這種方式。

在本設計中,由于網(wǎng)絡攝像機數(shù)量有限,不考慮代理方式。

1.2 設備管理

設備管理,用于獲取設備的功能和信息。根據(jù)ONVIF-Core-Specification-v220文檔,該模塊被劃分為5類,分別是 Capabilities(功能),Network(網(wǎng)絡),System(系統(tǒng)),Security(安全),I/O(輸入輸出)。在本文中,主要涉及功能和系統(tǒng)兩部分。

根據(jù)設備發(fā)現(xiàn)模塊得到的服務端的IP(XAddrs)地址,從而可以獲取服務端的功能信息。當進行獲取信息操作時,根據(jù)本文的設計,需要得到Media URL,該URL對下面要進行的視頻流轉(zhuǎn)發(fā)起前提作用。

對于系統(tǒng)部分,可以對網(wǎng)絡攝像機本身進行管理和配置,比如網(wǎng)絡攝像機信息的獲取,系統(tǒng)時間的獲取和設置等。對設備的配置,不是任意的行為,必須先利用ONVIF device test tool對網(wǎng)絡攝像機進行測試,根據(jù)得到的報文分析判斷該設備是否可以進行日期時間設置。根據(jù)判定,本文用到的網(wǎng)絡攝像機可以進行對系統(tǒng)日期時間的重新設置。

1.3 實時流轉(zhuǎn)發(fā)

在ONVIF協(xié)議中,媒體是利用 media profiles進行控制的。media profiles的獲取需要依靠Media URL,這是在設備管理模塊中的功能部分中得到的。

媒體文件中的配置有很多種,比如音頻編碼配置,視頻編碼配置等,并且在服務端設備支持的情況下,還可以對媒體文件進行新建、修改、刪除。一般網(wǎng)絡攝像機中都會有默認的媒體文件,根據(jù)這個文件,就可以對媒體進行配置。本文即采用默認媒體文件對視頻流地址進行獲取。

由于設備等條件限制,本文利用VLC播放器能夠播放網(wǎng)絡地址文件的特點,對得到的視頻流StreamUri進行轉(zhuǎn)發(fā)播放。

2 服務功能設計(客戶端)

ONVIF規(guī)范采用Web services架構,客戶端與服務端要利用SOAP協(xié)議進行數(shù)據(jù)交互。Web services是基于網(wǎng)絡的、分布式的模塊化組件,利用HTTP和SOAP協(xié)議使數(shù)據(jù)在Web上傳輸。所以實現(xiàn)客戶端的接口設計,需要搭建Web服務框架,然后將具體的Web服務進行實現(xiàn)。

ONVIF服務功能的開發(fā)大致流程如圖2所示:

圖2 Web服務開發(fā)流程Fig.2 Development process ofWeb service

WSDL文件,實際上就是用XML語言描述的ONVIF不同的服務功能內(nèi)容,根據(jù)WSDL內(nèi)容,可以制定相應的Web services,同時,Web services的實現(xiàn)要使用Java或者C++語言。根據(jù)實際情況,本文為了簡化開發(fā)工作,使用gSOAP-2.8.9工具包,選擇C++語言進行開發(fā)。通過gSOAP工具包將ONVIF服務轉(zhuǎn)換成C++框架代碼后,將進行具體的服務功能的代碼實現(xiàn)。

在本文設計的開始部分,即在進行解析WSDL文件前,必要的步驟是在gsoap文件夾中找到typemap.dat文件并向其添加一些配置,即ONVIF recommended prefixes,WS-Discovery 1.0 remapping,SOAP-ENV mapping,OASIS recommended prefixes等項,這些配置的內(nèi)容是一些空間前綴地址,如 tds=http://www.onvif.org/ver10/device/wsdl,添加的意義在于進行WSDL文件解析為C++文件時需要用到這部分內(nèi)容。并且,從ONVIF官網(wǎng)下載的WSDL文件也需要對其schema-Location進行修改。在本文中,需要改為schema-Location="onvif.xsd"。

2.1 gSOAP編譯為C/C++文件

1)利用wsdl2h.exe進行頭文件編譯。

在電腦的cmd.exe程序中,輸入命令,以設備發(fā)現(xiàn)服務為例,如

wsdl2h-c-o remotediscovery.h-s remotediscovery.wsdl-IE:onvifgsoap;E:onvifgsoapimport,運行后可得到頭文件remotediscovery.h。

2)利用soapcpp2.exe生成相應的可用于編譯的代碼。

根據(jù)得到的頭文件,輸入soapcpp2-L-C-x remotediscovery.h-IE:onvifgsoap;E:onvifgsoapimport,可得到編譯所需的文件,DiscoveryLookup-Binding.nsmap,soapC.c,soapClient.c,soapH.h,soapStub.h。

2.2 實現(xiàn)W eb services

使用Microsoft Visual Studio 2008工具,根據(jù)wsdl2h.exe和soapcpp2.exe得到的編譯所需頭文件和源文件,建立工程,實現(xiàn)設備發(fā)現(xiàn),設備管理及視頻流轉(zhuǎn)發(fā)。

2.2.1 設備發(fā)現(xiàn) 該功能模塊中,首先需要進行初始化。

用到的初始化函數(shù)是:

soap-default-SOAP-ENV--Header(soap,&header);

soap-default-d--ScopesType (soap,&sScope);soap-default-d--ProbeType(soap,&req);在同一局域網(wǎng)中,多播發(fā)送Probe,調(diào)用的函數(shù)是:

soap-call---dndl--Probe(soap,"soap.udp://239.255.255.250:3702/",NULL,&req,&resp)。

2.2.2 設備管理 根據(jù)設計需要,該模塊需要設計Get services功能,該功能可以得到網(wǎng)絡攝像機所支持服務的服務地址。本文中需要用到media服務地址。

工程需要進行結(jié)構體聲明,構建soap-new(),然后調(diào)用函數(shù):

soap-call---tds--GetServices(soap,"http://192.168.100.168/onvif/device-service",NULL,& GetServices& GetServicesResponse)獲取服務。

輸出的運行結(jié)果,可以根據(jù)struct-trt--Get-ServicesResponse GetServicesResponse的定義進行選擇。

根據(jù)設計要求,本文用的是:

GetServicesResponse.Services-> XAddr。.

c)獲取rtsp地址,進行視頻流轉(zhuǎn)發(fā)

工程需要進行結(jié)構體聲明,GetStreamUri.ProfileToken取值 "Profile-token-0";在調(diào)用函數(shù)soap-call---trt--GetStreamUri時,soap-endpoint地址是http://192.168.100.168:80/onvif/services。

輸出結(jié)果選用 GetStreamUriResponse.MediaUri-> Uri,即 printf("StreamUri=%s ",Get-StreamUriResponse.MediaUri->Uri)。

3 測試結(jié)果分析

使用筆記本電腦,與符合ONVIF的網(wǎng)絡攝像機相連(本次實驗使用一臺攝像機),對利用VS 2008工具建立的工程進行編譯運行。為驗證設計的客戶端接口,利用ONVIF device test tool對同一臺IP攝像機進行測試。

3.1 設備發(fā)現(xiàn)功能

如圖3所示,獲取的攝像機IP地址是http://192.168.100.168:80/onvif/device-service。

圖3 設備發(fā)現(xiàn)Fig.3 Device discovery

3.2 設備管理功能

根據(jù)設備發(fā)現(xiàn)功能獲取的地址,可順利完成設備管理模塊,得到 Media服務地址:http://192.168.100.168:80/onvif/services,如圖4所示。

圖4 服務地址Fig.4 Service address

3.3 獲取視頻流地址功能

根據(jù)設備管理獲取的地址,進而獲取Media Profile。根據(jù)以上信息,獲取StreamUri,為rtsp://192.168.100.168:554/0。由圖5所示。

圖5 視頻流地址Fig.5 StreamUriaddress

3.4 VLC根據(jù)獲取的視頻流地址進行播放

最后利用 VLC播放器可連接該地址實現(xiàn)轉(zhuǎn)發(fā)攝像機拍攝內(nèi)容,視頻截圖如圖6所示。

圖6 轉(zhuǎn)發(fā)的URI內(nèi)容Fig.6 Transmit the conten of URI

根據(jù)獲取的視頻流地址可進行VLC播放可知,本文獲取的StreamUri是正確的。

完成上述測試后,使用ONVIF device test tool對同一臺IP攝像機進行設備發(fā)現(xiàn)、設備管理、實時視頻流地址獲取3種服務功能的測試,其測試結(jié)果與上述工程運行結(jié)果相同。

綜合上述測試結(jié)果可知,本文設計的客戶端接口能夠完成ONVIF協(xié)議的設備發(fā)現(xiàn)、設備管理、實時視頻流地址獲取服務功能,并能夠通過VLC播放器對IP攝像機拍攝的視頻進行播放,基本達到設計目標。

4 結(jié)語

本文研究了ONVIF協(xié)議的網(wǎng)絡視頻監(jiān)控客戶端,根據(jù)最新的ONVIF協(xié)議內(nèi)容進行了網(wǎng)絡視頻監(jiān)控客戶端的設備發(fā)現(xiàn)和設備管理服務功能的接口研究,并完成視頻流實時轉(zhuǎn)發(fā),解決了設備間的互通問題。設計用到的設備與工具有Microsoft visual studio 2008,ONVIF device test tool,VLC 播放器,MiniSniffer抓包工具以及gSOAP-2.8.9工具包,其中對gSOAP-2.8.9的一些配置和ONVIF的WSDL文件進行了必要修改。結(jié)果顯示網(wǎng)絡攝像機IP地址,StreamUri等可以獲取,表明利用WS-Discovery方式可實現(xiàn)自動搜索網(wǎng)絡攝像機的IP,并且可以獲得并配置攝像機信息,視頻流Uri也可得到,并利用VLC播放器實現(xiàn)轉(zhuǎn)發(fā)。

[1] 金巍.開放式網(wǎng)絡視頻接口協(xié)議研究[D].南京:南京大學,2011.

[2] 徐飛明.基于ONVIF協(xié)議的NVR軟件平臺的設計與開發(fā)[D].杭州:浙江大學,2012.

[3] 馬宇昌,沈蘇彬,歐陽志友.基于ONVIF標準的設備發(fā)現(xiàn)的設計與實現(xiàn)[J].計算機技術與發(fā)展,2013,23(11):224-228.

[4] 肖路歡,謝燦,何策.gSOAP在基于ONVIF協(xié)議的網(wǎng)絡視頻監(jiān)控系統(tǒng)中的應用[J].數(shù)字技術與應用,2013(6):128-129.

[5] 馬宇昌.網(wǎng)絡攝像機應用接口的研究與實現(xiàn)[D].南京:南京郵電大學,2013.

[6] ONVIF.ONVIF Core Specification ver2.1[EB/OL].[2011-06-01].http://www.onvif.org/.

[7] Microsaft Coporation.Web Services Dynamic Discovery(WS-Discovery)[S].2005-04.

[8] ONVIF.ONVIF-WG-APG-Application-Programmer's-Guide[EB/OL].[2011-05-02].http://www.onvif.org/.

猜你喜歡
功能設備設計
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應分析在設備減振中的應用
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
關于非首都功能疏解的幾點思考
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設備運行維護探討
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 国产精品所毛片视频| 精品久久久久久成人AV| 中文字幕无码制服中字| 精品精品国产高清A毛片| 72种姿势欧美久久久大黄蕉| 九色91在线视频| 五月丁香在线视频| 日韩不卡高清视频| 精品成人一区二区三区电影| 伊伊人成亚洲综合人网7777| 91成人在线免费视频| 亚洲欧美在线综合一区二区三区| 免费xxxxx在线观看网站| 无码AV高清毛片中国一级毛片| 久久人午夜亚洲精品无码区| 又大又硬又爽免费视频| 午夜视频日本| 日韩无码视频网站| 久久久亚洲色| 韩日免费小视频| 中文字幕亚洲另类天堂| 毛片免费在线| 在线观看无码a∨| 日本人妻一区二区三区不卡影院 | 58av国产精品| 免费A级毛片无码免费视频| 性欧美精品xxxx| 日韩欧美网址| 亚洲无码A视频在线| 亚洲区第一页| 免费观看亚洲人成网站| 欧美人在线一区二区三区| 日韩在线播放中文字幕| 亚洲无码高清一区二区| 久久国产高清视频| 色哟哟色院91精品网站 | 国产精品久久精品| 看看一级毛片| 中文字幕伦视频| 中文字幕在线免费看| 亚洲精品在线观看91| 欧美色视频在线| 免费人成又黄又爽的视频网站| 国内精品自在欧美一区| 18黑白丝水手服自慰喷水网站| 国产一区二区三区夜色| 色亚洲激情综合精品无码视频| 中文字幕中文字字幕码一二区| 精品国产香蕉伊思人在线| 国内丰满少妇猛烈精品播| 一级毛片免费不卡在线视频| 四虎精品黑人视频| 日韩人妻少妇一区二区| 九色91在线视频| 伊人网址在线| 色哟哟国产精品一区二区| 成人小视频在线观看免费| 亚洲视频无码| 国产AV无码专区亚洲精品网站| 久久久久国产一级毛片高清板| 91精品小视频| 欧美另类视频一区二区三区| 国产高清国内精品福利| 亚洲综合精品香蕉久久网| 国产原创自拍不卡第一页| 麻豆精品在线视频| 国产精品高清国产三级囯产AV| 综合久久久久久久综合网| 成年人免费国产视频| 亚洲AV无码乱码在线观看代蜜桃| 蜜臀av性久久久久蜜臀aⅴ麻豆| 成人午夜免费观看| av在线手机播放| 天堂岛国av无码免费无禁网站| 中文字幕自拍偷拍| 久久久成年黄色视频| 国产视频一区二区在线观看| 国模粉嫩小泬视频在线观看| 久久人妻xunleige无码| 免费毛片网站在线观看| 99精品一区二区免费视频| 91在线精品免费免费播放|