【文章內(nèi)容簡(jiǎn)介】
該系統(tǒng)高性能的硬件基礎(chǔ)上,嵌入式視頻監(jiān)控系統(tǒng)軟件包括兩個(gè)大的層次:嵌入式Linux操作系統(tǒng)和嵌入式流媒體服務(wù)器軟件(不包括DSP固件MPEG4壓縮算法程序),如圖3所示.、存儲(chǔ)管理、消息隊(duì)列、中斷處理等現(xiàn)代操作系統(tǒng)特征。并且針對(duì)嵌入式系統(tǒng)進(jìn)行了優(yōu)化,具有體積小、固化容易、現(xiàn)場(chǎng)實(shí)時(shí)反應(yīng)能力強(qiáng)、可靠性好等特點(diǎn)。而且操作系統(tǒng)本身包含TCP/IP協(xié)議棧,,接著通過高速SPI驅(qū)動(dòng)程序獲得DSP壓縮好的MPEG4數(shù)據(jù),轉(zhuǎn)換其為適于流式傳輸?shù)臄?shù)據(jù)后通過基于IP多播技術(shù)的實(shí)時(shí)傳輸協(xié)議RTP(realtime transfer protocol)、實(shí)時(shí)傳輸控制協(xié)議RTCP(RTP control protocol)、會(huì)話描述協(xié)議SDP(session description protocol)[4]等一系列標(biāo)準(zhǔn)的IP實(shí)時(shí)多媒體數(shù)據(jù)傳輸協(xié)議傳送到網(wǎng)絡(luò)上. 嵌入式流媒體服務(wù)器軟件詳細(xì)設(shè)計(jì)嵌入式流媒體服務(wù)器整個(gè)軟件采用C++語言編寫,圖4是該軟件的靜態(tài)UML類圖設(shè)計(jì).如圖4所示,每一個(gè)節(jié)點(diǎn)其實(shí)就是一個(gè)線程,而每個(gè)線程都有一個(gè)消息隊(duì)列(CMsgQueue類),用來接受相應(yīng)的消息(CMsg類),CMediaSource類派生至CMediaNode類代表所有數(shù)據(jù)流源頭的節(jié)點(diǎn),CMediaSink類也派生至CMediaNode類代表所有數(shù)據(jù)流的接受節(jié)點(diǎn),代表視頻數(shù)據(jù)的入口點(diǎn),代表視頻數(shù)據(jù)的出口點(diǎn),它封裝了基于流媒體技術(shù)的網(wǎng)絡(luò)化嵌入式視頻監(jiān)控系統(tǒng)對(duì)網(wǎng)絡(luò)RTP/RTCP協(xié)議的操作,主要是可以通過HTTP協(xié)議傳送SDP文件給客戶端,:(1) 系統(tǒng)初始化過程程序入口main函數(shù)首先創(chuàng)建CMediaConfig類對(duì)象pConfig,比如視頻源類型、視頻壓縮編碼器類型、,同時(shí)創(chuàng)建CSdpFile類對(duì)象,并啟動(dòng)HTTP server服務(wù),提供SDP文件下載.(2) 視頻流處理發(fā)送過程. ,接著創(chuàng)建CMediaFrame類的對(duì)象pFrame,.(3) 中止該視頻流的過程.,刪除SDP文件,銷毀CSdpFile類對(duì)象,銷毀pConfig對(duì)象并結(jié)束程序. 客戶端視頻監(jiān)控軟件的設(shè)計(jì)由于服務(wù)器端采用標(biāo)準(zhǔn)的RTP協(xié)議,客戶端播放軟件只要遵循該協(xié)議,只需發(fā)送一份數(shù)據(jù)包就可以支持多客戶端同時(shí)監(jiān)控,客戶端只要安裝有與DSP的MPEG4壓縮算法相應(yīng)的解碼器,自己編寫客戶端播放軟件來進(jìn)行視頻監(jiān)控.2 系統(tǒng)實(shí)踐該系統(tǒng)已經(jīng)在實(shí)驗(yàn)室和一些現(xiàn)場(chǎng)進(jìn)行過系統(tǒng)實(shí)踐,如圖6和圖7的屏幕截圖所示.3 結(jié) 論根據(jù)當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和視頻數(shù)據(jù)壓縮技術(shù)的發(fā)展現(xiàn)狀,.參考文獻(xiàn):[1]GREIFFENHAGEN M,COMANICIU D,NIEMANNH,et ,analysis and engineering of vide