999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WiFi的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計

2013-06-07 04:15:32周賢軍
電視技術(shù) 2013年1期
關(guān)鍵詞:系統(tǒng)

盧 靈,周賢軍

(暨南大學信息技術(shù)研究所,廣東 廣州 510075)

視頻監(jiān)控系統(tǒng)已經(jīng)被廣泛運用在樓宇監(jiān)控、交通系統(tǒng)等日常生活中,給人們的生活帶來便利和安全,隨著人們安全意識的上升,普通居民住宅也大量的采用了視頻監(jiān)控設(shè)備,使得視頻監(jiān)控設(shè)備的市場前景越來越被看好。

目前,視頻監(jiān)控系統(tǒng)實現(xiàn)主要兩種方案:PC機帶視頻采集設(shè)備方案和嵌入式方案。這兩種方案各有優(yōu)勢,PC方案只需要在自家的PC機上安裝相應(yīng)的軟件和USB視頻采集卡就可以實現(xiàn)視頻監(jiān)控,嵌入式方案就是將整個系統(tǒng)使用嵌入式CPU來替代PC的工作。

本文針對視頻監(jiān)控系統(tǒng)提出了一種基于WiFi無線網(wǎng)絡(luò)系統(tǒng)的嵌入式系統(tǒng)實現(xiàn)方案,該方案采用USB視頻采集設(shè)備采集視頻圖像,視頻圖像通過S3C6410處理器集成的硬解碼實現(xiàn)圖像視頻的壓縮,然后通過WiFi無線網(wǎng)絡(luò)傳輸視頻圖像到PC終端,由PC機上QT制作的監(jiān)控軟件實現(xiàn)視頻圖像數(shù)據(jù)的保存和播放。該設(shè)計的優(yōu)點就是使用WiFi無線網(wǎng)絡(luò)發(fā)送視頻圖像,使得視頻監(jiān)控系統(tǒng)更靈活,而且在PC機監(jiān)控軟件視頻圖像的處理和保存上采用了循環(huán)隊列的形式處理,使得整個視頻圖像的網(wǎng)絡(luò)接收和播放同時進行,從而大大提高整個系統(tǒng)的視頻處理的效率。實驗證明,所提出來的方案能夠得到清晰、穩(wěn)定、流暢的視頻圖像。

1 系統(tǒng)設(shè)計

如圖1所示,整個視屏監(jiān)控系統(tǒng)分為服務(wù)器和客戶端兩個模塊來實現(xiàn)[1]。首先,服務(wù)器通過視頻采集模塊采集視頻圖像數(shù)據(jù),然后將采集的視頻圖像數(shù)據(jù)幀進行JPEG圖片壓縮處理,最后通過WiFi無線網(wǎng)絡(luò)傳輸模塊發(fā)送到Internet網(wǎng)絡(luò),由客戶端負責接收圖片數(shù)據(jù);其次,客戶端一直通過網(wǎng)絡(luò)接口接收服務(wù)器傳輸過來的圖片數(shù)據(jù),并將接收到的監(jiān)控圖片數(shù)據(jù)在客戶端顯示出來。

圖1 視頻監(jiān)控系統(tǒng)的整體設(shè)計框圖

1.1 視頻圖像的采集實現(xiàn)

視頻圖片的采集是視頻監(jiān)控系統(tǒng)主要模塊,動態(tài)視頻需要連續(xù)播放至少24幀漸變的圖片。目前,視頻監(jiān)控領(lǐng)域中,視頻信號一般為通過視頻采集卡或外置USB視頻攝像頭采集模擬視頻數(shù)據(jù)[2]。Linux 2.6以上內(nèi)核提供了V4L2 API接口,USB采集的圖片數(shù)據(jù)可以直接通過API函數(shù)采集和存儲,V4L2 API接口在使用之前需要初始化,主要是設(shè)置視頻圖像的幀格式,有兩個結(jié)構(gòu)體用來定義視頻圖像幀格式:

其中fmt.type可以指定捕捉圖像數(shù)據(jù)流類型,fmt.fmt.pix.width 指定圖像的寬度 fmt.fmt.pix.height設(shè)置圖像的高度,fmt.fmt.pix.pixelformat設(shè)置圖像的存儲格式,通過對這些參數(shù)的初始化,就可以初始化視頻圖像數(shù)據(jù)幀格式,從而為V4L2 API提供Linux操作系統(tǒng)處理圖像數(shù)據(jù)的接口參數(shù)。整個圖像數(shù)據(jù)在Linux操作系統(tǒng)下采集處理流程如圖2所示。

圖2 Linux操作系統(tǒng)下采集圖片數(shù)據(jù)處理流程

如圖2所示,圖像數(shù)據(jù)采集是通過Linux操作系統(tǒng)來控制操作的,USB視頻采集模塊在Linux操作系統(tǒng)下被視為一個文件。首先,打開這個視頻文件,然后設(shè)置圖像信息與格式,就是初始化兩個定義視頻圖像幀格式的結(jié)構(gòu)體參數(shù),在初始化視頻圖像信息與格式之后,再將存放圖像信息的緩存映射到用戶空間,也可以使用read操作函數(shù)將圖像數(shù)據(jù)直接讀到內(nèi)存緩存buffer中,而內(nèi)存映射方式可以使得內(nèi)核與用戶進程之間通過映射文件實現(xiàn)共享內(nèi)存,可以減少系統(tǒng)調(diào)用函數(shù)開銷,圖像存儲空間映射完成之后,用戶就可以直接讀取圖像數(shù)據(jù)了,也即采集圖像數(shù)據(jù),這里設(shè)置了緩存中保存圖片的張數(shù)上限MAX_NUM,用來控制視頻圖像每秒播放圖像數(shù)據(jù)幀數(shù)量。Linux操作系統(tǒng)的V4L2 API接口函數(shù)通過ioctl來操作圖像數(shù)據(jù)的采集,通過該函數(shù)將圖像數(shù)據(jù)一幀一幀地讀取到映射好的存儲空間,首先,調(diào)用ioctl(fd,VIDIOC_QBUF,&buffer)初始化buffer,使得該buffer適合存儲圖像數(shù)據(jù)幀格式的圖像數(shù)據(jù),讓圖像緩存塊進入采集隊列,然后調(diào)用ioctl(fd,VIDIOC_QUERYBUF,&buffer)將相關(guān)信息會保存到buffer里,然后調(diào)用 yuyv[i]=(char*)mmap(0,buffer.length,PROT_READ|OT_WRITE,MAP_SHARED,fd,buffer.m.offset)可以將buffer中的數(shù)據(jù)映射到用戶空間,其中i是圖像在內(nèi)存數(shù)據(jù)存儲區(qū)的偏移量,這樣圖像數(shù)據(jù)就以YUV格式保存到了yuyv[i]數(shù)組中了,圖像數(shù)據(jù)就讀取到了用戶空間了。

1.2 視頻圖像JPEG硬解碼在S3C6410上的實現(xiàn)

由于S3C6410內(nèi)部集成了JPEG硬編解碼,解碼速度快,圖像損耗小。因此,這里采用S3C6410內(nèi)部集成了JPEG硬編解碼器對USB采集的YUV格式視頻圖像數(shù)據(jù)進行JPEG硬解碼。解碼時用到的1個重要結(jié)構(gòu)體:

這個結(jié)構(gòu)體控制了JPG解碼的所有參數(shù),其中,JPG解碼格式可以選擇JPG_444,JPG_422,JPG_420等格式,這里使用JPG_422,解碼質(zhì)量選擇可以選擇幾個不同等級,質(zhì)量高等級就相應(yīng)的圖片壓縮比例小,圖片相對損耗也小,圖像解碼寬度和高度設(shè)置對應(yīng)解碼出來JPG圖像的大小比例,解碼數(shù)據(jù)大小是指解碼的YUV圖片數(shù)據(jù)大小,可以使用sizeof(yuyv)計算。JPG硬解碼處理流程圖如圖3所示。

圖3 JPG硬解碼處理流程圖

首先,打開JPG硬解碼設(shè)備,調(diào)用fd=open("/dev/s3c-jpg",O_RDWR),然后映射stream區(qū)域,作為JPG硬解碼內(nèi)核和用戶共享的區(qū)域,調(diào)用dsp_buf=mmap(),同時獲取該區(qū)域地址,調(diào)用frame_buf=(char*)ioctl(fd,IOCTL_JPG_GET_FRMBUF,dsp_buf),再打開YUV文件,讀到內(nèi)存中,接著將YUV讀入內(nèi)存中的數(shù)據(jù)復(fù)制到frame_buf所指的內(nèi)存區(qū)域,最后調(diào)用write(jpg_fd,dsp_buf,param.fileSize)將YUV圖片解碼成JPG圖片,在此之前,需要設(shè)置好JPG解碼格式,即設(shè)置好控制JPG解碼結(jié)構(gòu)體的參數(shù)。

1.3 WiFi無線網(wǎng)絡(luò)傳輸視頻圖像數(shù)據(jù)幀實現(xiàn)

UT_WiFi_C無線網(wǎng)卡模塊接口為SDIO,該模塊采用Marvell8686的單芯片解決方案,相關(guān)的驅(qū)動Marvell官方提供,WiFi無線網(wǎng)卡啟動以后,聯(lián)網(wǎng)過程和使用跟有線網(wǎng)絡(luò)基本一樣,也是使用網(wǎng)絡(luò)套接字實現(xiàn)網(wǎng)絡(luò)鏈接和數(shù)據(jù)網(wǎng)絡(luò)傳輸[3]。WiFi傳輸視頻圖像數(shù)據(jù)流程圖如圖4所示。

圖4 WiFi傳輸視頻圖像數(shù)據(jù)流程圖

如圖所示,WiFi傳輸是視頻圖像數(shù)據(jù)幀處理過程是一個應(yīng)答過程。首先,由客戶端發(fā)送讀取視頻圖像幀頭信息申請,服務(wù)器接收到客戶端信息后,發(fā)送視頻圖像幀頭信息過去,客戶端在接收到幀頭信息之后可以根據(jù)幀頭信息設(shè)置和初始化保存視頻圖像幀的緩存區(qū)大小和對應(yīng)的標志位信息,然后服務(wù)器開始發(fā)送視頻圖像真實的數(shù)據(jù)信息,客戶端則負責接收和保存。

2 服務(wù)器視頻圖像的保存

服務(wù)器使用循環(huán)隊列形式保存視頻圖像信息數(shù)據(jù),具體實現(xiàn)如圖5所示。

圖5 服務(wù)器視頻圖像保存緩存存儲格式圖

圖5就是服務(wù)器視頻圖像保存緩存存儲格式圖。首先,服務(wù)器申請一塊能夠存放MAX_NUM×N幀視頻圖像數(shù)據(jù)幀大小的內(nèi)存buffer用來存放接收的視頻圖像數(shù)據(jù)幀,其中MAX_NUM用來控制每一秒鐘至少播放的視頻圖像數(shù)據(jù)幀的幀數(shù),而N是指buffer能夠存放的這樣數(shù)據(jù)幀塊的數(shù)量。接收的視頻圖像數(shù)據(jù)幀不斷的被存放到該buffer中,第一次要求填滿該buffer,然后開始播放視頻圖像,每秒鐘播放MAX_NUM幀視頻圖像,當播放到MAX_NUM×N/2幀時,這時開始發(fā)送消息,要求更新已經(jīng)播放的視頻圖像數(shù)據(jù),同時接著播放buffer中剩下沒有播放的視頻圖像數(shù)據(jù),當再次播放到MAX_NUM×N/2幀時,再次要求更新已經(jīng)播放的視頻圖像數(shù)據(jù),而之前要求更新的圖像數(shù)據(jù)這時候已經(jīng)更新完成了,可以繼續(xù)播放,如此循環(huán)播放。由于視頻更新使用的網(wǎng)絡(luò)接收視頻圖像數(shù)據(jù)線程,而播放視頻使用的是播放視頻線程,二者并行運行,節(jié)約了整個服務(wù)器處理數(shù)據(jù)的時間,大大的提高了存儲和播放的性能。

3 系統(tǒng)設(shè)計流程

視頻監(jiān)控設(shè)備流程圖如圖6所示[4]。

圖6 視頻監(jiān)控系統(tǒng)流程圖

首先,服務(wù)器和客戶端初始化,并配置好相互連接的網(wǎng)絡(luò)套接字,客戶端通過有限連網(wǎng),用來連接服務(wù)器WiFi無線網(wǎng)絡(luò);服務(wù)器在配置好網(wǎng)絡(luò)之后,開始偵聽客戶端請求,如果客戶端請求視頻圖像數(shù)據(jù)接收,服務(wù)器開始采集視頻圖像數(shù)據(jù),由于視頻圖像播放必須在1 s里連續(xù)播放至少24幀圖像數(shù)據(jù)才能夠保證連續(xù)平滑的視覺效果,所以,需要設(shè)置一個視頻數(shù)據(jù)幀采集控制標志位MAX_NUM,由它來控制視頻幀的采集數(shù);當視頻數(shù)據(jù)幀采集完成時,即大于MAX_NUM時,開始JPEG視頻圖像硬解碼,S3C6410內(nèi)部集成了JPEG硬編解碼,可以直接對USB采集的YUV格式視頻圖像進行JPG解碼,比軟件直接解碼損耗低,而且速度快;視頻圖像解碼之后,就可以開始發(fā)送視頻圖像數(shù)據(jù)了,發(fā)送視頻數(shù)據(jù)幀使用了MAX_NUM×N/2這個標志位來控制,這主要是配合客戶端視頻圖像數(shù)據(jù)幀循環(huán)緩存更新設(shè)置的,如果傳輸視頻數(shù)據(jù)幀大于或等于MAX_NUM×N/2,就需要更新視頻圖像數(shù)據(jù)了,如果客戶端重新請求更新圖像數(shù)據(jù),開始新的視頻圖像采集和發(fā)送。在客戶端,在接收到視頻圖像數(shù)據(jù)幀之后,將數(shù)據(jù)保存在循環(huán)緩存區(qū),這個緩存區(qū)里面可以存放MAX_NUM×N幀數(shù)據(jù),第一次接收數(shù)據(jù)需要將這個緩存區(qū)填滿視頻圖像數(shù)據(jù)幀,然后開始播放,每次播放完成MAX_NUM×N/2幀視頻圖像數(shù)據(jù)幀之后,向服務(wù)器發(fā)送更新已經(jīng)播放的視頻圖像數(shù)據(jù),然后接著播放還沒有播放的MAX_NUM×N/2幀數(shù)據(jù),這樣循環(huán)請求和更新緩存區(qū)保存的視頻圖像數(shù)據(jù)幀,并循環(huán)播放緩存區(qū)視頻圖像數(shù)據(jù),由于視頻播放和網(wǎng)絡(luò)接收視頻圖像數(shù)據(jù)是兩個獨立的線程可以并發(fā)執(zhí)行,這樣就使得視頻的傳輸和播放同時在進行,在播放前一段視頻圖像時更新后一段視頻圖像,在播放后一段視頻圖像時更新前一段視屏圖像,整個循環(huán)進行,大大提高了整個系統(tǒng)視頻處理的效率。

4 系統(tǒng)仿真與測試

系統(tǒng)仿真測試分為服務(wù)器和客戶端兩個終端的仿真測試。圖7是服務(wù)器終端仿真測試圖,采用S3C6410開發(fā)板作為CPU控制整個服務(wù)器的運行,包含USB攝像頭采集圖像數(shù)據(jù),圖像視頻數(shù)據(jù)幀的JPG硬解碼和WiFi無線網(wǎng)絡(luò)傳輸圖片數(shù)據(jù)。圖8是客戶端視頻監(jiān)控畫面,客戶端的視頻監(jiān)控軟件是基于QT平臺的C++用戶圖形化界面開發(fā)工具開發(fā)的,其中,operation菜單鍵可以控制視頻圖像抓取和播放,setting負責設(shè)置軟件的初始化參數(shù)信息。整個系統(tǒng)的測試結(jié)果證明,視頻圖像的顯示和抓取流暢,畫面效果清晰、平滑,說明整個設(shè)計穩(wěn)定,數(shù)據(jù)處理高效。

5 結(jié)束語

針對視頻監(jiān)控系統(tǒng),提出了一種基于WiFi無線網(wǎng)絡(luò)嵌入式系統(tǒng)解決方案。該方案解決了USB視頻圖像采集問題,并通過S3C6410內(nèi)部集成的JPG硬解碼實現(xiàn)了視頻圖像的壓縮處理,最后通過WiFi無線網(wǎng)絡(luò)將視頻圖像發(fā)送到客戶端,在客戶端采用視頻圖像循環(huán)保存和顯示,最終實現(xiàn)了視頻圖像清晰、穩(wěn)定、平滑顯示,整個設(shè)計正確、高效。

[1]張偉男,張溢華.基于無線傳輸?shù)囊苿右曨l監(jiān)控系統(tǒng)的設(shè)計[J].電視技術(shù),2009,33(3):79-81.

[2]趙文敏,余文芳,邢建國.一種嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計[J].計算機應(yīng)用與軟件,2009,26(8):67-69.

[3]熊平,劉剛,莊彩云,等.基于WiFi技術(shù)的嵌入式病房監(jiān)護系統(tǒng)的設(shè)計[J].中國醫(yī)學物理學雜志,2011,28(1):2447-2449.

[4]王小紅,周淵平,方曉翠.嵌入式視頻監(jiān)控系統(tǒng)的設(shè)計和實現(xiàn)[J].通信技術(shù),2011,44(6):105-109.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 一区二区三区成人| 国产香蕉一区二区在线网站| 四虎在线观看视频高清无码| 免费人成在线观看成人片| 国模私拍一区二区| 欧美午夜在线播放| 19国产精品麻豆免费观看| 四虎综合网| 国产91高跟丝袜| 一级毛片网| 国产精品视频导航| 亚洲AⅤ无码国产精品| 热思思久久免费视频| 国产免费羞羞视频| 国产精品福利一区二区久久| 亚洲制服中文字幕一区二区| av性天堂网| 欧美日韩一区二区在线播放| 婷婷六月综合网| 国产成人精彩在线视频50| 波多野结衣一级毛片| 97免费在线观看视频| 538国产视频| 黄色a一级视频| 五月婷婷激情四射| 久久精品国产精品国产一区| 亚洲精品视频免费看| 亚亚洲乱码一二三四区| 国产精品自在在线午夜| 91网址在线播放| 国产成人综合亚洲网址| 中文字幕在线欧美| 91久久国产综合精品女同我| 四虎国产永久在线观看| 亚洲第一福利视频导航| www.精品国产| 性视频一区| 99久久免费精品特色大片| 免费在线成人网| 国产在线观看高清不卡| 亚洲视频无码| 91免费国产在线观看尤物| 色哟哟国产精品一区二区| 日韩高清无码免费| 国产午夜看片| 欧美人在线一区二区三区| 色婷婷亚洲十月十月色天| 国产成人夜色91| 国产黄色免费看| 夜色爽爽影院18禁妓女影院| 欧美高清三区| 丁香婷婷激情综合激情| 亚洲无码视频喷水| 国产色图在线观看| 亚洲婷婷在线视频| 久久国产拍爱| 国产精品一线天| 成人欧美日韩| 国产成人亚洲毛片| 天天摸夜夜操| 五月激情婷婷综合| 国内精自视频品线一二区| 无码区日韩专区免费系列| 91无码视频在线观看| 午夜久久影院| 五月天福利视频| 成年免费在线观看| 99ri精品视频在线观看播放| 亚洲第一中文字幕| AV天堂资源福利在线观看| 国产精品蜜臀| 国产精品网曝门免费视频| 日韩中文字幕亚洲无线码| 免费va国产在线观看| 中文字幕欧美日韩| 国产成人高清亚洲一区久久| 日本国产在线| 日韩免费中文字幕| 精品综合久久久久久97超人该| 福利视频一区| 精品福利一区二区免费视频| 波多野结衣在线se|