楊維偉
摘要:隨著物聯(lián)網(wǎng)時代的到來,嵌入式設備越來越多,視頻監(jiān)控與安防也越來越得到市場的青睞。網(wǎng)絡攝像頭應用也越來越多,各類攝像頭層出不窮,視頻監(jiān)控行業(yè)發(fā)展朝著低成本、便捷、智能化的發(fā)展方向。該文提出一種基于Mjpg_streamer的視頻監(jiān)控終端,通過中星微ZC301攝像頭為采集端,搭載S5PV210處理器的開發(fā)板為處理中心,重點研究mjpg_streamer在嵌入式設備中的應用,自己編寫插件udp模塊,實現(xiàn)視頻畫面實時流暢傳輸,以及基于移植的libjpeg庫實現(xiàn)jpg和bmp兩種圖片的軟編碼實現(xiàn)。這種設計具有廣泛應用,使其不再局限于B/S模式的瀏覽器,可以實現(xiàn)程序由開發(fā)者定制。
關鍵詞:Mjpg_streamer;軟編碼;嵌入式;視頻監(jiān)控
中圖分類號:TP368 文獻標識碼:A 文章編號:1009-3044(2017)05-0000-0153-02
1 背景
隨著物聯(lián)網(wǎng)時代的到來,傳統(tǒng)的監(jiān)控方式成本高、代價大、局限性也很高,已經(jīng)不能很好地滿足當今社會與時代的需求。Mjpg_streamer是基于linux開發(fā)的開源視頻傳輸服務器。
通過ZC301攝像頭采集的UVC圖像畫面數(shù)據(jù)進行jpeg格式壓縮,基于TCP/IP協(xié)議棧udp進行傳輸?shù)娇蛻舳?,這種C/S方式的監(jiān)控方式比Mjpg_streamer本身攜帶的http模塊傳輸,更有利于視頻數(shù)據(jù)的編解碼,更實時的傳輸,關鍵速度更快又能防止網(wǎng)絡阻塞。同時基于libjpeg庫的軟編解碼,更適用于嵌入式RGB類顯示屏的顯示。
2 系統(tǒng)分析
本論文設計系統(tǒng)組成包括了軟件部分和硬件部分。該系統(tǒng)采用C/S設計結(jié)構(gòu),以mjpg_streamer為服務器軟件框架,采集端USB攝像頭ZC301獲取圖像,通過mjpg_streamer框架下自己編寫的udp模塊插件進行實時傳輸圖像,在客戶端進行處理顯示或其他嵌入式設備進行基于libjpeg庫解碼在RGB屏中顯示。
3 系統(tǒng)硬件設計
ARM cortex-A8基于armv7架構(gòu),超標量微處理器內(nèi)核,擁有出色的運行效率和功耗效率及泄密控制機制。該論文選用arm cortex-A8架構(gòu)的S5PV210處理器作為其主控單元,其豐富的硬件資源足夠支撐軟件需求。
3.1 處理器核心部分
處理器部分是視頻監(jiān)控系統(tǒng)的核心,負責與ZC301攝像頭圖像數(shù)據(jù)的采集,linux系統(tǒng)中內(nèi)核中集成了其usb、ZC301等相關驅(qū)動模塊。通過移植的mjpg_streamer開源視頻服務器對圖像進行壓縮,再經(jīng)由wifi模塊或路由器將視頻數(shù)據(jù)流發(fā)送到視頻監(jiān)控端。
3.2 V4L2架構(gòu)下圖像數(shù)據(jù)的獲取
Video4Linux(簡稱V4L2)是基于linux內(nèi)核的應用程序接口,與圖像相關,涉及到設備部分控制與圖像采集、處理等過程,標準化視頻應用接口,廣泛應用于視頻設備的系統(tǒng)中。
對于USB攝像頭,linux驅(qū)動層提供了一套標準的文件系統(tǒng)接口open() read() write() close()等基本操作函數(shù),通過這些接口函數(shù)完成對zc301攝像頭圖像的采集。
4 Mjpg_Streamer框架分析與udp插件設計
6 結(jié)束語
本文是基于ARM架構(gòu)Cortex-A8處理器為硬件平臺,將mjpg_streamer視頻服務器和libjpeg庫進行移植到開發(fā)板中?;蛐薷幕蜷_發(fā),對mjpg_streamer進行插件模塊擴充,基于udp模式,使用C/S結(jié)構(gòu)進行對遠程監(jiān)控圖像數(shù)據(jù)進行處理并顯示,同時基于libjpeg庫也分析并實現(xiàn)了bmp與jpeg圖片數(shù)據(jù)的軟編碼,更擴大了視頻服務器的應用范圍。
參考文獻:
[1] 劉魏, 唐健, 袁芳. 基于Mjpg_streamer的視頻監(jiān)控研究[J] 輕工科技, 2016(3): 68-69.
[2] 宋成儒. 基于Linux 嵌入式的視頻監(jiān)控系統(tǒng)設計與應用[D]. 昆明: 昆明理工大學, 2013.
[3] 付爽. 流媒體技術(shù)及其數(shù)字化應用的研究[J]. 中國新技術(shù)新產(chǎn)品, 2009(19): 53-54.
[4] 王哲梁. 基于嵌入式Linux 的遠程視頻監(jiān)控系統(tǒng)[D]. 杭州: 杭州電子科技大學, 2014.
[5] 王霏. 基于視頻的運動目標檢測算法研究[D].長春:吉林大學, 2014.
[6] 劉豪. 基于Linux 的MJPG-Streamer 視頻監(jiān)控系統(tǒng)實現(xiàn)[J]. 科技視界, 2015, 32(15): 54-55.
[7] 鄧志良, 孫進, 柯勝. 基于ARM9 的WEB 遠程視頻實時監(jiān)控系統(tǒng)設計與實現(xiàn)[J]. 科學技術(shù)與工程, 2012, 12(21): 5351-5354.
[8] 陳恒鑫, 林威, 張欽宇. 基于Mjpg-streamer 的移動視頻監(jiān)控系統(tǒng)設計[J]. 哈爾濱工業(yè)大學深圳研究院, 2014, 11(12): 3597-3598.
[9] 張霄云. 基于ARM11 的嵌入式linux 系統(tǒng)移植與實現(xiàn)[D]. 濟南: 山東大學, 2013.