??? 摘 要:為了機房的安全以及更好地管理,設計了機房實時監視系統。采用H26x視頻編碼技術和RTP協議來實現,并且討論了基于RTP/RTCP協議的視頻實時傳輸中的控制方法。
??? 關鍵詞:實時傳輸協議;RTP/RTCP;H.26x ;G.729
?
??? 視頻監控一直是人們十分關注的應用技術熱點之一,它以其直觀、方便、信息內容豐富而廣泛應用于安保、生產管理等場合,成為金融、商業、交通乃至住宅、社區等領域安全防范監控的重要手段,它為這些行業的安全防范和環境監控起到了不可忽視的作用。傳統的機房都只能安排工作人員現場進行管理,不能遠程監控、自由指揮,費時、費力,而且不能周密、全方位的監視每個使用者,因此,為了機房的安全和更有效的管理,本文設計了機房實時視頻管理系統。該系統需要解決兩個方面的問題,一個是視頻圖像的編碼問題,另一個是其在網絡中的傳輸問題,而且兩方面是緊密聯系的。本研究提出基于RTP/RTCP協議構建的機房實時視頻傳輸控制系統,傳輸層通信使用 UDP Socket 完成。
1 系統的組成與功能詳述
??? 機房監控系統是由現場監控設備、監控服務器和監控客戶端構成。現場監控設備包括數字攝像機、控制云臺、矩陣主機和模擬數字化設備、紅外線、雷達等。而監控服務器對現場監控設備發來的信息進行驗證、分發、處理和保存,并同時可以讓監控客戶端通過視頻或通過Internet查看現場信息。這樣大大提高了監控系統的覆蓋面和靈活性。系統模型如圖1所示。
?
?
2 傳統的TCP和UDP協議
??? TCP協議即傳輸控制協議,該協議首先要通過三次握手來建立連接,再利用“發送-等待確認-再發送”機制來保證數據傳輸的可靠性,但是顯然造成了對寶貴的網絡資源的嚴重浪費,降低了傳輸效率,而且因為這種控制機制的時延太長,靈活性太差,不能滿足實時的音視頻數據的傳輸要求。而UDP協議,即用戶數據報協議,它為應用程序之間提供面向無連接的、不可靠的數據報的傳輸服務。它是一個非常簡單的協議,沒有使用確認機制來確保報文到達,沒有對傳入的報文重新排序的功能,也不提供反饋信息來控制機器之間信息流動的速度。所以UDP的報文傳輸可能出現丟失、重復、延遲以及亂序的錯誤。所以說單獨的UDP協議也不適合實時的音視頻數據的傳輸。
3 RTP/RTCP協議及其傳輸控制方法
3.1 RTP/RTCP協議[1]
??? RTP協議主要是用來傳輸實時音/視頻數據,它包括RTP和RTCP兩種數據包。RTP包用于實時數據端到端傳輸,RTP包最大的特點就是其提供了時間戳(即發送數據塊首字節的創建時間)和序列號,以達到數據的同步和重組。而在RTCP包中含有已發送的數據包的數量、丟失數據包的情況和數據包到達時延抖動等信息,通過該信息可以計算出如下有關的服務質量參數:數據包丟失比、數據包時間片丟失比、數據包丟失率、數據包時間片丟失率、有效數據傳輸率、數據包傳輸率、吞吐量、吞吐率數據包到達時延抖動、往返傳播時延等等。通過這些參數可以監視網絡的服務質量、通信帶寬以及網上傳送的信息。
3.2實時傳輸控制的方法
??? 遠程網絡傳輸不可靠性主要表現在[2]:
??? (1)數據包“亂序到達”,先發送數據包有可能后到;
??? (2)在Internet環境下,網絡傳輸帶寬變動會引起發送的數據包丟失;
??? (3)數據包到達的時延過大而產生抖動會引起數據的失真。
3.2.1 利用RTP/RTCP進行傳輸控制
??? RTP/RTCP能很好地解決上述問題。發送端和接收端應遵循以下步驟:
??? (1)在接收端緩沖區中依靠RTP包中的序列號來調整到達數據包的順序,使之與發送時的數據順序一致。
??? (2)分析RTCP控制包。
??? (3)評估網絡狀態。采用某種判斷依據,評估實際的網絡擁塞狀況,以決定是否對帶寬需求進行動態控制以改善服務質量。
??? (4)調整所需帶寬。如接收端用戶可以設置可接受的最大和最小帶寬。
??? 為了改進遠程視頻傳輸系統的穩定性,需建立一個傳輸控制模型,這樣可通過網絡狀況的反饋及時調整采樣頻率以及編碼格式以適應當前的網絡傳輸要求。RTCP利用主要的兩種控制包SR和RR反饋的信息如數據包丟失比、數據包丟失率、吞吐量和吞吐率、數據包到達時延抖動J(interarrival jitter)和往返傳播時延等來調節實時傳輸,并調整系統的打包格式、發包速率來保證流暢地傳輸數據和清晰地播放視頻。其服務質量動態反饋控制的原理如圖2所示。
?
?
3.2.2 利用TCP進行的新型傳輸控制
??? TCP不適合實時音視頻數據的傳輸。但是RTP協議可以利用TCP來實現數據傳輸的新的控制,這種控制方法很獨特、新穎。因為利用RTCP雖然可以實現數據傳輸的控制,但其主要是在源端和接收端之間的參數交流,因而只能大概、初略地估計線路的阻塞程度,從而調整發送速率。隨著計算機網絡的迅速發展,擁塞控制機制的目標從單獨地避免擁塞趨向于怎樣有效地利用網絡資源。RTCP中的控制將丟包和傳輸延遲的增長作為網絡出現擁塞的指示,沒有依賴于網絡的中間節點。在實際網絡中,引起網絡擁塞的因素是很多的:可能由于中間節點隊列溢出引起丟包,也可能是由于設備故障或者鏈路干擾導致節點校驗錯誤引起丟包;可能由于中間節點隊列長度增長引起延遲增加,也可能由于傳輸路徑很長(如衛星鏈路)或者鏈路層數據包重傳引起延遲增加。因此,利用TCP協議,可以反映網絡的中間節點對擁塞的影響程度,從而采用多種擁塞控制機制來保證服務質量。可以大致地將其劃分為3類:(1)基于丟包反饋地協議LCA(loss-based congestion avoidance); (2)基于路徑延時反饋地協議DCA(delay-based congestion avoidance); (3)基于顯式反饋的協議ECN(explicit congestion notification)。
??? 即在源端發送一些TCP探測包,經過中間網絡節點,到達接收端,接收端再發送TCP數據包,與源端進行交流,從而達到傳輸控制。TCP用于RTP傳輸控制如圖3所示。
?
4 系統設計與實現
??? 系統的實現是在Visualc++6.0環境下[3-4],采用H.263/H.264視頻編碼,G726音頻壓縮編碼。傳輸控制子系統是基于RTP/RTCP協議構建,通過傳輸層的UDP Socket完成實時傳輸。
4.1 現場監控設備的實現
??? 現場監控設備通過網絡初始化后,實現與服務器的連接。通過監控設備開啟錄音和攝像程序,不間斷地采集現場音視頻信息,然后經過G.729音頻、H.263/H.264視頻編碼壓縮,再經過封包并通過網絡傳給服務器。待監控設備收到數據采集結束的信息通知后,才停止采集過程。該部分主要是完成數據的采集、打包、壓縮以及數據的存儲和發送。數據發送結構如圖4所示。系統的模塊組成框圖如圖5所示。
?
?
4.2 監控服務器的實現
??? 監控服務器端是本智能系統的核心部分,功能多,設計復雜[5-6]。主要是根據監控信息進行相關的數據處理并完成對監控客戶端的數據實時傳輸和實時監控。服務器端主要分為如下模塊:網絡管理、協議分發、代理模塊、管理模塊、登錄管理、終端管理、監控端管理、文件管理、數據庫管理、日志管理及UI(用戶接口)等模塊。系統結構如圖6所示。
?
4.3 監控客戶端的實現
??? 監控客戶端主要包括兩類用戶:常規固定監控客戶端和移動手機監控客戶端。主要負責日常的監控管理,可以通過網絡Web和手機監控播放器兩種模式查看現場信息。如進行視頻監控、保存回放、連續錄像、文件檢索以及網絡傳輸等多種功能綜合的多元化需求。系統結構如圖7所示。
?
5 監視系統的應用
??? 本系統的一種實現形式就是直接使用機房的計算機,通過安裝攝像頭或紅外線探頭,采集視頻圖像,壓縮編碼后,通過機房內部網絡傳輸到機房管理控制中心,方便機房管理人員了解機房內學生上機的情況。另一種形式是把視頻采集編碼程序通過DSP編譯和優化[7-8],然后移植到DSP平臺上,通過網絡傳送到接收端實時顯示[9-10]。在Internet網絡上進行視頻實時傳送,需要進行QOS服務質量控制,否則傳輸質量滿足不了要求,效果也很差。本系統由于采用RTP/RTCP協議進行傳輸質量控制,在Internet網絡上實現的效果也非常好,在家里、網吧等也可以實時看到機房的情況,滿足了機房實時視頻監視的需要[11]。
??? 針對機房的安全以及機房使用的管理情況設計了機房實時監視系統。該系統通過在局域網和Internet網絡上的多次實驗,表明在局域網環境下,網絡通信較為簡單,傳輸質量較好,在Internet網絡環境下,跳幀現象明顯,通過有效的傳輸質量控制,傳輸幀率一般保持在每秒15~30幀,圖像效果很好,當視頻背景快速移動時,運算復雜度增大,傳輸幀率會降低,須即時調整,確保傳輸質量的穩定。
參考文獻
[1] Sehulzrine H. RTP Profile for Audio and Video Conferences with Minimal Control.RFC1890,IETF,1996.2-10.
[2]?Basturk E, Birman A. Design and Implement of A QoS Capable Switch-router. Computer Networks and ISDN Systems,1999,31(1/2):19-32.
[3]?David J,KrL-glinski. K L. Inside? Visual C++. Waslling ton:Microsoft Press,1997; 206-223.
[4]?Anthony Jones,Jimohlund. Windows網絡編程技術[M]. 北京:機械工業出版社,2000
[5]?Sehulzrinne.H. RTP Profile for Audio and Video Conference switch Minimal Control[S].InternetRFC1890.1996-01
[6]?Sen S,Cao L,RexfordJ,etal. Optimal Patching scheme for efficient multimedia Streaming .Proe.Int.Conf.011 Network and Operating System Support for Digital Audio and Video,1999,(6):1024-1032.
[7]?王飛. MpEG -4標準及多媒體應用.電子技術,2001(3):17-22.
[8]?吳國勇,邱學剛. 網絡視頻:流媒體技術與應用. 北京:北京郵電大學出版社,2001。
[9]?徐京,魯士文.TCP/IP網絡環境下的視頻圖像傳輸.計算機工程與應用,1999(12):98-100.
[10]?凍 堅,陳偉. Visual C++網絡高級編程. 北京:人民郵電出版社,2002.7-95.
[11]?馮 嘩,馮忠義,曹寧.基于socket網絡編程接口實現局域網上視頻傳輸的應用研究. 微計算機信息,1998,14(5).