3G無線視頻監(jiān)控系統(tǒng)設(shè)計(jì)
引言
本文引用地址:http://m.butianyuan.cn/article/156079.htm本文針對網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的實(shí)際應(yīng)用需求,融合視頻壓縮、嵌入式系統(tǒng)無線通信等新技術(shù),設(shè)計(jì)實(shí)現(xiàn)了基于3G技術(shù)的H.264無線視頻監(jiān)控系統(tǒng)。由于H.264標(biāo)準(zhǔn)中碼率控制策略過于強(qiáng)調(diào)通用性而沒有考慮無線網(wǎng)絡(luò)的誤碼率高、抖動(dòng)性大以及嵌入式終端處理能力有限的因素,而本系統(tǒng)在實(shí)現(xiàn)了H.264標(biāo)準(zhǔn)中碼率控制策略的基礎(chǔ)上進(jìn)行了優(yōu)化,增強(qiáng)了系統(tǒng)的穩(wěn)定性。
1 視頻監(jiān)控系統(tǒng)總體結(jié)構(gòu)
視頻監(jiān)控系統(tǒng)由視頻拍攝節(jié)點(diǎn)、視頻采集控制模塊、網(wǎng)絡(luò)代理模塊和觀看終端組成。其中,拍攝節(jié)點(diǎn)為高精度攝像機(jī),負(fù)責(zé)采集原始視頻;視頻采集控制模塊由采集卡以及控制軟件組成,采集卡安裝在嵌入式主板上,把攝像機(jī)采集的原始視頻數(shù)據(jù)壓縮成H.264格式的碼流并回調(diào)給系統(tǒng)處理;控制軟件運(yùn)行在嵌入式Linux系統(tǒng)上,通過采集卡的驅(qū)動(dòng)程序獲取壓縮后的H.264格式的碼流,并控制與網(wǎng)絡(luò)代理模塊的連接以及數(shù)據(jù)和命令的傳輸及響應(yīng),如將壓縮后的碼流傳輸給網(wǎng)絡(luò)代理,對某個(gè)攝像機(jī)通過串口發(fā)控制命令;網(wǎng)絡(luò)代理模塊負(fù)責(zé)與視頻觀看終端進(jìn)行網(wǎng)絡(luò)連接的管理以及控制命令和視頻數(shù)據(jù)的傳輸;觀看終端為主流的基于Symbian操作系統(tǒng)的智能手機(jī)。
2 系統(tǒng)硬件構(gòu)成及主要模塊
手機(jī)視頻監(jiān)控系統(tǒng)的硬件環(huán)境由攝像機(jī)、采集卡、嵌入式主板以及智能手機(jī)組成。攝像機(jī)使用的是SONYFCB2EX480CP;嵌入式主板使用的是威盛EPIANR系列Nano2ITX嵌入式主板,型號為EPIANR10000EG;智能手機(jī)使用當(dāng)前主流的基于Symbian操作系統(tǒng)的手機(jī)諾基亞N95。系統(tǒng)框圖如圖1所示,拍攝節(jié)點(diǎn)為可控制攝像頭。下面主要介紹視頻采集控制模塊和網(wǎng)絡(luò)代理模塊的功能及構(gòu)成。
2.1 視頻采集控制
視頻采集控制模塊主要負(fù)責(zé)視頻的采集、壓縮和控制命令的響應(yīng),采集視頻時(shí)主要負(fù)責(zé)采集卡的啟動(dòng)、初始化和各種控制操作,同時(shí)也負(fù)責(zé)攝像頭相關(guān)的一些控制操作。具體的軟件構(gòu)架如圖2所示。其中:NCCMain模塊負(fù)責(zé)管理各個(gè)子模塊,打開Socket監(jiān)聽7020端口,當(dāng)有從網(wǎng)絡(luò)代理模塊的連接請求時(shí),則響應(yīng)并接收數(shù)據(jù);數(shù)據(jù)處理模塊負(fù)責(zé)處理各種命令(如視頻的開啟和焦距調(diào)整命令),并對這些命令發(fā)送確認(rèn)消息進(jìn)行響應(yīng);RS2232串口線控制模塊通過RS2232串口線控制攝像機(jī)的拍攝焦距,以響應(yīng)焦距調(diào)整命令;板卡采集管理模塊主要負(fù)責(zé)板卡的初始化、采集信道的開啟、H.264各種參數(shù)(I、P幀的間距、量化參數(shù)、編碼格式(CIF、QCIF)等)的設(shè)置、回調(diào)函數(shù)的設(shè)置,與代理進(jìn)行連接從而向代理發(fā)送視頻流等操作。該模塊基于采集卡開發(fā)包,通過接口調(diào)用廠商提供的驅(qū)動(dòng)程序來實(shí)現(xiàn)各種功能。
該模塊的工作流程如下:
a)調(diào)用廠商提供的驅(qū)動(dòng)程序設(shè)置視頻采集的初始參數(shù);
b)啟動(dòng)網(wǎng)絡(luò)管理程序,打開套接字監(jiān)聽7020端口,當(dāng)收到連接請求便響應(yīng)連接請求并接收命令,收到命令后調(diào)用命令處理模塊,根據(jù)不同命令進(jìn)行不同處理;
c)當(dāng)收到啟動(dòng)視頻命令,向代理發(fā)連接請求,請求響應(yīng)后連接建立,通過該連接向代理發(fā)送視頻數(shù)據(jù),并將連接描述符保存到轉(zhuǎn)發(fā)表中;
d)當(dāng)收到視頻關(guān)閉命令,關(guān)閉與代理的視頻傳輸連接,將轉(zhuǎn)發(fā)表對應(yīng)的表項(xiàng)清空;
e)當(dāng)收到焦距調(diào)整命令后,調(diào)用RS2232串口控制模塊設(shè)置攝像頭的拍攝焦距,然后與網(wǎng)絡(luò)代理監(jiān)聽的7005端口建立連接,將當(dāng)前的焦距級數(shù)信息報(bào)告給網(wǎng)絡(luò)代理。
2.2 網(wǎng)絡(luò)代理
網(wǎng)絡(luò)代理模塊主要負(fù)責(zé)響應(yīng)手持設(shè)備的連接請求和控制命令,并向其發(fā)送視頻數(shù)據(jù),它又包含以下子模塊:
a)連接請求監(jiān)聽模塊。該模塊作為一個(gè)單獨(dú)的線程,監(jiān)聽9000端口,如收到手持設(shè)備的代理信息請求命令則回送一個(gè)確認(rèn)消息。
b)控制命令處理模塊。它負(fù)責(zé)處理手持設(shè)備發(fā)來的各種命令,并向視頻采集控制模塊發(fā)送對應(yīng)的處理命令;接收視頻采集控制模塊的命令響應(yīng),并對手持設(shè)備的命令作相應(yīng)的響應(yīng)。
c)視頻數(shù)據(jù)收發(fā)模塊。當(dāng)接收到來自視頻采集控制模塊的H.264視頻碼流便將此視頻數(shù)據(jù)流轉(zhuǎn)發(fā)給發(fā)出點(diǎn)播命令的手持設(shè)備。網(wǎng)絡(luò)代理模塊的結(jié)構(gòu)關(guān)系如圖3所示。
2.3 視頻監(jiān)控系統(tǒng)通信流程
無線視頻監(jiān)控系統(tǒng)的總體流程如下:
a)手持設(shè)備接入網(wǎng)絡(luò)。手持設(shè)備通過3G無線網(wǎng)絡(luò)跨過移動(dòng)網(wǎng)關(guān)接入有線網(wǎng),與視頻服務(wù)網(wǎng)絡(luò)代理交互,注冊自己的信息,并從代理節(jié)點(diǎn)得到網(wǎng)絡(luò)中采集設(shè)備的信息。
b)進(jìn)行視頻瀏覽操作。手持設(shè)備接入網(wǎng)絡(luò)后,可根據(jù)需要進(jìn)行視頻瀏覽,用戶選定要進(jìn)行瀏覽的節(jié)點(diǎn)和攝像頭,向其發(fā)送控制命令,開啟攝像頭進(jìn)行采集,得到的視頻數(shù)據(jù)通過視頻服務(wù)網(wǎng)絡(luò)代理經(jīng)3G網(wǎng)絡(luò)傳輸給手持設(shè)備,在手持設(shè)備上進(jìn)行觀看。
c)進(jìn)行視頻控制操作。手持設(shè)備獲得拍攝節(jié)點(diǎn)視頻后,可根據(jù)需要對拍攝節(jié)點(diǎn)進(jìn)行控制以獲取更感興趣的視頻區(qū)域,如用戶對拍攝節(jié)點(diǎn)更遠(yuǎn)處的場景感興趣,可發(fā)送放大指令,讓采集視頻的攝像機(jī)向遠(yuǎn)處變焦;用戶也可以根據(jù)自己的需要發(fā)送攝像機(jī)或節(jié)點(diǎn)切換指令給代理,代理進(jìn)行響應(yīng)并按用戶需求啟動(dòng)相應(yīng)的攝像機(jī)。
3 碼率控制優(yōu)化算法
在H.264標(biāo)準(zhǔn)中,碼率控制是根據(jù)當(dāng)前的帶寬和緩沖區(qū)使用情況來動(dòng)態(tài)地調(diào)節(jié)量化參數(shù)等系數(shù)實(shí)現(xiàn)的。考慮到移動(dòng)終端的處理能力差異大以及無線網(wǎng)絡(luò)誤碼率高抖動(dòng)大等因素,本系統(tǒng)在實(shí)現(xiàn)了H.264標(biāo)準(zhǔn)中碼率控制策略的基礎(chǔ)上進(jìn)行了優(yōu)化,即在碼率控制過程中,不僅考慮到帶寬和緩沖區(qū)的使用度,還結(jié)合終端的視頻處理能力以及無線網(wǎng)絡(luò)的狀況,動(dòng)態(tài)地調(diào)節(jié)編碼器的參數(shù),此外,增加了跳幀策略,并結(jié)合本系統(tǒng)優(yōu)化了跳幀策略,從而達(dá)到更好的碼率控制效果。
評論