王懷澤
文章編號(hào): 2095-2163(2018)03-0158-04中圖分類號(hào): 文獻(xiàn)標(biāo)志碼: A
摘要: 關(guān)鍵詞: (Baoqing Weather Bureau, Jixian county, Heilongjiang, 155900, China)
Abstract: The using of network monitoring in today's world is getting higher and higher, but the defense against home security is neglected by many people, Network video surveillance is necessary to monitor the security of the home. This project selected Raspberry Pi this design ,uses the open source Mjpg-Streamer, uses HTML language to edit web pages, and uses CSS to beautify web pages, develops scripts with JavaScript, and connects USB cameras to create video and still images that can be viewed in real time. System can save and view previous images.
Key words:
作者簡介:
收稿日期: 引言
隨著科技領(lǐng)域的快速發(fā)展,科技成果層出不窮,與此同時(shí),在網(wǎng)絡(luò)的飛速發(fā)展和迅速普及的情況下,兩者結(jié)合帶給人們越來越多的便利。同時(shí),網(wǎng)絡(luò)視頻監(jiān)控應(yīng)該到各個(gè)方面,人們利用監(jiān)控來管理交通秩序、商場經(jīng)營、工業(yè)生產(chǎn)以及進(jìn)行醫(yī)療觀察,公共場所的監(jiān)控覆蓋率越來越高,安全方面有了很大保證。然而一般家庭很少會(huì)安裝視頻監(jiān)控,這導(dǎo)致罪犯趁虛而入,案發(fā)后又很難追查,不僅家中財(cái)產(chǎn)損失,還讓罪犯逍遙法外。
本項(xiàng)目選用樹莓派作為平臺(tái),運(yùn)用HTML、CSS、JavaScript語言并基于Mjpg-Stremaer開源軟件開發(fā)出一個(gè)家用的、便捷的視頻監(jiān)控系統(tǒng)。
1國內(nèi)外研究現(xiàn)狀
近幾年,視頻監(jiān)控不僅在安防方面得到廣泛的應(yīng)用,還在向生產(chǎn)經(jīng)營方面擴(kuò)展。隨著“平安城市”的提出,對視頻監(jiān)控的發(fā)展起到了很大的促進(jìn)作用。網(wǎng)絡(luò)的普及促使視頻監(jiān)控中網(wǎng)絡(luò)視頻監(jiān)控逐漸占據(jù)市場上重要位置,除了顯示設(shè)備外,視頻監(jiān)控系統(tǒng)中的其他設(shè)備全部都網(wǎng)絡(luò)化[1-2]。這一要求使得嵌入式視頻監(jiān)控系統(tǒng)得到發(fā)展,其具有成本低、穩(wěn)定性好、集成度高等特點(diǎn)。雖然國外產(chǎn)品性能較好,但價(jià)格昂貴難以接受[1]。目前,國內(nèi)許多安防企業(yè)的競爭不單是軟件上的技術(shù)研發(fā)競爭,同時(shí)也需要好的芯片作為硬件基礎(chǔ)。在眾多芯片中,樹莓派是相對杰出的一個(gè),在方便軟件升級(jí)的前提下提供了足夠的硬件功能。
在基于樹莓派的研究中,李龍棋等人以樹莓派作為開源服務(wù)器的平臺(tái),把Python語言編寫的SimpleCV應(yīng)用在圖像壓縮方面。充分利用樹莓派處理速度快且能夠無線連接網(wǎng)絡(luò)的特點(diǎn),使用網(wǎng)絡(luò)攝像頭無線連接到路由器上,樹莓派與攝像頭連接到同一個(gè)路由器上進(jìn)行通訊,實(shí)現(xiàn)了視頻的實(shí)時(shí)監(jiān)控[3]。 高峰等人提出了基于樹莓派的簡易式食品檢測跟蹤系統(tǒng),實(shí)現(xiàn)了視頻檢測跟蹤系統(tǒng)的便攜式小型化,通過遠(yuǎn)程桌面連接工具和顯示器進(jìn)行視頻顯示[4]。視頻檢測的同時(shí),還能對運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,這一點(diǎn)將會(huì)在未來的視頻監(jiān)控中得到廣泛應(yīng)用。蔡燕敏等人的設(shè)計(jì)中樹莓派是核心,客戶端直接運(yùn)用新浪微博,模擬用戶登錄使用微博,調(diào)用新浪微博API,定時(shí)定點(diǎn)的將監(jiān)控圖像作為一條微博發(fā)布。進(jìn)行視頻監(jiān)控的同時(shí)還對CPU的溫度及網(wǎng)絡(luò)連接情況進(jìn)行監(jiān)控[5]。此方法在查看微博的同時(shí)還能對家中環(huán)境進(jìn)行監(jiān)控,做到了娛樂的同時(shí)還對家中安全進(jìn)行了防護(hù),符合現(xiàn)代人的生活習(xí)慣。但是在獲得監(jiān)控信息的過程中,監(jiān)控圖像直接作為微博發(fā)布并不利于隱私的保護(hù)。美國的電報(bào)電話公司AT&T;結(jié)合了杰爾系統(tǒng)的TrueONE可信任網(wǎng)絡(luò)解決方案建立了一個(gè)網(wǎng)絡(luò)平臺(tái),企業(yè)、家庭和手機(jī)用戶能夠隨時(shí)隨地在此平臺(tái)上獲取實(shí)時(shí)可靠的服務(wù),如視頻監(jiān)控、觀看高清的網(wǎng)絡(luò)電視、進(jìn)行實(shí)時(shí)的視頻會(huì)議等,將大量的本地?cái)?shù)據(jù)上傳到網(wǎng)絡(luò)平臺(tái)上[6]??▋?nèi)基梅隆大學(xué)與戴維SARNOFF研究中心合作,共同研發(fā)視頻監(jiān)視與監(jiān)控系統(tǒng)VSAM(Visual Surveillance and Monitoring),該系統(tǒng)實(shí)現(xiàn)了自動(dòng)視頻理解技術(shù)來解決非常危險(xiǎn)或人力無法實(shí)現(xiàn)等場合的監(jiān)控問題[7]。無線傳感網(wǎng)絡(luò)中的普適計(jì)算技術(shù)被KT和SK電訊兩大韓國通訊運(yùn)營商運(yùn)用在Nespot系統(tǒng)上,該系統(tǒng)可以使用戶不論身在何處,都能夠通過手機(jī)、PDA或電腦來獲取和控制遠(yuǎn)程監(jiān)控信息[6-9]。英國南安普敦大學(xué)的工程師將冷冰冰的開發(fā)板和玩具相結(jié)合搭建出了一臺(tái)擁有近1T存儲(chǔ)空間的超級(jí)計(jì)算機(jī),該超級(jí)計(jì)算機(jī)看起來更加可愛。
本文設(shè)計(jì)了一個(gè)基于嵌入式Linux的視頻監(jiān)控系統(tǒng),在樹莓派上下載相應(yīng)的Linux系統(tǒng),并在系統(tǒng)上研究視頻監(jiān)控這一應(yīng)用。
2系統(tǒng)總體功能分析
2.1功能模塊設(shè)計(jì)
本文設(shè)計(jì)了一個(gè)基于樹莓派的家庭視頻監(jiān)控系統(tǒng)。監(jiān)控系統(tǒng)應(yīng)具備實(shí)時(shí)監(jiān)控功能;同時(shí),監(jiān)控系統(tǒng)為了實(shí)現(xiàn)對歷史圖像進(jìn)行保存并進(jìn)行查看,還應(yīng)具備回看功能。在家庭視頻監(jiān)控系統(tǒng)中,最重要的就是對隱私安全的防護(hù),因此還需要有登錄功能。視頻監(jiān)控系統(tǒng)的主要模塊包括:登錄模塊、實(shí)時(shí)靜態(tài)截圖模塊、實(shí)時(shí)視頻播放模塊、回放圖像模塊。系統(tǒng)功能模塊如圖1所示。
(1)登陸模塊。用戶通過該模塊登陸視頻監(jiān)控系統(tǒng),以保證用戶的隱私安全。用戶的用例圖如圖2所示。
(2)靜態(tài)圖像模塊。用戶通過該模塊可即時(shí)對視頻圖像進(jìn)行截圖,通過此模塊可清晰明了地反應(yīng)某一時(shí)刻發(fā)生的事情。
(3)視頻功能模塊。用戶通過該模塊查看實(shí)時(shí)的視頻監(jiān)控動(dòng)態(tài),如果攝像頭倒置,系統(tǒng)具有對圖像進(jìn)行旋轉(zhuǎn)的功能。
(4)回放功能模塊。用戶通過該模塊回看視頻監(jiān)控記錄下來的圖像。
本文選用樹莓派3作為開發(fā)平臺(tái),由于樹莓派具有無線網(wǎng)卡和USB接口,能夠連接USB攝像頭和路由器無線連接并進(jìn)行通信,因此,客戶端也可通過無線的方式獲得信息。Mjpg-Streamer在視頻監(jiān)控時(shí)對CPU的占用率低、可移植性較好,且在傳輸時(shí)能夠通過TCP/IP協(xié)議將數(shù)據(jù)傳送到網(wǎng)絡(luò)中,適合于嵌入式系統(tǒng)的開發(fā)與研究,因此,本文使用Mjpg-Streamer對采集到的圖像進(jìn)行壓縮傳輸。同時(shí),本文運(yùn)用HTML開發(fā)頁面、CSS美化頁面、avaScript編輯復(fù)雜的運(yùn)算腳本來完成客戶端的設(shè)計(jì)與實(shí)現(xiàn)。
2.2系統(tǒng)整體架構(gòu)
本系統(tǒng)的結(jié)構(gòu)如圖3所示。用戶的交互界面采用網(wǎng)頁的形式將視頻圖像、應(yīng)用信息、回放圖像等向用戶進(jìn)行展示。
3系統(tǒng)實(shí)現(xiàn)
MJPEG-Streamer中主要工作的是plugins文件夾和www文件夾。plugins文件夾包含輸入輸出模塊組件的開發(fā)文件,www包含前端設(shè)備所顯示出的網(wǎng)頁的文件。其中,index.html文件是對項(xiàng)目說明的主界面;static.html文件顯示視頻的截圖;stream.html文件是顯示圖像視頻流的界面;static_simple.html文件是一個(gè)單獨(dú)的視頻截圖界面;stream_simple.html文件是單獨(dú)的視頻流界面;style.css是整個(gè)系統(tǒng)樣式的樣式表;jquery.js是編輯系統(tǒng)整體腳本的文件;jquery.rotate.js是針對視頻流畫面旋轉(zhuǎn)功能而編輯的一個(gè)腳本。在www目錄下建立record.html文件和record_simple.html文件來實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)的回放功能,兩個(gè)文件分別實(shí)現(xiàn)了對回放圖像總體的預(yù)覽和對回放圖像具體的瀏覽。最后,通過TCP/IP協(xié)議使用戶能夠在遠(yuǎn)端對視頻進(jìn)行監(jiān)控。
3.1視頻模塊
V4L2是Linux系統(tǒng)下采集視頻、音頻和圖像的API接口,支持多種設(shè)備,具有視頻采集接口、輸出接口、直接傳輸視頻接口、收音機(jī)接口。主要針對uvc免驅(qū)USB設(shè)備,用于采集USB攝像頭所拍攝到的信息。V4L2通過內(nèi)存映射方式和直接讀取方式采集圖像。
Mjpg-Streamer采用內(nèi)存映射方式,通過對終端命令的分析,由輸入插件input_uvc.so把兼容Linux-UVC V4L2設(shè)備中拍攝的視頻分解成獨(dú)立的jpg圖像數(shù)據(jù),并放入到內(nèi)存中pglobal->buf = malloc(videoIn->framesizeIn);當(dāng)線程結(jié)束,調(diào)用cam_cleanup來做些清理工作pthread_cleanup_push(cam_cleanup, NULL);如果這一幀數(shù)據(jù)太小if(videoIn->buf.bytesused
3.2回放模塊
在視頻監(jiān)控回放界面中,圖像是已經(jīng)保存好的write(fd,frame,frame_size),卻只顯示最早的幾張圖像。如果點(diǎn)擊圖像,則加載出原圖像大小的單張圖像log.bigimg=layero.find(‘.xubox_bigimg),可通過點(diǎn)擊左側(cè)箭頭conf.imgprev、右側(cè)箭頭conf.imgnext和方向鍵keyup(function(event))對圖像進(jìn)行切換。
回放相冊可以對圖像進(jìn)行幻燈片播放this.isSlideshowRunning=true,也可暫停this. isSlideshowRunning=false。整體的流程為:初始化的幻燈片是暫停狀態(tài),當(dāng)點(diǎn)擊播放幻燈片時(shí),計(jì)時(shí)器開始計(jì)時(shí),即設(shè)置切換圖像的時(shí)間;若中間沒有暫停,則一直循環(huán)播;若中間暫停幻燈片,計(jì)時(shí)器計(jì)時(shí)停止并重置。
3.3核心模塊
(1)視頻展示模塊。該模塊調(diào)用輸出模塊,從內(nèi)存緩存區(qū)獲取圖像形成視頻流并顯示出來,同時(shí),還能對圖像進(jìn)行旋轉(zhuǎn),防止圖像顛倒。
(2)回放預(yù)覽模塊?;胤沤缑嬷校髽?biāo)放置在圖片上的顏色為正常色log.imgsee.show(),其他圖片的顏色要比正常的顏色暗一些log.imgsee.hide(),以此明確的顯示出當(dāng)前所指的圖片是哪一張。當(dāng)點(diǎn)擊一張圖片,圖片放大顯示,在圖片的兩端分別有向左和向右的箭頭,在當(dāng)前圖片設(shè)置一個(gè)指標(biāo),與整體圖片的長度相比較,以此來判斷圖片的切換。
(3)回放畫廊模塊。回放畫廊中,幻燈片處于暫停狀態(tài),將計(jì)時(shí)器清除且不賦值,若控制器接收到了播放信號(hào),則開始播放幻燈片。
4結(jié)束語
本文分析了現(xiàn)有的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),設(shè)計(jì)并實(shí)現(xiàn)了基于樹莓派的視頻監(jiān)控系統(tǒng)。主要完成了樹莓派環(huán)境的搭建、Mjpg-Streamer的移植、USB攝像頭基于Linux的開發(fā)以及圖像的采集和網(wǎng)絡(luò)傳輸。本文的研究尚有不足之處,如視頻存儲(chǔ)以圖片的形式存放數(shù)量龐大時(shí)不便查看、沒有聲音傳輸、用戶不能通過頁面對視頻監(jiān)控的存放進(jìn)行控制。后續(xù)的改進(jìn)研究主要集中在以上幾方面。
參考文獻(xiàn)
[1] 張秀玲. 視頻監(jiān)控系統(tǒng)研究現(xiàn)狀與發(fā)展趨勢[J]. 科技信息(學(xué)術(shù)研究),2008(36):341-343.
[2] 信師國,劉慶磊,劉全賓. 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)現(xiàn)狀和發(fā)展趨勢[J]. 信息技術(shù)與信息化,2010(1):23-25.
[3] 李龍棋,方美發(fā),唐曉騰. 樹莓派平臺(tái)下的實(shí)時(shí)監(jiān)控系統(tǒng)開發(fā)[J]. 閩江學(xué)院學(xué)報(bào),2014,35(5):67-72.
[4] 高峰,陳雄,陳婉秋. 基于樹莓派B+微處理器的視頻檢測跟蹤系統(tǒng)[J]. 電視技術(shù),2015,39(19):105-108.
[5] 蔡燕敏,孔維通. 基于樹莓派網(wǎng)絡(luò)監(jiān)控系統(tǒng)的研究[J]. 實(shí)驗(yàn)室科學(xué),2015,18(6):87-90.
[6] 龍欣. 多協(xié)議云臺(tái)模塊設(shè)計(jì)及視頻大綱技術(shù)研究應(yīng)用[D]. 武漢理工大學(xué),2009.
[7] 高熊. 基于ARM11的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計(jì)[M]. 華中科技大學(xué).2012.
[8] 陳自文. Raspberry Pi應(yīng)用前景分析. 百度文庫,2012.
[9] Colin Deady. Camera Pi. The MagPi issue[J]. 2012 (6),16-17.
[10]wwwasw. 開源軟件mjpg-streamer簡要分析. CSDN.2014.3.13.
[11]desperatewife. HTML. 百度百科, 2016.(下轉(zhuǎn)第165頁)[12]EricA.Meyer. CSS權(quán)威指南[M]. 中國電力出版社, 2007.
[13]Sbelley Powers. JavaScript學(xué)習(xí)指南[M]. 人民郵電出版社.2009.
[14]Julie C.Meloni Michael Morrison. HTML與CSS入門經(jīng)典[M]. 人民郵電出版社,2011.
[15]Elisabeth Freeman,Eric Freeman. 深入淺出html[M]. 中國電力出版社.2008.
[16]MATT RICHARDSON,SHAWN_WALLACE.愛上Raspberry Pi[M]. 科學(xué)出版社,2013.