當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]0 引 言傳統(tǒng)的視頻監(jiān)控系統(tǒng)一般采用PC服務(wù)器的C/S(Client/Server)結(jié)構(gòu),視頻服務(wù)器由計(jì)算主機(jī)和許多存放視頻的磁盤陳列組成,專門用于視頻的存儲(chǔ)和傳輸。流式傳輸采用的是邊

0 引 言

傳統(tǒng)的視頻監(jiān)控系統(tǒng)一般采用PC服務(wù)器的C/S(Client/Server)結(jié)構(gòu),視頻服務(wù)器由計(jì)算主機(jī)和許多存放視頻的磁盤陳列組成,專門用于視頻的存儲(chǔ)和傳輸。流式傳輸采用的是邊接收邊播放的原則,這需要將多媒體的編、解碼和傳輸技術(shù)很好地結(jié)合在一起。目前多媒體的編解碼技術(shù)如MPEG- 4,H.264等,可以以較小的帶寬開銷來實(shí)現(xiàn)較高質(zhì)量的視頻傳輸,然而目前的傳輸技術(shù)卻無法滿足移動(dòng)視頻監(jiān)控的需求,因?yàn)樵O(shè)備的移動(dòng)速度和所在位置都會(huì)嚴(yán)重影響到傳輸。傳統(tǒng)流媒體系統(tǒng)體積大、成本高、可靠性低且移植性差,不能滿足這種特殊場合的應(yīng)用要求。

針對傳統(tǒng)監(jiān)控技術(shù)的不足,本文提出了基于ARM的移動(dòng)觀頻監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn),設(shè)計(jì)了一種專門功能、結(jié)構(gòu)簡單的流媒體服務(wù)器;采用Boa作為Web服務(wù)器,并通過瀏覽器來監(jiān)控,實(shí)現(xiàn)跨平臺(tái)監(jiān)視;采用雙緩沖技術(shù),確保用戶能夠得到較好、較穩(wěn)定的播放質(zhì)量;利用USB無線網(wǎng)卡實(shí)現(xiàn)無線上網(wǎng),免去布線的煩惱,方便地實(shí)現(xiàn)了移動(dòng)視頻監(jiān)控的功能。

1 系統(tǒng)硬件設(shè)計(jì)

硬件平臺(tái)是整個(gè)系統(tǒng)運(yùn)作的基礎(chǔ)。本系統(tǒng)主要由流媒體服務(wù)單元、USB無線網(wǎng)卡、無線路由、攝像頭和監(jiān)控端組成。流媒體服務(wù)單元是整個(gè)系統(tǒng)的核心,主要由嵌入式Linux、嵌入式處理器和外圍器件組成。

嵌入式處理器采用Intel XScale結(jié)構(gòu)的PXA27嵌入式微處理器,最高主頻可達(dá)624 MHz;加入wireless MMX技術(shù),大大提升了多媒體處理能力;加入Intel SpeedStep動(dòng)態(tài)管理電源技術(shù),在保證CPU性能的情況下,最大限度地降底移動(dòng)設(shè)備的功耗。在處理器豐富資源的基礎(chǔ)上,本系統(tǒng)擴(kuò)展了64 MB Nand FLASH,64 MB SDRAM,16 MB Nor FLASH,4個(gè)USB主接口以及一個(gè)從接口。USB一主接口接攝像頭,用于采集視頻數(shù)據(jù);USB一主接口接無線網(wǎng)卡,用于發(fā)送視頻數(shù)據(jù)。無線網(wǎng)卡采用了 TCP/IP、NETBEUI傳輸協(xié)議,傳輸速率為11 Mb/s,5.5 Mb/s,2 Mb/s,1 Mb/s。其最大覆蓋范圍為35~100 m(室內(nèi))、100~300 m(室外),能較好地滿足移動(dòng)視頻監(jiān)控的要求。本系統(tǒng)硬件組成圖如圖1所示。

 

以PXA270為核心接收攝像頭采集到的視頻數(shù)據(jù),經(jīng)過編碼后通過無線網(wǎng)卡發(fā)送,再經(jīng)由無線路由接入以太網(wǎng),用戶通過Internet接收到視頻信息。

2 USB無線網(wǎng)卡驅(qū)動(dòng)

在Linux系統(tǒng)中,提供了主機(jī)側(cè)和設(shè)備側(cè)視角的USB驅(qū)動(dòng)框架。從主機(jī)側(cè)角度而言,需要編寫的USB驅(qū)動(dòng)程序包括主機(jī)控制器驅(qū)動(dòng)和設(shè)備驅(qū)動(dòng)兩大類。主機(jī)控制器驅(qū)動(dòng)程序?qū)儆赨SB驅(qū)動(dòng)程序的核心,這部分在Linux內(nèi)核源碼中已經(jīng)有很好的支持。本節(jié)將重點(diǎn)介紹USB無線網(wǎng)卡設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)。

2.1 USB驅(qū)動(dòng)的注冊和注銷

usb_ids描述了這個(gè)USB驅(qū)動(dòng)所支持的USB設(shè)備列表。

 

2.2 探測和斷開函數(shù)

在編寫USB無線網(wǎng)卡設(shè)備驅(qū)動(dòng)時(shí),很重要的一步是probe()和disconnect()函數(shù),即探測和斷開函數(shù),它們分別在設(shè)備被插入和拔出的時(shí)候被調(diào)用,用于初始化和釋放硬件資源。

 

2.3 USB請求塊(URB)

USB無線網(wǎng)卡本身的驅(qū)動(dòng)部分的讀寫等操作流程有其特殊性,即以USB請求塊(URB)來貫穿始終。URB是USB主機(jī)與無線網(wǎng)卡設(shè)備通信的電波。

 

 

3 系統(tǒng)軟件設(shè)計(jì)

基于ARM的移動(dòng)視頻監(jiān)控的軟件設(shè)計(jì)包括嵌入式Linux系統(tǒng)開發(fā)環(huán)境的搭建與移動(dòng)視頻監(jiān)控軟件設(shè)計(jì)兩大部分。

3.1 基于ARM的嵌入式Linux開發(fā)平臺(tái)

本方案采用了Linux嵌入式操作系統(tǒng),以Linux2.6.24為基礎(chǔ)進(jìn)行裁減定制自己的內(nèi)核,在編譯內(nèi)核時(shí)保留必須的文件系統(tǒng)、存儲(chǔ)器、串口、USB、以太網(wǎng)驅(qū)動(dòng),將攝像頭、USB無線網(wǎng)卡驅(qū)動(dòng)以模塊的形式編譯,以減少編譯后內(nèi)核的大小。 Bootloader采用blob,燒寫blob后利用tftp協(xié)議實(shí)現(xiàn)Linux內(nèi)核和文件系統(tǒng)在Flash上的燒寫。在Redhat 9安裝Arm-linux-gcc。建立交叉編譯環(huán)境,實(shí)現(xiàn)流媒體服務(wù)器和Boa在PAX270上的搭建。鑒于現(xiàn)在燒寫技術(shù)已經(jīng)很成熟,故不詳細(xì)討論。

3.2 移動(dòng)視頻監(jiān)控軟件的設(shè)計(jì)

移動(dòng)視頻監(jiān)控軟件完成的主要功能有:設(shè)計(jì)流媒體服務(wù)器采集并傳輸攝像頭拍攝的視頻信息;構(gòu)建嵌入式Web服務(wù)器Boa;動(dòng)態(tài)網(wǎng)頁的設(shè)計(jì)以及流媒體服務(wù)器、web服務(wù)器與瀏覽器之間的通信等任務(wù)。因此系統(tǒng)軟件框架如圖2所示。

 

3.2.1 流媒體服務(wù)器的設(shè)計(jì)

流媒體服務(wù)器主程序用于開放某個(gè)視頻服務(wù)器端口,并不斷監(jiān)聽端口,如有連接請求則建立連接,建立后流媒體服務(wù)進(jìn)程將不斷向端口提供采集到的視頻數(shù)據(jù)流同時(shí)也接收客戶端發(fā)送過來的視頻調(diào)節(jié)命令參數(shù)。流媒體服務(wù)器主程序流程圖如圖3所示。

 

(1)采集視頻數(shù)據(jù)

系統(tǒng)是在嵌入式Linux系統(tǒng)平臺(tái)上采用Video4Linux編程來采集視頻的。一般攝像頭是直接讀視頻設(shè)備,采集到視頻數(shù)據(jù)并存在文件中。對文件進(jìn)行操作,這樣程序運(yùn)行效率會(huì)很低。本系統(tǒng)摒棄這種方法,采用mmap(內(nèi)存映射)方式截取視頻數(shù)據(jù)。mmap()系統(tǒng)調(diào)用使得進(jìn)程之間通過映射同一個(gè)普通文件實(shí)現(xiàn)共享內(nèi)存。普通文件被映射到進(jìn)程地址空間后,進(jìn)程可以向訪問普通內(nèi)存一樣對文件進(jìn)行訪問,不必再調(diào)用read(),write()等操作。采用共享內(nèi)存通信的一個(gè)顯而易見的好處是效率高,因?yàn)檫M(jìn)程可以直接讀寫內(nèi)存,而不需要任何數(shù)據(jù)的拷貝。[!--empirenews.page--]

 

(2)傳輸視頻數(shù)據(jù)

本系統(tǒng)通過網(wǎng)絡(luò)傳輸視頻數(shù)據(jù),用套接字(Socket)編程實(shí)現(xiàn)。

 

(3)采集線程與傳輸線程同步

流媒體服務(wù)器的設(shè)計(jì)有個(gè)關(guān)鍵點(diǎn):保證連續(xù)不斷的視頻流。針對這一點(diǎn),本系統(tǒng)采用多線程編程,采集和傳輸并行執(zhí)行。用互斥量和標(biāo)志位來實(shí)現(xiàn)采集線程和傳輸線程的同步。

采集數(shù)據(jù)時(shí)給互斥量加鎖,直到當(dāng)前幀采集完并填充完當(dāng)前幀頭結(jié)構(gòu)體才解鎖互斥量,再開始傳輸。同理,傳輸當(dāng)前幀時(shí)采集線程等待,直到當(dāng)前幀傳輸完。采集完兩幀數(shù)據(jù)傳輸?shù)诙?。傳輸完成后,采集完第三幀傳輸?shù)谌龓?。依此循環(huán),采集完第N幀傳輸?shù)贜幀。此時(shí)實(shí)際只傳輸了第2幀到第N幀,即N-1幀。

用戶的視覺反應(yīng)需要時(shí)間,此丟棄第一幀的設(shè)計(jì)思想并不會(huì)使畫面失真。反而連續(xù)不斷的視頻流傳輸?shù)娇蛻舳藶橛脩裟軌颢@得良好的視頻質(zhì)量打下了基礎(chǔ)。

采集線程:

 

3.2.2 動(dòng)態(tài)網(wǎng)頁的設(shè)計(jì)

嵌入式Web服務(wù)器是Web服務(wù)器簡化后的專用系統(tǒng)。本系統(tǒng)選用適合嵌入式系統(tǒng)的Boa Web服務(wù)器。Boa是一個(gè)單任務(wù)的HTTP服務(wù)器,支持能夠?qū)崿F(xiàn)動(dòng)態(tài)Web技術(shù)的Java Script技術(shù),源代碼開放,性能高。同時(shí)服務(wù)器本身所占空間很小,因而十分適用于嵌入式系統(tǒng)。

鑒于Boa移植技術(shù)已經(jīng)很成熟,故不詳細(xì)討論。

Applet是能夠嵌入到一個(gè)HTML頁面中,且可通過Web瀏覽器下載和執(zhí)行的一種Java類。它是Java技術(shù)容器(container) 的一種特定類型。Applet可以通過網(wǎng)絡(luò)傳輸,由瀏覽器自動(dòng)裝載并執(zhí)行。這恰恰非常符合本系統(tǒng)的要求,因此選用Applet來很好地實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁,打開網(wǎng)頁就可以看到視頻數(shù)據(jù),方便快捷。

(1)設(shè)計(jì)流程

Applet不能單獨(dú)運(yùn)行,需要嵌入在網(wǎng)頁中借助瀏覽器的解釋。必須要?jiǎng)?chuàng)建一個(gè)HTML文件來告訴瀏覽器需裝載什么以及如何運(yùn)行它。其執(zhí)行順序如下:

①瀏覽器裝入U(xiǎn)RL;

②瀏覽器裝入HTML文檔;

③瀏覽器裝入Applet類;

④瀏覽器運(yùn)行Applet。

本系統(tǒng)Java Applet實(shí)現(xiàn)三個(gè)功能:視頻數(shù)據(jù)通過Socket傳送到客戶端顯示;將客戶端調(diào)節(jié)視頻帶參數(shù)發(fā)送到服務(wù)器;將客戶端點(diǎn)擊的運(yùn)動(dòng)控制參數(shù)發(fā)送到服務(wù)器。其中init和start函數(shù)在Applet開始執(zhí)行時(shí)調(diào)用,通過start創(chuàng)建2個(gè)線程:用于socket通信;提供用戶界面顯示視頻和相應(yīng)用戶操作。用戶界面設(shè)計(jì)用到Sun的SwingWorker類庫。

(2)雙緩沖技術(shù)

雙緩沖技術(shù)主要應(yīng)用于屏幕閃爍現(xiàn)象的消除。在一幀圖像的繪制過程中,如果一幀圖像的繪制時(shí)間大于屏幕的刷新時(shí)間,就會(huì)造成視覺上不連貫的效果。繪制時(shí)可在內(nèi)存中建立兩個(gè)圖形緩沖區(qū),其中一個(gè)緩沖區(qū)(前臺(tái))用于存放顯示的當(dāng)前幀,并在屏幕上顯示;同時(shí)在另一個(gè)緩沖區(qū)中完成下一幀的繪制。因?yàn)楫嬅娴睦L制過程是在用戶不可見的情況下進(jìn)行,自然也就消除了這種閃爍現(xiàn)象。

為了保證用戶的觀看質(zhì)量,本系統(tǒng)在動(dòng)態(tài)網(wǎng)頁的設(shè)計(jì)中引入這種雙緩沖技術(shù)。采用Java語言中component類的一個(gè)可用于創(chuàng)建圖形緩沖區(qū)的方法createImage(int width,int height),其參數(shù)為繪制區(qū)域的大小。該方法返回一個(gè)大小為繪制區(qū)域的Image對象。調(diào)用該對象的getGraphics()方法得到一個(gè) GraphiCS對象,將它視為后臺(tái)的Graphics對象。此后,可調(diào)用Graplaics類的各種繪圖方法,以繪制所需的畫面。此時(shí),所有的操作都是在后臺(tái)的Image對象中進(jìn)行的,并沒有顯示到屏幕上。當(dāng)繪制完成后,再調(diào)用前臺(tái)Graphics對象的drawlmage(Image img,int x,int y,ImageObserver observer)方法將已準(zhǔn)備好的Image顯示到屏幕上。其中Image參數(shù)就是createImage方法所返回后臺(tái)的Image對象,ImageObserver參數(shù)是與前臺(tái)Graphics對象相關(guān)的Component對象或其派生類對象。

4 系統(tǒng)測試

在PXA270上搭建Boa,將Java Applet小程序編譯后生成的.class執(zhí)行文件、HTML腳本index.html及相關(guān)文件拷貝到/var/www/下。將編譯好的流媒體服務(wù)器的二進(jìn)制文件下載到PXA270上。加載攝像頭和USB無線網(wǎng)卡驅(qū)動(dòng),運(yùn)行boa,再運(yùn)行流媒體服務(wù)器。在PC端打開瀏覽器輸入pxa270的IP地址,就可以看到網(wǎng)頁監(jiān)控的畫面,畫面清晰且視頻流暢,如圖4所示。

 

5 結(jié) 語

本文充分利用多媒體技術(shù)和嵌入式技術(shù)各自的特點(diǎn),介紹了一種用ARM實(shí)現(xiàn)移動(dòng)視頻監(jiān)控的方法,給出了軟硬件設(shè)計(jì)結(jié)構(gòu)及USB無線網(wǎng)卡驅(qū)動(dòng)的具體實(shí)現(xiàn)過程。設(shè)計(jì)了流媒體服務(wù)器,搭建了Boa作為Web服務(wù)器及實(shí)現(xiàn)了動(dòng)態(tài)網(wǎng)頁。利用USB無線網(wǎng)卡免去了布線的煩惱;利用B/S結(jié)構(gòu)使得可以通過瀏覽器來監(jiān)控,實(shí)現(xiàn)跨平臺(tái)監(jiān)視;利用雙緩沖技術(shù),實(shí)現(xiàn)較高的視頻質(zhì)量。基于ARM的移動(dòng)視頻監(jiān)控系統(tǒng)使得操作簡單,攜帶方便,可靠性高,成本低,具有良好的開發(fā)及應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉