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