基於IP網路的數字音視頻監控系統設計與實現時間:2009-01-07 11:28:44 來源:維庫電子市場網 作者:
監控系統被廣泛應用於保安、生產管理等需要無人值守的場合。雖然基於閉路電視的類比監控系統已經發展得非常成熟,但當前興起的數位視訊監控系統與之相比,有許多優點。數位視訊監控系統的智能性和可靠性高,能提供遠端存取能力,視頻資料管理儲存方便,而且可以開發升級。本文介紹了一種基於IP網路的數位視訊監
控系統的設計實現方案,他從採集、傳輸到終端控制實現了全過程數字化。
l 系統需要解決的問題
1.1 數字音視頻壓縮標準以及壓縮方式的選擇
現
有的壓縮演算法有H.263系列,M-JPEG,MPEG-1 VCD壓縮標準,MPEG-2
DVD壓縮標準,WAVELET小波變換,MPEG-4標準。這些演算法各有優缺點,也決定了其應用於不同行業的適用性,H.263適合用於可視電話及視頻
會議等對映像大小和品質要求不是很高的應用領域;MJPEG,MPEG-1,MPEG-2由於即時性差以及資料量大的缺點不適合網路傳輸;MPEG-4視
頻壓縮技術的出現引發了壓縮領域的一場革命,他基本上克服了其他壓縮演算法的缺點,利用很窄的頻寬,通過幀重建技術壓縮和傳輸資料,以求以最少的資料獲得最
佳的映像品質。MPEG-4試圖達到2個目標:
(1)低位元速率下的多媒體通訊;
(2)是多工業的多媒體通訊的綜合。
據此目標,MPEG-4引入AV對象(Audio/Visaul Objects),使得更多的互動操作成為可能。儘管MPEG-4並不是專為視頻監控壓縮領域而設計的,但同樣也適合CIF(352×288)或者更高清晰度(768×576)情況下的視頻壓縮。
實現壓縮演算法的方式有2種,軟體壓縮和硬體壓縮,其中硬體壓縮即時性好,效能可靠,市場上也存在專用的MPEG-4壓縮晶片或板卡。
為了達到即時性的要求,本系統採用MPEG-4壓縮演算法的硬體壓縮方式。
1.2 通道環境以及即時性的考慮
目
前可供選擇的通道有PSTN,N-ISDN,乙太網路等。而監控系統大多數的應用場合是在一個相對較小的地區內進行視頻監控,因而可以使用已經廣泛使用的以
太網作為數字硬碟錄影系統視頻傳輸的通道。目前100BASE-T乙太網路的頻寬已經達到100Mb/s,可以滿足數字硬碟錄影系統提供高品質清晰映像、多
路視頻同時傳輸的要求。因此本文選用100BASE-T乙太網路作為主要傳輸通道。
本文的任務主要是圍繞乙太網路來解決數位視訊的即時傳輸和組播問題。考慮在某些應用場合需要遠距離傳送視頻碼流,為此在設計網路傳輸系統時就充分考慮了通道頻寬的限制,引人碼流和幀率動態可調機制,較好地滿足了遠程監控場合對映像品質和映像連續性的要求。
為了達到即時性,不光音視頻採集部分要實現即時性,傳輸部分也要達到即時要求,根據實驗,採用MPEG-4要達到25幀/s,需要256kb/s的頻寬,可見100Mb/s的乙太網路
可以滿足多路傳輸要求。
1.3 網路通訊協定和傳輸機制的控制
ISO組織制訂的OSI網路參考模型中,運輸層建立在IP層之上,包含2種傳輸協議:一種是傳輸控制通訊協定TCP,他是連線導向的網路通訊協定;另一種是使用者資料包通訊協定UDP,他是不需連線的。其中TCP不適合即時傳輸音視頻資料,常用的是基於UDP的RTP協議。
由於UDP沒有差錯控制,屬於不可靠的分組遞交,為了實現可靠交付和流量控制,IETF(網際網路工程部)提出了RTP和RTCP兩個協議。所有的即時媒體資料都使用RTP進行傳輸,RTCP提供接收方向發送方反饋資訊的功能。他們都是基於UDP的。
2 系統設計
2.1 數字監控系統網路傳輸的功能設計
系統原理框圖l所示。
他
由9個模組組成,音視頻採集和壓縮處理由視頻採集卡硬體完成,採集卡通過附帶的SDK函數介面和網路傳輸模組之間通訊,當視頻採集卡完成視頻捕捉和壓縮處
理後,RTP協議封裝模組對資料區塊進行封裝和排序,然後交給UDP網路傳輸模組在IP網路上傳輸;對於接收端所做的工作和發送端基本類似,只是負責把網路
傳輸過來的音視頻資料包重組和解碼回放出來。
2.2 系統硬體構成
圖2所示是整個系統的硬體組成,包括網路攝影機、前端採集電腦和中心伺服器3個主要部分,前端採集電腦中裝有視頻採集卡,根據採集卡的路數多少可以配備相應數量的網路攝影機。
2.3 軟體設計
系統工作為C/S方式,包括3個部分:採集、傳輸、伺服器顯示和控制。
音視頻採集的軟體開發是在採集卡廠商提供一個SDK軟體包的基礎上進行的。由於視頻資料包和碼流的大小會影響到視頻在網路中傳輸的即時性和視頻在接收端回放時抖動的程度,因此該音視頻資料包大小和碼流設定應該是傳輸時的即時性和與回放時的抖動情況的折衷。
發
送端的取流、封裝和發送過程採用了32位作業系統搶先式多線程任務機制以解決CPU並行效率低等問題,整體上分為三緩衝區多線程結構,即採用取流緩衝區、
封裝緩衝區和發送緩衝區等3個緩衝區,分配了取流封裝線程、記憶體切換線程、視頻映像發送線程和程式主線程等4個線程,利用了取流緩衝區空、取流緩衝區滿、
封裝緩衝區空、封裝緩衝區滿、發送緩衝區空、發送緩衝區滿及允許發送等7個事件,提高了視頻映像傳輸的效率。
在使用RTP協議對視音頻複合
流進行封裝時,通行的做法是:在Windows作業系統中裝載RTP協議的動態連結程式庫(DLL),然後將發送端的視頻編碼器輸出的資料流進行相應的成幀算
法,形成適合於RTP協議格式的視頻流封裝,遞交給RTP協議分組處理模組,加上此協議的分組報文頭,並根據當前的採樣時鐘打上時間戳記,標記順序號,並給
定幀頻、解析度、相應的壓縮格式等參數,經多目地址傳輸來完成。在接收端,當即時視頻資料到達後,去掉該層協議的頭標,根據通訊端應用的埠號向上層遞交。
RTP分組模組處理遞交的資料分組,根據其會話標識和序號進行鑒別,將有效分組傳遞給相應的解碼緩衝區,實現視頻流內部的同步。
為了避
免引起廣播風暴,採用了在PC平台上實現IP組播,為此量身定製了一個基於微軟基本類庫MFC的IP組播類CMulticastSocket。IP組播類
CMulticastSocket是在非同步Socket類CAnsycsocket的基礎上派生出來的,分組中的每一個成員都可以動態地加入和退出;組中
的某個成員發出的資訊,分組中其他所有的授權成員都能收到,他是UDP Sockets的一個分支。
由於數字硬碟錄影系統(DVR)還需要給用戶端提供網路控制功能和傳送系統資訊,在具體的網路編程應用中,採取UDP Socket和TCP Socket並存的編程機制。
3 效能指標
本系統效能指標如下:
支援100Base-T乙太網路環境下的8路CIF格式的視頻同時傳送;
支援50個遠程用戶端同時訪問;
在用戶端,網路視音頻傳輸的延時低於1 000ms,且無明顯抖動,用戶端重建的每路視頻的幀率大於25幀/s;
支援PSTN線路條件下的一路QCIF格式的視頻傳送,用戶端重建的視訊框架率大於5幀/s;
支援警示回傳,電話線自動警示,對警示事件自動錄影。4 結 語
本文介紹的基於IP網路的採用通用電腦結合視頻採集卡的音視頻監控系統,已成功應用於某