當前位置:首頁 > 模擬 > 模擬
[導讀] 引言隨著現(xiàn)代科學技術和居民生活水平的提高,以及人們對安全問題的日益重視,視頻監(jiān)控系統(tǒng)在緊急救援和安防系統(tǒng)中得到了廣泛應用。無線技術的發(fā)展解決了傳統(tǒng)有線的布線復雜,網(wǎng)絡結構不靈活等技術問題。無線技術對于

 引言

隨著現(xiàn)代科學技術和居民生活水平的提高,以及人們對安全問題的日益重視,視頻監(jiān)控系統(tǒng)在緊急救援和安防系統(tǒng)中得到了廣泛應用。無線技術的發(fā)展解決了傳統(tǒng)有線的布線復雜,網(wǎng)絡結構不靈活等技術問題。無線技術對于特殊監(jiān)控環(huán)境有著很好的親和性,且移動通信網(wǎng)和無線局域網(wǎng)的快速建設為視頻監(jiān)控系統(tǒng)的設計提供了技術支持,其中無線局域網(wǎng)WLAN的組建快捷、靈活性強、受環(huán)境限制小、方便網(wǎng)絡重組和擴展。

國際電信聯(lián)盟對于視頻編碼壓縮制定了H.264/AVC視頻編碼壓縮標準,H.264加強了對IP、移動網(wǎng)絡的丟包、誤碼情況處理,保證了在不同信道中進行傳輸?shù)囊曨l圖像質量。隨著H.264編碼技術的提出與應用,大大提高了視頻數(shù)據(jù)的壓縮率,減少傳輸時所用的網(wǎng)絡帶寬,并促進了無線網(wǎng)絡的發(fā)展,同時H.264編碼的網(wǎng)絡傳輸提取層設計,可以使視頻數(shù)據(jù)在不同網(wǎng)絡里進行傳輸且適應性良好。

嵌入式芯片功能的增強和開源Linux操作系統(tǒng)的成熟使得基于嵌入式系統(tǒng)的視頻監(jiān)控系統(tǒng)具有更好的穩(wěn)定性和實時性,結合無線網(wǎng)絡技術使系統(tǒng)具有成本低、組網(wǎng)便捷和實際應用性強等優(yōu)點,可以廣泛地應用于民用與工用安防系統(tǒng)。

本文將WiFi技術、圖像壓縮技術與基于嵌入式視頻監(jiān)控系統(tǒng)相結合,采用嵌入式ARM Cortex—A8高性能處理器芯片SP5V210和Linux操作系統(tǒng),將COMS攝像頭采集的視頻流經(jīng)H.264編碼壓縮后由無線WiFi網(wǎng)絡傳輸?shù)奖O(jiān)控端,通過PC監(jiān)控端的FFMPEG模塊和SDL播放模塊完成監(jiān)控視頻數(shù)據(jù)的實時顯示。

1 視頻監(jiān)控系統(tǒng)框圖設計

系統(tǒng)采用ARM Cortex—A8內(nèi)核的SP5V210芯片作為視頻采集端的中央處理器,該處理器運行穩(wěn)定時主頻可達1 GHz,具有MMU功能、64位內(nèi)部總線架構、可擴展的DRAM內(nèi)存接口、1 G的NAND Flash和DDR2、3通道I2C總線接口、4個USB接口、4路HS-MMC/SD/SDIO/接口等。同時其內(nèi)部集成MFC視頻編解碼器,支持多格式編解碼包含MPEG-4/H.264編碼,且Cortex-A8處理器應用NEON信號處理擴展指令集提高了H.264和MP3等媒體編碼效率。工作流程為:首先OV3640攝像頭采集圖像信息并通過I2C總線與SP5V210處理器通信,處理器通過內(nèi)部集成的MFC多格式編碼器將圖像信息進行H.264編碼壓縮,視頻圖像再基于USB無線網(wǎng)卡構建的WLAN網(wǎng)絡和實時傳輸協(xié)議RTP發(fā)送給視頻監(jiān)控PC客戶端,由客戶端進行解碼和顯示。系統(tǒng)的軟件結構包含應用層程序、設備驅動程序和嵌入式Linux操作系統(tǒng)。系統(tǒng)工作時會先執(zhí)行Bootloader引導加載程序進行硬件設備初始化并引導加載Linux 2.6.35內(nèi)核,再加載設備驅動程序(包括攝像頭驅動、WiFi驅動、Nand Flash驅動等),最后為用戶區(qū)應用層程序的執(zhí)行,其中包含視頻采集模塊、H.264編解碼模塊、WiFi無線傳輸模塊和RTP實時傳輸協(xié)議模塊。系統(tǒng)整體框圖如圖1所示。

2 視頻采集端和無線傳輸設計

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

在視頻采集端,原始視頻數(shù)據(jù)的采集是通過OV3640圖像傳感器模塊完成,該攝像頭支持300萬像素并支持輸出YUV420圖像數(shù)據(jù),SP5V210處理器通過I2C總線訪問與修改OV3640內(nèi)部寄存器來控制攝像頭功能。

在Linux操作系統(tǒng)中,通過應用Video4Linux(V4L)來實現(xiàn)視頻采集設備的各種功能。在Linux內(nèi)核中定義了視頻設備的統(tǒng)一接口V4L,由統(tǒng)一的API接口庫函數(shù)控制視頻設備各種功能。其中,V4L2是V4L的升級版,具有更好的兼容性和擴展性。V4L2采集視頻信息的流程為:通過ope nVideo()函數(shù)先打開視頻采集設備文件;初始化設備信息包括獲得視頻設備支持的功能屬性和設置其采集視頻格式;向內(nèi)核申請幀緩存內(nèi)存空間,并將其映射到用戶空間,開始發(fā)送采集信號;讀取視頻緩存幀數(shù)據(jù),可以根據(jù)需求進行數(shù)據(jù)的處理;發(fā)送采集停止信號,釋放內(nèi)存映射,關閉視頻設備。數(shù)據(jù)采集流程如圖2所示。

2.2 H.264編碼壓縮

視頻圖像畫面用4:2:0格式存儲,每幀的數(shù)據(jù)大小為1.2 Mb,對于25~30 fps的實時硬件編碼,其碼流將達到了30~36 Mbps,無線網(wǎng)絡帶寬和存儲空間難以承受,需采用H.264壓縮編碼技術將大數(shù)據(jù)量的視頻數(shù)據(jù)進行壓縮。SP5V210內(nèi)部集成了多格式的視頻編解碼器(MFC),支持H.264的硬件編解碼且速度最高可達到30 fps,可以很好地滿足系統(tǒng)對視頻數(shù)據(jù)壓縮和處理速度的要求。采用MFC硬件編解碼模塊完成視頻數(shù)據(jù)編解碼的程序時,既可以調用MFC編解碼中的API庫函數(shù),又可以采用MFC中的I/O接口函數(shù),MFC編解碼中的底層驅動接口封裝實際上就是API庫函數(shù)。SP5V210的MFC編解碼軟件架構如圖3所示。

通過硬件編解碼模塊MFC的API接口函數(shù)實現(xiàn)H.264視頻編碼壓縮,具體的流程為:

①建立H.264編碼器實例,設置MFC編碼器的參數(shù)并對其進行初始化設置。

②獲取編碼器的輸入緩沖區(qū)地址,讀取視頻數(shù)據(jù),發(fā)送到編碼器的輸入緩沖空間。

③進行H.264壓縮編碼,獲取編碼后的輸出緩沖區(qū),并對編碼數(shù)據(jù)進行相應處理。

④判斷編碼是否結束,結束則釋放編碼器的資源,編碼器關閉,否則進入第2步循環(huán)運行。

2.3 視頻數(shù)據(jù)無線傳輸

系統(tǒng)的傳輸網(wǎng)絡是通過USB無線網(wǎng)卡構建無線局域網(wǎng)的方式完成,利用無線的信道來傳輸編碼后的視頻數(shù)據(jù),WiFi(Wireless Fidelity)通信網(wǎng)絡標準分別支持IEEE802.11g、IEEE 802.11b和IEEE 802.11a協(xié)議,具有傳輸速率高(11~54 MDps)、安裝便捷和受環(huán)境限制小等優(yōu)點。

USB無線網(wǎng)卡通過USB接口與SP5V210通信,需要完成USB設備、無線網(wǎng)卡設備的驅動和移植,無線網(wǎng)卡設備驅動為應用層提供協(xié)議棧接口,在下層通過USB總線訪問無線網(wǎng)卡設備寄存器。無線網(wǎng)卡在Linux操作系統(tǒng)上的移植,先要下載對應驅動工具包并將其復制到根目錄下完成驅動,通過串口工具輸入Scan-wifi進行搜索無線網(wǎng)絡信號,再通過start-wifi命令打開無線網(wǎng)絡并建立連接。

無線網(wǎng)絡傳輸視頻數(shù)據(jù)時,必須要遵循約定的網(wǎng)絡傳輸協(xié)議。一般常用的網(wǎng)絡傳輸協(xié)議有RTP/RTCP、TCP/IP和UDP,本系統(tǒng)中視頻數(shù)據(jù)的傳輸是基于RTP/RTCP實時傳輸協(xié)議的,RTP/RTCP協(xié)議實現(xiàn)的開源庫有JRTPLIB、LIBRTP、ORTP等,本文采用基于C++的開源庫JRTPLIB,支持Linux和Windows操作系統(tǒng)平臺,且操作便捷,封裝性好。為了實現(xiàn)基于RTP/RTCP實時傳輸協(xié)議的視頻數(shù)據(jù)傳輸,先要完成JRTPLIB的交叉編譯和到Linux系統(tǒng)平臺移植等工作。

采用JRTPLIB開源庫中的接口函數(shù)完成無線視頻數(shù)據(jù)傳輸?shù)木唧w流程如下:

①初始化并生成RTP會話。采用JRTPLIB開源庫傳輸視頻數(shù)據(jù)前,要先創(chuàng)建一個RTPSession實例用來代表RPT會話,并利用RTPSession Par ams對象設置時間戳的單位,再調用RTPSession實例中的成員函數(shù)Create()生成RPT會話并同時初始化。

②設置接收端目標地址。在生成RTP會話后傳輸視頻數(shù)據(jù)前,首先調用RTPSession實例中的成員函數(shù)AddDestination()來設置數(shù)據(jù)發(fā)送時的目標地址(接收端地址)。在RTP協(xié)議中可以根據(jù)需要設置指定多個目標地址于同一會話中,其中函數(shù)SetDefaultPayloadType(96)用于設定RPT負載H.264編碼數(shù)據(jù);voidClearDestinations()用于清除所有的地址;函數(shù)DeleteDestination()為刪除指定地址。

③發(fā)送視頻數(shù)據(jù)到目標地址。設置好數(shù)據(jù)發(fā)送目標地址之后,使用RTPSession實例中成員函數(shù)SendPacket(),將編碼好的H.264數(shù)據(jù)包發(fā)送到一個或多個目標地址。由于每一幀視頻的數(shù)據(jù)量較大,RTP數(shù)據(jù)包以分片傳輸方式傳輸以保證視頻數(shù)據(jù)的可靠性。SendPacket()函數(shù)中,mark為1代表該RTP包為完整包,為0代表分割包。

④RTP會話結束。調用BYEDestroy()函數(shù)結束此次RTP會話。

3 視頻監(jiān)控PC客戶端設計

接收端將分片數(shù)據(jù)包重新組裝成為幀,得到H.264格式的壓縮編碼視頻,交付給視頻監(jiān)控PC客戶端處理,這里視頻監(jiān)控PC客戶端的主要功能為視頻數(shù)據(jù)的重新解壓、播放顯示和處理等。系統(tǒng)采用FFMPEG方案和SDL技術來實現(xiàn)監(jiān)控視頻數(shù)據(jù)的解壓和顯示。

3.1 視頻數(shù)據(jù)解壓

FFMPEG是一套開源的音頻流和視頻流方案,支持音視頻編解碼等功能,為免費軟件。FFMPEG方案的開發(fā)與使用是在Linux系統(tǒng)平臺下的,但隨著發(fā)展現(xiàn)已支持Windows等多種操作系統(tǒng)。FFMPEG方案支持H.264、MPEG4、3GP等多種常見格式的視頻編解碼,功能全面且性能強大。系統(tǒng)采用FFMPEG方案主要完成客戶端對已編碼視頻數(shù)據(jù)的接收和視頻解碼工作。

在Windows下安裝好FFMPEG開源庫開發(fā)環(huán)境,再進行視頻數(shù)據(jù)的解碼工作,其中FFMPEG庫中的主要功能函數(shù)和數(shù)據(jù)結構有:

①AVCodecContext()結構體,用于編碼器參數(shù)信息描述,如視頻的采樣率、視頻的寬和高等信息;

②AVPacket()結構體,緩沖解碼前視頻數(shù)據(jù);

③AVFrame()結構體,存儲視頻數(shù)據(jù)解碼后的數(shù)據(jù)幀;

④av_resister_all()功能函數(shù),用來注冊全部解碼器;

⑤avcodec_find_decoder(),搜索解碼器,如H.264格式解碼器;

⑥avcodec_decode_video(),解碼接收到的視頻幀;

⑦avcodec_alloc_frame(),新建AVFrame結構體。

3.2 視頻播放顯示

SDL是一個跨平臺的多媒體開源開發(fā)庫,支持多媒體播放器、游戲開發(fā)等,可以運行在多種操作系統(tǒng)上(如Windows、Linux等),兼容性良好。SDL開源庫包含音頻、視頻和視窗管理等多個子系統(tǒng)。本文采用SDL開源庫中的視頻子系統(tǒng),其主要功能是將FFMPEG解碼后的視頻數(shù)據(jù)進行顯示與播放。

SDL開源庫將解碼后的視頻數(shù)據(jù)轉化成對應的YUV格式,在屏幕上顯示其各個分量,完成視頻的輸出。SDL開源庫中的主要的數(shù)據(jù)結構體和功能函數(shù)為:SDL_Overlay()結構體,為YUV格式圖像信息的覆蓋結構;SDL_Surface()結構體,為SDL中圖像信息顯示的基本區(qū)域;SDL_Init()功能函數(shù),作用是初始化SDL中圖像特性;SDL_CreateYUVOverlay()功能函數(shù),創(chuàng)建SDL_Overlay()結構,設置尺寸參數(shù)等;SDL_Display YUVOverlay()函數(shù),用來播放監(jiān)控視頻圖像,即SDL_Overlay()結構體中存儲的圖像信息。

通過FFMPEG和SDL技術中的主要結構體以及功能函數(shù)完成接收端的視頻解碼和播放任務,主要的工作流程如圖4所示。

結語

本文設計了一種基于Cortex-A8的無線視頻監(jiān)控系統(tǒng),采用高性能的ARM Cortex—A8芯片SP5V210、300萬像素的COMS攝像頭、USB無線網(wǎng)卡以及PC機完成了系統(tǒng)的硬件搭建,利用低碼流和容錯能力強的H.264壓縮編碼技術進行視頻數(shù)據(jù)編碼,滿足了無線傳輸要求,且基于RTP /RTCP網(wǎng)絡傳輸協(xié)議提高了視頻傳輸?shù)膶崟r性。在視頻監(jiān)控PC客戶端應用開源的FFMPEG和SDL技術實現(xiàn)了監(jiān)控視頻圖像的解碼和播放。

本系統(tǒng)具有良好的擴展性,根據(jù)需求可擴展為多路無線視頻監(jiān)控,用于人體識別、智能報警等。該系統(tǒng)可以高效穩(wěn)定運行,布防便捷,攜帶方便,靈活行強,成本低,提高了視頻監(jiān)控系統(tǒng)的實時性,在緊急救援和民工業(yè)安防系統(tǒng)上具有良好的應用前景。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

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

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

關鍵字: 華為 12nm 手機 衛(wèi)星通信

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

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

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

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

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

關鍵字: BSP 信息技術
關閉
關閉