基于嵌入式WEB的網(wǎng)絡視頻監(jiān)控系統(tǒng)探討
摘要:本文介紹了一個基于嵌入式WEB技術(shù)的網(wǎng)絡視頻監(jiān)控系統(tǒng)的設計與實現(xiàn),重點闡述其嵌入式服務器軟硬件部分的設計思想和體系架構(gòu),并對其中涉及的若干關鍵技術(shù)進行了較為詳細的介紹。
1基于嵌入式WEB技術(shù)的網(wǎng)絡視頻監(jiān)控系統(tǒng)概述
目前,以網(wǎng)絡為基礎的數(shù)字視頻監(jiān)控系統(tǒng)是視頻監(jiān)控系統(tǒng)發(fā)展的主流,而隨著微處理器技術(shù)、計算機網(wǎng)絡技術(shù)的進步,基于嵌入式WEB的網(wǎng)絡視頻監(jiān)控系統(tǒng)逐漸得到了人們的廣泛關注,其主要原理是:嵌入式視頻服務器采用嵌入式實時操作系統(tǒng),內(nèi)置嵌入式WEB服務器,攝像機傳送過來的視頻信號經(jīng)高效壓縮芯片壓縮后,通過內(nèi)部總線傳送到內(nèi)置的WEB服務器。用戶在監(jiān)控端可以直接通過瀏覽器觀看WEB服務器上的攝像機視頻圖像,授權(quán)用戶還可以控制攝像機云臺鏡頭的動作。本文所述的監(jiān)控系統(tǒng)的原理圖如圖1所示。
本系統(tǒng)由攝像機、嵌入式WEB服務器、傳輸網(wǎng)絡和監(jiān)控端組成。攝像機用來采集監(jiān)控現(xiàn)場的視頻。嵌入式WEB服務器是整個監(jiān)控系統(tǒng)的核心,有硬件和軟件兩個部分,詳細結(jié)構(gòu)將在下面分別介紹。其主要功能包括:為監(jiān)控端提供WEB訪問頁面;對監(jiān)控端的訪問進行有效性、安全性檢查;響應監(jiān)控端的請求,為監(jiān)控端提供所需要的視頻圖像;接收監(jiān)控端的控制信息,經(jīng)過軟硬件轉(zhuǎn)換后對攝像機進行控制。每個服務器有自己的IP地址,在監(jiān)控端可以通過瀏覽器界面訪問服務器。監(jiān)控端的功能則是顯示現(xiàn)場視頻,并根據(jù)需要向服務器發(fā)送視頻請求以及對攝像機的控制信號。
2嵌入式WEB服務器的硬件結(jié)構(gòu)
嵌入式WEB服務器的硬件結(jié)構(gòu)如圖2所示。其主要由CPU芯片、MPEG-4音視頻編碼芯片、Flash芯片、SDRAM內(nèi)存、以太網(wǎng)絡接口、大容量硬盤組成。其中CPU采用MOTOROLA公司的PowerPC系列嵌入式通信處理器MPC8250。MPEG-4音視頻編碼芯片完成對從攝像頭傳送過來的視頻數(shù)據(jù)的壓縮和編碼。根據(jù)網(wǎng)絡帶寬、拓撲結(jié)構(gòu)以及對圖像質(zhì)量的要求,本系統(tǒng)選用基于MPEG-4標準的分層可擴展性編碼方案。壓縮后的視頻數(shù)據(jù)根據(jù)需要,可以存儲在大容量硬盤中,或者通過以太網(wǎng)進行網(wǎng)絡傳輸。為了實現(xiàn)視頻存儲功能,需要采用大容量的硬盤。
3嵌入式WEB服務器的軟件系統(tǒng)
嵌入式WEB服務器的軟件設計與實現(xiàn)是本系統(tǒng)實現(xiàn)的關鍵之一,包括嵌入式操作系統(tǒng)與應用軟件兩大部分。
3.1嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)是支持嵌入式系統(tǒng)應用的操作系統(tǒng)軟件,是在系統(tǒng)實時性、硬件相關性、軟件固態(tài)化等方面有著突出特點的專用操作系統(tǒng)。本系統(tǒng)采用嵌入式LINUX操作系統(tǒng),它是在根據(jù)系統(tǒng)需要對LINUX操作系統(tǒng)進行小型化裁剪與實時化的基礎上實現(xiàn)的。使用LINUX的優(yōu)勢在于:其操作系統(tǒng)的源代碼是開放的,可根據(jù)需要進行定制;系統(tǒng)內(nèi)核小,因而對硬件的要求相對要低;支持多任務多進程,能提供較好的實時性。
3.2應用軟件
服務器的應用軟件結(jié)構(gòu)如圖3所示。其主要由WEB服務器、CGI程序、嵌入式數(shù)據(jù)庫mSQL、視頻調(diào)度與傳輸模塊、存儲管理與調(diào)度模塊、攝像機控制模塊等幾個重要部分組成。
3.2.1WEB服務器與CGI程序
WEB服務器通過HTTP協(xié)議與監(jiān)控端瀏覽器軟件進行信息交互,提供其他應用程序模塊的接口以及視頻數(shù)據(jù)瀏覽界面和攝像機控制界面。此外,它還要對監(jiān)控端的訪問權(quán)限進行控制,過濾監(jiān)控端的請求和控制信息,處理多個監(jiān)控端的請求和控制的同步和優(yōu)先級問題。本系統(tǒng)選擇適合于嵌入式系統(tǒng)的BoaWEB服務器。Boa是一個單任務的HTTP服務器,支持能夠?qū)崿F(xiàn)動態(tài)WEB技術(shù)的CGI技術(shù),源代碼開放、性能高。同時服務器程序本身所占空間很小,因而十分適用于嵌入式系統(tǒng)。同時,本系統(tǒng)采用了CGI(公用網(wǎng)關接口)來實現(xiàn)動態(tài)WEB技術(shù),CGI規(guī)定了WEB服務器調(diào)用其他可執(zhí)行程序(CGI程序)的接口協(xié)議標準。WEB服務器通過調(diào)用CGI程序?qū)崿F(xiàn)和瀏覽器的交互,也就是CGI程序接受瀏覽器發(fā)送給WEB服務器的信息,進行處理,將響應結(jié)果再回送給WEB服務器及瀏覽器。原則CGI程序可以用任何程序設計語言編寫,但是用C語言編寫的CGI程序具有執(zhí)行速度快、安全性高等特點。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論