何義
摘要:隨著互聯(lián)網(wǎng)的快速發(fā)展,嵌入式網(wǎng)絡(luò)視頻監(jiān)控是目前很受關(guān)注的熱點,而且在各個領(lǐng)域都涉及它的應(yīng)用,因此對基于嵌入式視頻監(jiān)控系統(tǒng)的研究具有一定的意義。因此在視頻監(jiān)控方向,該文提出了一種系統(tǒng)設(shè)計方案。該系統(tǒng)以Linux作為操作系統(tǒng),以S3C2410作為開發(fā)平臺,由USB攝像頭實時的采集視頻圖像數(shù)據(jù),經(jīng)壓縮編碼后通過TCP網(wǎng)絡(luò)傳輸?shù)揭曨l服務(wù)器客戶端,實現(xiàn)基本的監(jiān)控功能。
關(guān)鍵詞:視頻監(jiān)控;嵌入式;攝像頭;視頻壓縮;視頻采集
中圖分類號:TP37 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)26-0201-02
The Design And Implement Of Video Monitoring System Based On Embedded Linux
HE Yi
(School of Information Engineering,Guangdong University of Technology,Guangzhou 510006,China)
Abstract: With the rapid development of Internet, embedded network video monitoring is hotspot that attracting extensive attention in the present, and have involved in all fields, so the research for the video monitoring system has a certain significance. So in the direction of video monitoring, this paper proposes a system design scheme, The system using the Linux as operating system, S3C2410 as development platform and Collecting video image data by USB camera, after compression coding, the video image data is transmitted to the video server and client through the network, achieve the basic monitoring function.
Key words: video monitoring; embedded; camera; video compression; video capture
1 概述
在當(dāng)前科技迅速發(fā)展的環(huán)境下,視頻監(jiān)控系統(tǒng)已經(jīng)在安防、交通監(jiān)控和家居生活等重要領(lǐng)域得到了廣泛的應(yīng)用。視頻監(jiān)控系統(tǒng)經(jīng)過了三個發(fā)展階段,第一是基于模擬攝像機的模擬視頻監(jiān)控系統(tǒng)階段,第二是基于PC 端的數(shù)字視頻監(jiān)控階段,第三是基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)階段[1-2]。傳統(tǒng)的模擬視頻監(jiān)控系統(tǒng)存在傳輸距離和系統(tǒng)數(shù)據(jù)量有限、圖像質(zhì)量低和不易擴展等不足,數(shù)字監(jiān)控系統(tǒng)雖慢慢取代了模擬視頻監(jiān)控系統(tǒng),但其本身也存在視頻前端采集復(fù)雜、系統(tǒng)穩(wěn)定可靠性差等局限。網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)在各類技術(shù)的不斷發(fā)展的基礎(chǔ)上也在不斷發(fā)展中。在網(wǎng)絡(luò)技術(shù)快速發(fā)展的趨勢下,通過網(wǎng)絡(luò)傳輸視頻圖像[3-5],是目前實現(xiàn)視頻監(jiān)控最好的方法。本文設(shè)計并實現(xiàn)一套以S3C2410為開發(fā)平臺,以Linux為操作系統(tǒng)的基于嵌入式視頻監(jiān)控系統(tǒng),客戶端只要和監(jiān)控終端在同一局域網(wǎng)內(nèi)均可實時監(jiān)控。
2 系統(tǒng)整體設(shè)計方案
該嵌入式視頻監(jiān)控系統(tǒng)以Linux系統(tǒng)和S3C2410開發(fā)板作為系統(tǒng)核心平臺,由在前端的USB攝像頭實時采集視頻數(shù)據(jù),經(jīng)壓縮編碼后通過TCP網(wǎng)絡(luò)傳輸?shù)胶笈_服務(wù)器,客戶端可實現(xiàn)實時監(jiān)控。此系統(tǒng)主要由視頻服務(wù)器端和客戶端組成;服務(wù)器端包括視頻圖像采集模塊和TCP網(wǎng)絡(luò)傳輸模塊,它們的職責(zé)就是將視頻數(shù)據(jù)進行壓縮、編碼后通過TCP網(wǎng)絡(luò)傳輸?shù)竭h程終端設(shè)備上??蛻舳酥饕獙崿F(xiàn)遠程終端設(shè)備的視頻顯示。
3 系統(tǒng)硬件設(shè)計
在該系統(tǒng)中,硬件結(jié)構(gòu)包括視頻圖像采集模塊、視頻服務(wù)器模塊和TCP網(wǎng)絡(luò)傳輸模塊。視頻圖像采集模塊主要完成視頻數(shù)據(jù)的實時采集,ARM開發(fā)板通過攝像頭采集獲取視頻圖像數(shù)據(jù),然后進行壓縮存儲和處理,然后通過網(wǎng)絡(luò)傳輸模塊將視頻數(shù)據(jù)傳輸?shù)竭h程移動終端上顯示。
4 系統(tǒng)軟件設(shè)計
軟件部分的設(shè)計主要包括:嵌入式Linux系統(tǒng)的裁剪和移植、視頻圖像的采集、視頻的網(wǎng)絡(luò)傳輸以及客戶端網(wǎng)絡(luò)連接程序。系統(tǒng)的裁剪和移植等技術(shù)本文不再作詳細的論述。以下主要介紹視頻圖像采集模塊和網(wǎng)絡(luò)傳輸模塊的設(shè)計。
進行視頻采集[6]必須加入video4Linux模塊,要從攝像頭設(shè)備中采集視頻圖像幀,必須依靠此模塊所提供的接口。video4Linux是攝像頭設(shè)備的相關(guān)內(nèi)核驅(qū)動,它為攝像頭提供了編程所需的最基本的接口函數(shù),比如ioctl()函數(shù)、打開函數(shù)、寫函數(shù)和讀函數(shù)等的實現(xiàn)。并把它們定義在file_operation中,當(dāng)應(yīng)用程序?qū)υO(shè)備文件進行打開讀寫等一系列系統(tǒng)調(diào)用的操作時,系統(tǒng)將通過此結(jié)構(gòu)去訪問內(nèi)核驅(qū)動程序[7-9]所提供的一些基本函數(shù)。video4Linux中的數(shù)據(jù)結(jié)構(gòu)為視頻采集提供了各種視頻圖像的相關(guān)數(shù)據(jù)信息,其中包括有:
video_window :包含獲取的視頻圖像區(qū)域的基本信息
video_capability:包含設(shè)備信息,比如設(shè)備的分辨率范圍、設(shè)備的名稱和信號的來源信息等
video_picture:包含了所獲取圖像屬性;
video_channel:各個信號源的屬性;
video_mmapf:用于內(nèi)存映射;
video_mbuf:包含映射的幀的屬性和信息,比如所支持的最多幀數(shù)、每一幀圖像的大小和每一幀圖像相對基址的偏移等屬性;
video_buffer:最底層對緩沖區(qū)的描述。圖3為整個的視頻圖像采集流程,視頻圖像的采集程序包括以下流程,一是初始化設(shè)備,二是打開設(shè)備,三是獲取視頻設(shè)備和視頻圖像信息,四是圖像參數(shù)設(shè)定,五是視頻圖像采集。
視頻數(shù)據(jù)網(wǎng)絡(luò)傳輸模塊本文采用B/S模式,以此模式來實現(xiàn)網(wǎng)絡(luò)視頻監(jiān)控。本文采Boa來搭建Web服務(wù)器[10]。Boa 有它自己的特點,首先它支持CGI;其次它是單任務(wù)的,它與傳統(tǒng)的web服務(wù)器不同,第一,對于每一個連接,它不會去重新啟動一個新的進程,第二,對于二個或者多個連接,它也不會去啟動多個對自身的復(fù)制;再次,對于所有在進行活動的連接,Boa只會在內(nèi)部對它進行相應(yīng)的處理,而且,對每一個CGI連接,它都會重新去開啟一個進程。Boa支持的CGI公共網(wǎng)關(guān)接口適用于各種不同的平臺,是用戶應(yīng)用程序與Web服務(wù)器最常用的通信接口。
5 系統(tǒng)仿真和測試
本文提出的構(gòu)架方案和實現(xiàn)方案已經(jīng)通過測試??蛻舳吮O(jiān)控界面如圖4所示。整個系統(tǒng)開發(fā)不僅簡潔,而且高效,同時成本比較低,穩(wěn)定性非常可靠,能夠被移動設(shè)備應(yīng)用,實現(xiàn)實時視頻監(jiān)控。
參考文獻:
[1] 顧永建,高守樂.基于嵌入式系統(tǒng)的網(wǎng)絡(luò)數(shù)字視頻監(jiān)控系統(tǒng)[J].計算機技術(shù)與應(yīng)用, 2005(1):40-42.
[2] 楊建全, 梁華, 王成友. 視頻監(jiān)控技術(shù)的發(fā)展與現(xiàn)狀[J]. 現(xiàn)代電子技術(shù), 2006(21).
[3] 李保國. 基于嵌入式 ARM 的遠程視頻監(jiān)控系統(tǒng)研究[D]. 南京: 南京理工大學(xué), 2009.
[4] 張建. 基于 S3C2410 和嵌入式 Internet 的家庭視頻監(jiān)控系統(tǒng)設(shè)計[D].上海:上海交通大碩士學(xué)位論文,2007,1.
[5] 趙春媛,李萌,韓會山.基于ARM9的無線視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計, 2012.
[6] 張蕾.基于嵌入式 Linux 的視頻采集系統(tǒng)的研究設(shè)計[D].西安: 西安電子科技大學(xué)碩士學(xué)位論文,2010.
[7] 朱小遠,謝龍漢.Linux 嵌入式系統(tǒng)開發(fā)[M].北京:電子工業(yè)出版社,2012.
[8] 韋東山. 嵌入式Linux應(yīng)用開發(fā)完全手冊[M] .北京: 人民郵電出版社, 2009.
[9] 宋寶華. Linux 設(shè)備驅(qū)動開發(fā)詳解 [M]. 2版.北京: 人民郵電出版社, 2010.
[10] 余小湊.基于 web 的嵌入式視頻監(jiān)控服務(wù)設(shè)計與實現(xiàn)[D].杭州:浙江大學(xué)碩士學(xué)位論文,2007.