基于IPV6的嵌入式視頻監(jiān)控系統(tǒng)
3.2服務(wù)器端視頻發(fā)送和客戶端視頻接收
在基于DirectShow的視頻發(fā)送端中,其過濾器圖分別由 Video Capture Filter,Video Codec和 RTP Video Renderer Filter按順序連接成一條“流水線”協(xié)同工作,他們分別完成源過濾器、轉(zhuǎn)換過濾器和呈現(xiàn)過濾器的工作。 Video Capture Filter負(fù)責(zé)視頻數(shù)據(jù)采集, Video Codec負(fù)責(zé)視頻數(shù)據(jù)的壓縮,最后由 RTP Video RendererFilter將壓縮的視頻數(shù)據(jù)封裝 RTP包發(fā)送到網(wǎng)絡(luò)上。過濾器之間的數(shù)據(jù)發(fā)送采用推模式。
視頻發(fā)送實現(xiàn)過程如下:
1)初始化 coM組件,初始化 DirectShow,包括建立 GraphManager接口、建立 GraphBuilder接口(它的 CLSID為 CLSID_ FilterGraph)、建立 BasicFilter接口,并將 VWSource Filter (VW210), Sputter Filter(音視頻分離過濾器)、Codec Fil-ter(TopStepdVideo)和 RTPVren}lter (RTP傳輸呈現(xiàn)過濾器)加到 GraphBuilder。
2)通過系統(tǒng)設(shè)各列舉接口找到系統(tǒng)中默認(rèn)的視頻捕獲設(shè)備,并添加到 GraphBuilder中,查詢 GraphBuilder獲得媒體事件接口和媒體控制接口,連接各個過濾器,設(shè)置 RTP Vrenflter參數(shù)。
3)通過 GraphManager的控制接口,運行過濾器圖,捕獲并發(fā)送圖象。
4)等待運行結(jié)束消息,釋放各個接口,關(guān)閉 COM組件。視頻發(fā)送實現(xiàn)過程中圖像傳輸?shù)膶崿F(xiàn)最為關(guān)健,當(dāng)視頻發(fā)送端響應(yīng)網(wǎng)絡(luò)客戶端發(fā)出的視頻數(shù)據(jù)請求后,馬上啟動視頻數(shù)據(jù)發(fā)送線程,開始采集 MPEG視頻數(shù)據(jù)并源源不斷地寫入到發(fā)送緩沖區(qū)中。它的實現(xiàn)原理是:位于源過濾器 VWSource Filter(VW210卡)將從攝像頭獲取的模擬視頻圖像首先進(jìn)行A/D轉(zhuǎn)換,然后將采集到的視頻數(shù)據(jù)交給下游的 MPEG Stream Spatter filter,由它對獲得的數(shù)據(jù)進(jìn)行解析后轉(zhuǎn)交給其下游的變換過濾器 Video Coder filter進(jìn)行 MPEG編碼,然后將編碼后的 MPEG視頻數(shù)據(jù)寫入發(fā)送緩沖區(qū),這部分都由 VW210卡完成。如果選擇本地存盤則過濾器圖連接到此結(jié)束,將視頻數(shù)據(jù)直接寫入磁盤。視頻接收端程序流程如下圖 7所示:
4結(jié)論
本文創(chuàng)新點:本視頻監(jiān)控系統(tǒng)是基于 ARM嵌入式核心處理器的硬件平臺,其中嵌入式系統(tǒng)中移植 TCP/IPv6協(xié)議,在原有 MPEG4視頻編碼基礎(chǔ)上采用了新的運動估計優(yōu)先估計矢量分布概率算法進(jìn)行優(yōu)化,同時對視頻傳輸算法也作了相應(yīng)的改進(jìn)。系統(tǒng)結(jié)合了流媒體技術(shù),IPv6技術(shù),嵌入式技術(shù)等優(yōu)點,實驗證明該系統(tǒng)視頻監(jiān)控方而取得了良好效果。
評論