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