彭玲
摘 要:將傳統(tǒng)的視頻監(jiān)控系統(tǒng)與嵌入式系統(tǒng)技術(shù)相結(jié)合,具有優(yōu)良的實(shí)時(shí)監(jiān)控性、穩(wěn)定性等優(yōu)勢。因此,該系統(tǒng)選擇ARM11作為核心處理器,通過從USB攝像頭采集視頻數(shù)據(jù),然后經(jīng)ARM11開發(fā)板對數(shù)據(jù)進(jìn)行編碼發(fā)送至PC,PC機(jī)將接收到的數(shù)據(jù)解碼還原成視頻數(shù)據(jù),最后將視頻播放顯示出來。該設(shè)計(jì)可實(shí)現(xiàn)對重要場所進(jìn)行實(shí)時(shí)監(jiān)控,維護(hù)人們的生命財(cái)產(chǎn)的安全,在安防里具有重要作用。
關(guān)鍵詞:視頻監(jiān)控系統(tǒng) S3C6410 V4L2 H264
中圖分類號:TN948.57 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1672-3791(2017)04(a)-0010-02
視頻監(jiān)控是安全防范中的重要組成部分之一,在各行各業(yè)中都有非常廣泛的應(yīng)用,隨著嵌入式系統(tǒng)技術(shù)在近年來的發(fā)展,市場上逐漸出現(xiàn)嵌入式技術(shù)與視頻監(jiān)控技術(shù)相結(jié)合的全新的視頻監(jiān)控系統(tǒng),它具有優(yōu)良的實(shí)時(shí)監(jiān)控性[1],系統(tǒng)運(yùn)行時(shí)強(qiáng)大的穩(wěn)定性、價(jià)格等方面的優(yōu)勢,展現(xiàn)在人們眼前。
1 總體設(shè)計(jì)
該設(shè)計(jì)選用以ARM11微處理器體系為核心的Tiny6410開發(fā)板,基于Linux操作系統(tǒng)開發(fā)的一套基于V4L2的視頻采集和H.264的編碼,設(shè)計(jì)并實(shí)現(xiàn)嵌入式視頻監(jiān)控系統(tǒng)。Tiny6410開發(fā)板通過USB采集視頻數(shù)據(jù),它對數(shù)據(jù)進(jìn)行處理后,再通過以太網(wǎng)傳輸?shù)絇C機(jī)顯示視頻。系統(tǒng)框架如圖1所示。
2 硬件設(shè)計(jì)
2.1 ARM11模塊
該設(shè)計(jì)選用以ARM11微處理器體系為核心的Tiny6410開發(fā)板,具有強(qiáng)大的多媒體處理單元集成,支持眾多外設(shè)接口[2],該設(shè)計(jì)就是在此設(shè)備上開發(fā)的,它是實(shí)現(xiàn)編碼和傳輸所需的軟件載體。
2.2 USB攝像頭
USB攝像頭選用RER-USB100W03M型號,配有NT99141光照傳感器,是720P的高清USB攝像頭,該設(shè)計(jì)就是從此設(shè)備上采集視頻數(shù)據(jù)的。
3 軟件設(shè)計(jì)
3.1 系統(tǒng)軟件的開發(fā)流程
為了實(shí)現(xiàn)嵌入式視頻監(jiān)控系統(tǒng),需要先將硬件平臺(tái)搭建好,然后開發(fā)服務(wù)器端,實(shí)現(xiàn)對視頻的采集與編碼,服務(wù)器端開發(fā)完成之后,再進(jìn)行客戶端的開發(fā),實(shí)現(xiàn)PC機(jī)播放采集的視頻,具體流程如圖2所示。
3.2 服務(wù)器端與客戶端的軟件設(shè)計(jì)
該系統(tǒng)的服務(wù)器端對圖像采集和壓縮,傳輸壓縮數(shù)據(jù)。客戶端實(shí)現(xiàn)數(shù)據(jù)的接收與解碼,然后播放視頻。該系統(tǒng)設(shè)計(jì)采用的是以Linux作為開發(fā)平臺(tái),在編程語言上使用可移植性的C語言,開發(fā)工具是Linux上的GCC工具鏈。
服務(wù)器端設(shè)計(jì):實(shí)現(xiàn)視頻圖像的采集,根據(jù)YUV的采樣格式,將YUV422轉(zhuǎn)換采樣格式[3],再進(jìn)行H.264壓縮,通過UDP傳輸視頻流。按其功能劃分為視頻采集模塊、YUV轉(zhuǎn)換模塊、視頻壓縮模塊和UDP傳輸模塊。視頻采集模塊通過Linux提供的視頻采集接口V4L2采集攝像頭中的YUV422的視頻數(shù)據(jù)。YUV轉(zhuǎn)換模塊將取出的采集數(shù)據(jù)YUV422轉(zhuǎn)換成YUV420。視頻壓縮模塊對轉(zhuǎn)換的YUV420通過T264編碼成H.264視頻流。UDP傳輸模塊通過UDP將H.264視頻流傳輸?shù)絇C機(jī)里。
客戶端的設(shè)計(jì):實(shí)現(xiàn)視頻流的接收與視頻的播放,通過UDP接收視頻數(shù)據(jù),再將數(shù)據(jù)進(jìn)行H.264解碼[4],最后實(shí)現(xiàn)視頻的播放。按其功能劃分為UDP接收模塊、視頻H.264解碼模塊、視頻SDL播放模塊。UDP接收模塊接收視頻流。視頻H.264解碼模塊通過FFMPEG將視頻流解碼。視頻SDL播放模塊采用開源的第三方多媒體庫SDL,對視頻進(jìn)行播放。
4 測試
4.1 Window上超級終端的操作
硬件平臺(tái)搭建好后,在超級終端里通過ifconfig命令配置ARM11開發(fā)板里的IP地址,然后使用ping命令查看網(wǎng)絡(luò)是否連通,如果網(wǎng)絡(luò)連通,就可以通過輸入命令./video_server來執(zhí)行服務(wù)器端程序。
4.2 Linux終端上的操作
在Linux終端上也通過ifconfig命令配置Linux終端的IP地址,然后使用ping命令查看網(wǎng)絡(luò)是否連通,如果網(wǎng)絡(luò)連通,就可以通過輸入命令./client 192.168.4.3 111來連接服務(wù)器端。
將客戶端連接到服務(wù)器端,在Linux終端上便會(huì)顯示出視頻監(jiān)控畫面,如圖3所示。
5 結(jié)語
該系統(tǒng)基本上完成了預(yù)期計(jì)劃的要求,完全可以其應(yīng)用到社會(huì)生活中。但還是存在一些不足,視頻不是十分高清。市場上基本上市在1080P高清以上的監(jiān)控視頻。所以,在設(shè)計(jì)的擴(kuò)展上,需要更換USB攝像頭成高清的。其次,在客戶端的UI只是純粹顯示給視頻,沒有美化客戶端的UI,讓用戶更為滿意。
參考文獻(xiàn)
[1] 和亮.嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2009.
[2] 劉洋.基于嵌入式Linux的家用智能監(jiān)控報(bào)警系統(tǒng)[J].電腦知識(shí)與技術(shù),2015(13):175-176.
[3] 陳全兵.基于FPGA的高清實(shí)時(shí)全景視頻拼接的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2015.
[4] 張威.基于IPTV的視頻通話系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2012.