多路嵌入式H.264視頻服務器的設計
(2)編碼模塊,主要完成對采集的圖像的壓縮編碼。對采集到的圖像數據進行壓縮可以有兩種方案,一種是用硬件來壓縮,它可以有專用系統和通用系統兩種形式,其中,專用系統使用專用芯片實現圖像的硬件壓縮,通用系統則利用通用芯片實現數據壓縮。相對于通
用系統,用專用芯片對圖像用硬件進行壓縮可以快速進行圖象壓縮,減少處理器的開銷等點。第二種壓縮方法就是用軟件來實現,這種方法對機器的硬件配置要求較高,但運用起來靈活,考慮到現在硬件技術已經比較成熟,故我們采用第二種方案,對采集到的圖像數據進行軟壓縮,此處利用H.264標準進行壓縮。H.264壓縮標準是一種新的編碼方法。與其他壓縮編碼方式比較,利用H.264標準可以獲得更高的壓縮比及更好的圖象質量。H.264編碼器都是開源的,可以從網上下載,此處用的是t264,對采集到的YUV格式的數據進行逐幀壓縮。
(3)網絡傳輸模塊,完成現場多媒體數據及歷史多媒體數據的網絡的傳輸,用于支持瀏覽端的現場預覽和記錄回放功能。其基本過程是碼流經碼率控制部分進行碼率調整,然后由RTP組件傳送到網絡中。傳輸啟動之初,組播控制器根據多用戶代理提供瀏覽端的組播策略來協商組播策略;傳輸過程中,RTCP組件實時監測網絡狀況并反饋o決策控制器,決策控制器控制分離器、視頻抽幀器和碼流復合器組件,完成碼流的動態整合。其傳輸體系結構如圖3所示:
圖3視頻流傳輸體系結構
(4)存儲模塊,多個攝像頭采集的多路視頻數據經編碼壓縮后形成復合媒體流,通過存儲組件,存為H.264文件,同時向數據庫中寫相應的文件信息。
(5)設備控制模塊,設備控制器接收用戶界面發出的或網絡傳送來的控制命令,控制解碼器,完成對云臺、鏡頭等設備的控制。
客戶端主要完成視頻數據的接收,解碼和顯示工作,同時還可以動態設置編碼器的數。從功能角度,客戶端的軟件體系結構可劃分為3個模塊:設備控制模塊,網絡的接收與反饋模塊,顯示模塊。其體系結構如圖4所示:
(1)設備控制模塊,根據用戶輸入的命令((例如改變視頻窗口大小、接收路數,圖象分辨率、開始/停止遠程監控等), 產生控制命令并通過一個TCP連接發送到服務器端,服務器端設備控制器接收這些控制命令,并完成對云臺、鏡頭等設備的遠程控制。
(2)網絡的接收與反饋部分,根據用戶的基本帶寬情況(局域網還是非局域網)及請求的任務類型(現場預覽還是歷史回放),確定該接收碼流是否基于組播策略接收。RTP組件完成碼流的接收,RTCP組件檢測碼流的丟包率并反饋給服務器端。
圖4 客戶端軟件體系結構
(3)顯示模塊,同步源過濾器從RTP組件得到碼流,在控制器的協調下,完成解碼及同
步的視頻播放。此處我們采用的是Microsoft DirectShow[6]架構來完成H.264 碼流的實時解碼和圖像顯示工作。
試驗證明,對于包含有視頻服務器、多監控客戶中心的嵌入式視頻監控系統,上述網絡傳輸部分能夠很好地完成視頻數據的實時傳輸,網絡自適應能力良好。
5 結束語
本文創新點是提出了一種多路嵌入式H.264視頻服務器的設計方案,并給出了系統硬件組成和軟件的體系結構框架,該系統與傳統的Motion2JPG和MPEG21相比,采用H.264標準壓縮圖像,降低了帶寬占用率。對于四路QCIF和一路D1分辨率的高清晰度實時視頻監控,只需占用65K和250K的網絡帶寬即可滿足傳輸需求。
評論