視頻管理軟件技術分析報告(三)--VMS軟件支撐技術分析
IP視頻監控系統涉及的主要通信協議包括:
- ? UDP:提供面向事務的簡單不可靠信息傳送服務。
- ? TCP: Transmission Control Protocol 傳輸控制協議TCP是一種面向連接(連接導向)的、可靠的、基於字節流的傳輸層(Transport layer)通信協議。
- ? SIP:是應用層的會話控制協議,用於創建、修改和釋放一個或多個參與者參加的會話,采用基於文本格式的客戶/服務器模式,基本功能包含:用戶定位(定位設備、客戶端),用戶能力協商(了解能力集),用戶可用性確定(定位設備、客戶端是否在線),會話建立(建立視頻流),會話管理(管理視頻流)。
- ? SDP:是會話描述協議,用於為SIP、RTSP、HTTP等協議描述會話信息。
- ? RTP:(Real-Time Transport Protocol,實時傳輸協議)是一個傳輸層的、基於UDP的協議。被用來為音視頻等實時數據提供端到端的網絡傳輸,傳輸的模型可以是單點傳送或是多點傳送。
- ? RTCP:RTP並不保證服務質量,也沒有提供資源預留。可以通過控制協議RTCP的補充來實現大規模業務時對傳輸數據的監視功能。並通過RTCP提供一些控制和識別流的功能。RTCP協議規定,源和目的之間需交換多媒體信息的報告報文。報告包含發送包的數目,丟失的數目,抖動間隔時間等信息。用來修正發送者的發送速率以及信息診斷。
- ? iSCSI:是基於IP協議的存儲技術標準,是SCSI協議的一種,主要由RFC3720描述。iSCSI 發送端將SCSI命令和數據封裝到 TCP/IP 包中再通過網絡轉發,接收端收到 TCP/IP 包 之後,將其還原為SCSI命令和數據並執行。整個過程在用戶看來,使用遠端的存儲設備就象訪問本地的 SCSI設備一樣。
- ? RTSP:(Real Time Stream Protocol,實時流媒體協議)是TCP/IP協議體系中的一個應用層協議,定義了如何有效地通過IP網絡傳送多媒體數據,類似一個多媒體播放設備的網絡遙控器。
2. 視頻接入方式
2.1. GB28181
GB/T 28181是目前國內安防視頻監控聯網系統中使用比較廣泛的標準,目前最新的標準版本為GB/T 28181-2016。
GB/T 28181中定義的通信協議結構如圖2所示:
GB/T 28181定義了MANSCDP(SIP信令中包含XML定義的消息體)用於完成對設備,文件,告警等對象的管理。GB/T 28181基於SIP協議實現媒體流的實時點播和歷史點播,支持客戶端主動發起和第三方呼叫控制兩種方式。
VMS使用GB/T 28181不僅可以接入視頻,還可以完成對管理設備的信息查詢、配置和控制(如PTZ控制)。GB/T 28181利用SIP協議的註冊機制完成接入設備的註冊和定位,因而在VMS中SIP服務器實質上是VMS中的CMS。2.2. ONVIF
2008年5月,由安訊士聯合博世及索尼公司三方宣布將攜手共同成立一個國際開放型網絡視頻產品標準網絡接口開發論壇,取名為ONVIF(Open Network Video Interface Forum,開放型網絡視頻接口論壇),並以公開、開放的原則共同制定開放性行業標準。2008年11月,論壇正式發布了ONVIF第一版規範——ONVIF核心規範1.0,截止目前,最新的ONVIF接口定義版本為16.12(2015年12月的版本還是2.61,2016年6月的下一個版本就變為16.06,依此推斷ONVIF的版本是用發布的年和月來定義了。) 。商業產品中使用較廣泛的是2.0版本。
ONVIF定義了四種典型設備:NVD(Network Video Display)、NVA(Network Video Analytics)、NVT(Network Video Transmitter)、NVS(Network Video Storage),並對這四種類型典型設備的服務進行了定義。
ONVIF規範主要由一系列的服務接口定義組成,這些定義基於Web Service標準規範,使用WSDL和XML Schema表示。
使用ONVIF定義的服務器接口,兼容ONVIF定義的設備能夠方便的接入到VMS中。與28181協議相比,ONVIF弱化了監控平臺的定義。
ONVIF使用Profile來定義設備的兼容能力,目前已經發布的Profile有A,Q,C,G,S系列。
ONVIF的服務定義比較系統地定義了視頻監控系統中對於設備的管理與控制,因此使用SOA思想(或microservice)的VMS在設計時可以充分參考ONVIF的服務定義思想。
ONVIF的規範實現依賴於W3C定義的系列Web Service標準規範,Web Service標準規範在服務發現、事件通知等機制上設計較為復雜,對於實時性要求較高的場景可能在效率上不能滿足要求。2.3. Webrtc
WebRTC,名稱源自網頁實時通信(Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的技術。
WebRTC最終目的主要是讓Web開發者能夠基於瀏覽器(Chrome\FireFox...)輕易快捷開發出豐富的實時多媒體應用,而無需下載安裝任何插件,Web開發者也無需關註多媒體的數字信號處理過程,只需編寫簡單的Javascript程序即可實現,W3C等組織正在制定Javascript 標準API,目前是WebRTC 1.0版本 。
WebRTC在兩個瀏覽器之間通過交換SDP信息來交換兩端的媒體元數據信息,基於Offer/Answer的媒體會話模型 。
WebRTC的工作模式非常簡單,如圖 3所示:
兩個瀏覽器基於同一個Web Server(信息服務器)完成彼此之間媒體會話信息(SDP參數)的交換,就能夠建立起媒體會話,完成媒體流的傳輸交換。
WebRTC的開發模型如圖 4所示:
WebRTC定義了一套使用JS描述的WebRTC API,開發者使用所支持瀏覽器提供的這些API完成媒體的獲取,媒體會話參數的獲取,信息的發送等工作。
與傳統的流媒體開發API相比,WebRTC API屏蔽了更多的細節(如網絡端口,地址等信息),做到了開發的簡潔性。
WebRTC的核心技術是網絡連接的建立,及ICE技術。每個端點能夠根據所處的網段,機器信息生成一個IceCandidate的集合(每個IceCandidate實則是一個媒體流的端點地址),兩個端點通過交換彼此的IceCandidate集合,可獲知對方的媒體流可達地址,從而建立連接(IceCandidate被劃為不同優先級,優先級高的地址先被嘗試連接)。WebRTC可以使用STUN和TURN技術實現媒體流的中轉。
雖然WebRTC設計的初衷是想實現在兩個瀏覽器之間交換視頻流,不需要流媒體服務器。但在VMS設計中,常實現一個WebRTC服務端作為類流媒體服務器,向瀏覽器提供采集自前端的實時視頻流,這樣在瀏覽器側可實現無插件的流媒體實時播放。需要註意的是,瀏覽器支持的視頻編碼格式是有限的,必要時需要服務端轉碼。3. 視頻存儲
3.1. 存儲方式與格式
視頻存儲使用的存儲介質通常為磁盤陣列。在視頻監控系統中,主機訪問存儲的方式有:DAS,NAS,SAN,FC SAN和IP SAN。
隨著VMS軟件管理規模的不斷擴大化和聯網需求的不斷增長,FC SAN和IP SAN兩種訪問存儲方式成為目前常用的訪問存儲方式。
在視頻存儲方式上,視頻流直寫存儲(Central Video Recorder ,CVR存儲)方式成為視頻監控設備廠家常用的方式。
CVR存儲方式下把錄像軟件嵌入到存儲設備中,視頻流數據由DVR或IPC通過流媒體協議直接寫入存儲,降低了客戶使用成本,也提高了性能和可靠性,如圖 5所示。
CVR存儲無需部署存儲服務器,視頻數據從前端編碼設備直接寫入存儲設備,數據傳輸協議支持主流的流媒體協議(如RTSP/ONVIF/PSIA等)和GB/T28181規範;支持VMS直接調取,架構簡化而開放,空間自我管理,可獨立組網。
在視頻存儲格式上,“基於文件的存儲”與“基於塊的存儲”是目前視頻存儲主要使用的兩種格式。
圖 6展示了“基於文件的存儲”模型。
圖 7展示了“基於塊的存儲”的存儲模型。
與“基於文件的存儲”模型相比,“基於塊的存儲”的存儲模型具有效率高,查詢快等特點。但使用“基於塊的存儲”的存儲模型在海量存儲場景下需要配套的數據庫系統用以管理數據塊索引。3.2. 雲存儲
隨著分布式存儲技術的發展,越來越多的視頻監控設備廠商推出了各自的雲存儲產品。
視頻監控系統中使用雲存儲設備的一個典型應用場景如圖 8所示:
視頻監控平臺根據業務需求為各前端攝像機下發錄像計劃,視頻雲存儲系統根據當前系統內的業務負載情況分配具體的存儲空間,前端攝像機推送視頻數據流直寫到分配的存儲設備上。同CVR存儲模式一樣,視頻雲存儲數據傳輸協議支持主流的流媒體協議(如RTSP/ONVIF/PSIA等)和GB/T28181規範,支持平臺直接調取。
根據對元數據的管理模型,可以將通用雲存儲系統分為三種類型,即集中式元數據、分布式元數據和無元數據三種類型的系統。
集中式元數據雲存儲系統是一種典型的主從結構系統,在系統中,通常具有一個中央元數據管理服務器,負責元數據的存儲和處理查詢與修改請求。目前業界采用這種架構的系統主要有HDFS等。
分布式元數據雲存儲系統采用多臺元數據服務器形成集群工作的方式提供元數據訪問服務,集群中的每一臺設備都可以提供元數據訪問,從而提高整體訪問性能,並且規避單點故障問題。
無元數據雲存儲系統則徹底拋棄元數據,采用算法來對文件或對象進行定位,並將該算法集成在每一個存儲節點上,客戶端從任何一個存儲節點進行數據訪問都會獲得同樣的結果,雲存儲系統中的每一個存儲節點都可以獨立、並行地對外提供服務,從而真正實現性能隨節點數增加而線性擴展 。MAPR公司對於HDFS的擴展存儲產品號稱使用這一架構。3.3. 分層存儲策略
分層存儲策略常常能夠提升系統操作效率。一個智能的VMS系統需要提供融合多種存儲技術和媒體類型的統一方法來提升效率。圖 9顯示了一個智能的,可伸縮的分層存儲架構 。
智能可伸縮的分層存儲架構支持所有視頻監控數據的統一訪問: - Primary disk:存放最近,被頻繁訪問的數據。
- Secondary disk:提供較多容量,存放較為頻繁訪問的數據。
- File based tape:提供更多的容量,存放系統中不常被訪問的數據。
- Cloud storage:用於離線存儲,復制系統內的數據。
3.4. 流媒體分發體系結構
流媒體業務作為視頻監控系統的重要一環,流媒體分發是VMS設計時需要考慮的關鍵技術(本節內容主要引用文獻1)。流媒體分發體系結構被分為四類 :
- C/S分發體系結構:C/S模式由單一服務器提供資源,存在單點失效問題,服務器成為系統的性能瓶頸,無法滿足大規模應用的需求。C/S體系結構中流媒體分發的優化目標是減輕服務器的負擔,為盡可能多的用戶提供盡可能好的流媒體服務。使用的主要優化技術包括網絡優化技術、編碼技術以及服務器優化技術。
網絡優化技術包括IP組播技術,實時流媒體傳輸協議、流控協議以及差錯控制協議等研究。
流媒體對傳輸速率敏感,必須通過流控協議保證媒體的實時需求,流控協議可以分為單播速率控制和組播速率控制兩類。
差錯控制協議主要控制數據包丟失對流媒體應用的影響,數據塊交錯(interleaving)封裝是一種差錯控制方法,它將數據塊交錯封裝到不同的數據包中,避免一個數據包丟失則連續多個數據塊丟失而導致播放質量明顯下降的情況。
服務器優化技術主要包括基於存儲的代理緩存技術和基於合並的優化技術。代理緩存把本地最近訪問過或最經常訪問的內容保存在代理服務器上。合並優化技術的原理是避免為一個請求單獨提供下載頻道,將多個請求合並到少數頻道上。 - CDN分發體系結構:CDN在網絡的邊緣部署多個代理(surrogate)服務器,並將源服務器上的內容發布到各代理服務器上,用戶對內容的請求被重定向到最近的代理上,從而提高服務響應速度。與C/S相比,CDN能提供穩定可靠的高質量的流媒體分發能力。但從服務容量上看,CDN的服務能力等於部署的代理服務器的服務容量總和,為了滿足用戶訪問需求,往往需要按照訪問峰值來設計和部署代理服務器,成本太高;分布式部署方式也增加了網絡的管理、運維成本。
- P2P分發體系結構:P2P是對客戶端能力的增強方式。P2P體系結構下節點既是資源請求者也是資源提供者。通過動態地整合節點有限的資源來分擔本由服務器獨立承擔的服務,系統節點規模和服務能力能夠同步增長。P2P技術的研究主要集中在下面幾個方面:
拓撲一致性:P2P是構建在物理網絡之上的覆蓋網絡,覆蓋網上邏輯相鄰的節點在物理網絡上可能相隔很遠,這種拓撲不一致往往給網絡帶來大量不必要的帶寬消耗。因此,覆蓋網構建時必須盡量選擇在同一ISP網內的節點作為鄰居。
NAT/防火墻:P2P的擴展能力來自於節點的資源共享。在流媒體分發中普遍采用拉的數據交換方式,NAT/防火墻後面的節點無法建立連接的請求。為解決NAT帶來的共享困難問題,大部分的研究集中在適合P2P分發的NAT穿越算法上。
網絡擾動:節點頻繁加入或退出覆蓋網的現象稱為網絡擾動。由於節點的自治性和自私行為,擾動成為最嚴重影響P2P性能的缺陷之一。目前針對網絡擾動的有效措施不多,需要繼續深入研究。
激勵機制:在流媒體服務中,激勵機制是一個開放問題,常見的激勵方案包括基於積分、基於名聲和基於博弈理論等方法。有研究提出一種激勵模型,將節點貢獻轉化為分數和對應等級,來決定節點選擇鄰居的優先度,貢獻越多的節點能夠獲得更高的共享資源,得到更高的服務質量。 - P2P-CDN混合式分發體系結構:P2P與CDN之間存在很大的優勢互補空間。很多研究對P2P-CDN混合式分發體系結構寄托了極大的期望,在P2P-CDN混合式分發框架下,P2P能夠輔助CDN:對等節點之間共享從服務器獲得的數據,減少了服務器的負擔;在CDN覆蓋不到的區域,P2P可以作為一種網絡優化的手段。同樣,CDN可以輔助P2P:當P2P網絡內部共享服務能力無法滿足用戶需求時,CDN基於復制的基礎框架可以為P2P提供穩定的內容來源;CDN服務器可以充當P2P網絡的超級節點,提供一定程度的節點管理和數據流量控制的管理功能。
參考文獻:
- 鄭偉平, 齊德昱, 向軍,等. 流媒體分發體系結構演化和關鍵技術進展綜述[J]. 小型微型計算機系統, 2010, 31(1):72-82.
- IHS, Video Surveillance Storage: Enabling infrastructure for next generation security systems,2015
- 許勇,淺談雲存儲技術架構,http://www.asmag.com.cn/tech/201605/75449.html
視頻管理軟件技術分析報告(三)--VMS軟件支撐技術分析