本文介紹了一個基于嵌入式WEB技術的網絡視頻監控系統的設計與實現,重點闡述其嵌入式服務器軟硬件部分的設計思想和體系架構,并對其中涉及的若干關鍵技術進行了較為詳細的介紹。
1 基于嵌入式WEB技術的網絡視頻監控系統概述
目前,以網絡為基礎的數字視頻監控系統是視頻監控系統發展的主流,而隨著微處理器技術、計算機網絡技術的進步,基于嵌入式WEB的網絡視頻監控系統逐漸得到了人們的廣泛關注,其主要原理是:嵌入式視頻服務器采用嵌入式實時操作系統,內置嵌入式WEB服務器,攝像機傳送過來的視頻信號經高效壓縮芯片壓縮后,通過內部總線傳送到內置的WEB服務器。用戶在監控端可以直接通過瀏覽器觀看WEB服務器上的攝像機視頻圖像,授權用戶還可以控制攝像機云臺鏡頭的動作。本文所述的監控系統的原理圖如圖1所示。
本系統由攝像機、嵌入式WEB服務器、傳輸網絡和監控端組成。攝像機用來采集監控現場的視頻。嵌入式WEB服務器是整個監控系統的核心,有硬件和軟件兩個部分,詳細結構將在下面分別介紹。其主要功能包括:為監控端提供WEB訪問頁面;對監控端的訪問進行有效性、安全性檢查;響應監控端的請求,為監控端提供所需要的視頻圖像;接收監控端的控制信息,經過軟硬件轉換后對攝像機進行控制。每個服務器有自己的IP地址,在監控端可以通過瀏覽器界面訪問服務器。監控端的功能則是顯示現場視頻,并根據需要向服務器發送視頻請求以及對攝像機的控制信號。
2 嵌入式WEB服務器的硬件結構
嵌入式WEB服務器的硬件結構如圖2所示。其主要由CPU芯片、MPEG-4音視頻編碼芯片、Flash芯片、SDRAM內存、以太網絡接口、大容量硬盤組成。其中CPU采用MOTOROLA公司的PowerPC系列嵌入式通信處理器MPC8250。MPEG-4音視頻編碼芯片完成對從攝像頭傳送過來的視頻數據的壓縮和編碼。根據網絡帶寬、拓撲結構以及對圖像質量的要求,本系統選用基于MPEG-4標準的分層可擴展性編碼方案。壓縮后的視頻數據根據需要,可以存儲在大容量硬盤中,或者通過以太網進行網絡傳輸。為了實現視頻存儲功能,需要采用大容量的硬盤。
3 嵌入式WEB服務器的軟件系統
嵌入式WEB服務器的軟件設計與實現是本系統實現的關鍵之一,包括嵌入式操作系統與應用軟件兩大部分。
3.1 嵌入式操作系統
嵌入式操作系統是支持嵌入式系統應用的操作系統軟件,是在系統實時性、硬件相關性、軟件固態化等方面有著突出特點的專用操作系統。本系統采用嵌入式LINUX操作系統,它是在根據系統需要對LINUX操作系統進行小型化裁剪與實時化的基礎上實現的。使用LINUX的優勢在于:其操作系統的源代碼是開放的,可根據需要進行定制;系統內核小,因而對硬件的要求相對要低;支持多任務多進程,能提供較好的實時性。
3.2 應用軟件
服務器的應用軟件結構如圖3所示。其主要由WEB服務器、CGI程序、嵌入式數據庫mSQL、視頻調度與傳輸模塊、存儲管理與調度模塊、攝像機控制模塊等幾個重要部分組成。
3.2.1 WEB服務器與CGI程序
WEB服務器通過HTTP協議與監控端瀏覽器軟件進行信息交互,提供其他應用程序模塊的接口以及視頻數據瀏覽界面和攝像機控制界面。此外,它還要對監控端的訪問權限進行控制,過濾監控端的請求和控制信息,處理多個監控端的請求和控制的同步和優先級問題。本系統選擇適合于嵌入式系統的BoaWEB服務器。Boa是一個單任務的HTTP服務器,支持能夠實現動態WEB技術的CGI技術,源代碼開放、性能高。同時服務器程序本身所占空間很小,因而十分適用于嵌入式系統。同時,本系統采用了CGI(公用網關接口)來實現動態WEB技術,CGI規定了WEB服務器調用其他可執行程序(CGI程序)的接口協議標準。WEB服務器通過調用CGI程序實現和瀏覽器的交互,也就是CGI程序接受瀏覽器發送給WEB服務器的信息,進行處理,將響應結果再回送給WEB服務器及瀏覽器。原則CGI程序可以用任何程序設計語言編寫,但是用C語言編寫的CGI程序具有執行速度快、安全性高等特點。
3.2.2 嵌入式數據庫mSQL
在本系統中,用戶信息的存儲,用戶的登錄登出,視頻設備參數的存儲與查詢,視頻文件的存儲與查詢等,都需要一個嵌入式數據庫。綜合考慮,本系統使用mSQL(MiniSQL)作為本系統的后臺數據庫。mSQL是一款優秀的嵌入式數據庫,體系結構小巧,占用系統資源少,特別適合在嵌入式Linux系統中使用。同時,mSQL提供專門的API函數,使得用C語言編寫的CGI程序可以與mSQL的數據庫引擎進行通信。
3.2.3 視頻調度與傳輸模塊
視頻調度與傳輸模塊為監控端提供所需的實時視頻信息,是服務器應用軟件中最重要的模塊。該模塊根據所采取的網絡傳輸與控制協議與監控端建立連接,監聽監控端的請求;同時又根據不同的服務類型采取相應的調度策略創建視頻流,然后將視頻數據分組、打包,發送到監控端,并根據路由器和監控端反饋的網絡狀態信息進行差錯處理和擁塞控制。
視頻數據的傳輸一般采UDP網絡通訊協議,而采用UDP的IP傳送方式有點播、廣播和組播三種,其中組播是服務器只向特定的用戶組發送一個數據包,組中的各用戶可以共享這一數據包,而組外的用戶卻無法接收到。本系統采用IP組播方式,采用組播技術的優點有以下幾點:可以讓服務器承擔大量客戶端的視頻數據播送要求;由于數據包拷貝數量和發送目的地址少,大大減少了網絡中傳輸的數據總量,從而保證較高的服務質量;減小了視頻數據流傳輸的帶寬占用,減輕了服務器的負擔。
本系統采用的網絡傳輸協議使用RTP/UDP/IP模型。RTP協議是一種提供端對端的實時媒體傳輸服務的協議,由實時傳輸協議RTP和實時傳輸控制協議RTCP兩個部分組成。RTP用于實時視頻數據的傳輸,而RTCP則用來監控實時視頻數據的傳輸。RTP/UDP/IP的方式兼顧了視頻傳輸的實時性與QoS保證。同時針對傳輸網絡狀況的不確定性,還可以采取一定的擁塞控制和差錯控制策略。
3.2.4 存儲管理與調度模塊
存儲管理模塊的主要功能是將壓縮和編碼后的視頻信息根據一定的策略存儲至磁盤中特定的區域,并將視頻文件信息存儲到嵌入式數據庫中,以供檢索與回放,同時響應視頻調度與傳輸模塊的請求,按照一定的磁盤調度策略和優先級順序從磁盤中讀取視頻數據至內存緩沖區。對于存儲管理,本系統采用等長分組存儲策略,即將視頻信息按照時序關系分割成若干數據單元,這些數據單元稱為分組,將每個分組存儲于一個大小固定的存儲單元內。
3.2.5 攝像機控制模塊
攝像機控制模塊主要實現對攝像機的控制。在監控端,用戶通過瀏覽器向WEB服務器發送攝像機控制命令,該控制命令經WEB服務器接受和處理后,再通過CGI程序發送給攝像機控制模塊,然后被轉換成相應的對攝像機控制的硬件操作指令,從而實現對攝像機云臺鏡頭的遠程控制。
4 監控端瀏覽
本系統在監控端使用瀏覽器對監控現場進行監控,瀏覽器所運行的平臺與嵌入式WEB服務器所運行的平臺獨立,瀏覽遠程視頻時不需要任何第三方軟件,從而實現了跨平臺。使用本系統在監控端瀏覽視頻的界面如圖4所示。
5 結束語
本文介紹了一個基于嵌入式WEB技術的網絡視頻監控系統的設計與實現,與傳統的網絡視頻監控系統相比,本系統的主要特點在于:服務器的設計基于嵌入式WEB技術;支持動態IP,可以直接連入以太網,能夠即插即看;用戶無需使用專用軟件,僅用瀏覽器即可觀看;同時系統采用先進了的MPEG-4編碼標準,在提高了視頻質量的同時大大減少了數據量。相信隨著網絡視頻監控的流行,基于嵌入式WEB的網絡視頻監控系統必將有良好的發展前景。
責任編輯:gt
-
視頻監控
+關注
關注
17文章
1711瀏覽量
64987 -
服務器
+關注
關注
12文章
9160瀏覽量
85426 -
監控系統
+關注
關注
21文章
3914瀏覽量
174736
發布評論請先 登錄
相關推薦
評論