TOP 2:基于MJPEG - 最受歡迎的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)方案Top10
TOP 2:基于Android的MJPEG網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)
深入研究了MJPEG視頻壓縮算法,闡述了算法實(shí)現(xiàn)過程,并設(shè)計(jì)出基于Android操作系統(tǒng)的3G手機(jī)網(wǎng)絡(luò)攝像機(jī)客戶端軟件。本系統(tǒng)通過實(shí)地安裝與測試達(dá)到了預(yù)期效果,突破了傳統(tǒng)網(wǎng)絡(luò)攝像機(jī)客戶端固定地域的限制,有良好的應(yīng)用前景。
1 系統(tǒng)硬件組成與網(wǎng)絡(luò)架構(gòu)
攝像機(jī)硬件核心采用三星公司推出的基于ARM9架構(gòu)的S3C2440A芯片,該處理器主頻達(dá)到400 MHz可以滿足實(shí)時(shí)壓縮,MJPEG視頻流可以達(dá)到320×240分辨率25 fps的性能要求。外圍搭配64 MB SDRAM、256 MBNAND Flash,網(wǎng)絡(luò)功能由DM9000以太網(wǎng)MAC控制芯片負(fù)責(zé),攝像頭模塊由USB控制器控制,系統(tǒng)供電由3片LM71117組成,分別輸出3.3 V、1.8 V、1.25 V電壓,輔助外圍接口構(gòu)成攝像機(jī)硬件結(jié)構(gòu)。S3C2440A系統(tǒng)硬件框圖如圖1所示。
網(wǎng)絡(luò)攝像機(jī)是互聯(lián)網(wǎng)上的TCP/IP設(shè)備,系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D如圖2所示。其中在家庭區(qū)域內(nèi)根據(jù)安防的特點(diǎn)在大門走廊、客廳內(nèi)、陽臺(tái)區(qū)域分別布置攝像機(jī),再由網(wǎng)線連接到路由器,配置路由器參數(shù)映射每個(gè)攝像機(jī)獨(dú)立端口與IP地址,即完成Internet接入。遠(yuǎn)端由固定位置的PC機(jī),移動(dòng)位置的3G筆記本和隨身攜帶的3G Android手機(jī)組成,PC機(jī)可以通過WEB瀏覽器訪問與控制網(wǎng)絡(luò)攝像機(jī),Android手機(jī)通過客戶端實(shí)現(xiàn)實(shí)時(shí)訪問。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 網(wǎng)絡(luò)攝像機(jī)軟件設(shè)計(jì)
搭建攝像機(jī)需要Linux系統(tǒng)環(huán)境,首先移植Bootloader,對Linux 2.6.32內(nèi)核進(jìn)行裁剪,加載Linux UVC(USB video device class)驅(qū)動(dòng)及相關(guān)驅(qū)動(dòng),將編譯好的Linux系統(tǒng)鏡像燒寫到ARM板Nand Flash中,對Bootloader沒置啟動(dòng)引導(dǎo)地址,即完成軟件運(yùn)行環(huán)境搭建。
分析網(wǎng)絡(luò)攝像機(jī)性能需求與拓展性,須滿足下列條件:
◆視頻監(jiān)控實(shí)時(shí)性;
◆支持多客戶端同時(shí)連接;
◆圖像識(shí)別算法或預(yù)留接口;
◆功能模塊化滿足后期開發(fā)可擴(kuò)展。
因此,采用多線程架構(gòu)與互斥鎖機(jī)制來保證實(shí)時(shí)性、模塊化的思想設(shè)計(jì)代碼結(jié)構(gòu)。軟件程序主流程如圖3所示。
其中主要實(shí)現(xiàn)如下功能。
①初始化Linux V4L2接口,必須按照V4L2標(biāo)準(zhǔn)結(jié)構(gòu)初始化結(jié)構(gòu)體,其中包括struct v412_capability cap;struct v412_format fmt;struct v412_buffer buf;struct v412_requestbuffers rb;struct v412_streamparm setfps。此外將視頻設(shè)備名、視頻寬度、視頻高度、幀率、視頻格式和抓取方法傳遞給函數(shù)init_videoIn(struct vdIn*vd,char*device,int width,intheight,int fps,int format,int grabmethod)實(shí)現(xiàn)初始化。值得注意的是眾多USB camera并不支持JPEG格式視頻流直接抓取,針對YUYV格式抓取卻有廣泛支持。后期進(jìn)行圖像識(shí)別算法操作時(shí)直接分析YUYV原始圖像數(shù)據(jù),將節(jié)省 JPEG壓縮數(shù)據(jù)轉(zhuǎn)換為原始圖像數(shù)據(jù)的大量運(yùn)算開銷,因此采用YUYV抓取模式。
②創(chuàng)建核心圖像處理線程。在該線程內(nèi)實(shí)現(xiàn):抓取功能。
◆UVC設(shè)備單幀抓取,uvcGrab(struct vdIn*vd)函數(shù)實(shí)現(xiàn)單幀YUYV格式的原始圖像拷貝到內(nèi)存,采用高效的mmap內(nèi)存映射方法讀取;
◆JPEG核心算法實(shí)現(xiàn),JPEG壓縮算法占用大量CPU時(shí)間,下一小節(jié)將詳細(xì)討論。
③創(chuàng)建套接字接口。為實(shí)現(xiàn)多用戶同時(shí)連接網(wǎng)絡(luò)攝像機(jī),必須采用socket服務(wù)線程,每當(dāng)有新用戶連接同時(shí)產(chǎn)生一個(gè)新線程與之對應(yīng),實(shí)現(xiàn)多用戶端同步監(jiān)控。
?、艽罱ɑ赪eb瀏覽器訪問方式的Web主頁。嵌入式設(shè)備資源有限,輕量級(jí)的Web Server主要有:Boa、Httpd、Thttpd等。本設(shè)計(jì)選用開源的Boa、交叉編譯Boa源碼配置boa.conf文件,配置系統(tǒng)etc自啟動(dòng) shell加入Boa程序,將編寫HTML頁面文件放入系統(tǒng)中對應(yīng)的www目錄后即可正常工作。
系統(tǒng)軟件設(shè)計(jì)【略】
Android客戶端設(shè)計(jì)【略】
閱讀詳細(xì)文章:基于Android的MJPEG網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)
- 第 1 頁:最受歡迎的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)方案Top10
- 第 2 頁:TOP 9:基于TMS320DM642
- 第 3 頁:Top 8: 基于ML86500
- 第 4 頁:Top 7:基于嵌入式操作系統(tǒng)
- 第 5 頁:TOP 6:基于ARM和以太網(wǎng)
- 第 6 頁:TOP 5:基于CMOS圖像傳感器
- 第 7 頁:TOP 4:基于TI達(dá)芬奇技術(shù)
- 第 8 頁:TOP 3:基于DM365
- 第 9 頁:TOP 2:基于MJPEG
- 第 10 頁:TOP 1:基于IP高清
本文導(dǎo)航
非常好我支持^.^
(8) 2%
不好我反對
(397) 98%
相關(guān)閱讀:
- [物聯(lián)網(wǎng)] 基于視頻的車位引導(dǎo)及反向?qū)ぼ囅到y(tǒng) 2023-09-16
- [電子說] 網(wǎng)絡(luò)攝像機(jī)故障遠(yuǎn)程監(jiān)控運(yùn)維解決方案 2021-08-23
- [通信網(wǎng)絡(luò)] 如何選擇合適的交換機(jī)配置 100路網(wǎng)絡(luò)攝像機(jī)監(jiān)控方案怎么實(shí)現(xiàn)? 2023-08-07
- [電子說] MS41908M應(yīng)用于網(wǎng)絡(luò)攝像機(jī)·監(jiān)控?cái)z像機(jī)用鏡頭驅(qū)動(dòng)芯片 2023-08-24
- [電子說] 虹科干貨 | 虹科物聯(lián)網(wǎng)HMI實(shí)時(shí)顯示網(wǎng)絡(luò)攝像機(jī)監(jiān)控畫面——以??低暰W(wǎng)絡(luò)攝像 2023-04-17
- [電子說] POE網(wǎng)絡(luò)攝像機(jī)/頭怎樣浪涌靜電保護(hù)?TVS/ESD二極管如何選型選用? 2023-04-13
- [電子說] 學(xué)技術(shù) | Milesight 的 5G AIoT 網(wǎng)絡(luò)攝像機(jī)展示了 5G 和 LoRaWAN 的集成潛力 2022-11-10
- [電子說] 網(wǎng)絡(luò)攝像機(jī)畫面卡頓?離不開這五大原因 2021-11-19
( 發(fā)表人:電子大兵 )