當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于IP網(wǎng)絡(luò)的實時視頻采集系統(tǒng)

摘要:隨著網(wǎng)絡(luò)和多媒體技術(shù)的廣泛應(yīng)用,數(shù)字網(wǎng)絡(luò)視頻得到了飛速發(fā)展。尤其在監(jiān)控領(lǐng)域,將傳統(tǒng)的模擬視頻監(jiān)控信號轉(zhuǎn)換為數(shù)字視頻信號,并且利用現(xiàn)有IP網(wǎng)絡(luò)設(shè)計一個不受距離限制的廉價通用網(wǎng)絡(luò)視頻監(jiān)控設(shè)備成為了新的熱點。本文根據(jù)這方面的應(yīng)用需求提出一種設(shè)計方案。本方案的實現(xiàn)平臺是基于Intel PXA255的嵌入式硬件平臺以及基于嵌入式Linux的軟件平臺,采用先進(jìn)的MPEG-4編碼標(biāo)準(zhǔn)。最終實現(xiàn)一個具有實時視頻采集壓縮及傳輸功能的可以直接接入以太網(wǎng)的網(wǎng)絡(luò)攝像機(jī)。

    關(guān)鍵詞:PXA255 Linux MPEG-4 網(wǎng)絡(luò)攝像機(jī) 流媒體技術(shù)

  1 系統(tǒng)概述

  本方案設(shè)計的是基于IP網(wǎng)絡(luò)的實時視頻采集、處理及傳輸系統(tǒng)。整個系統(tǒng)在嵌入式軟硬件構(gòu)架上實現(xiàn),無需其它設(shè)備協(xié)助就能獨立完成通用目的視頻應(yīng)用,比如視頻監(jiān)控和網(wǎng)絡(luò)視頻會議。
 

  1.1 硬件系統(tǒng)概述

  整個系統(tǒng)除攝像頭部分外都是在Intel PXA255評估平臺Sitsang(簡稱Sitsang板)上面實現(xiàn)的。Sitsang板以PXA255為核心,配備了大量的硬件資源,其中通信接口中的以太網(wǎng)控制器和USB Host控制器在本系統(tǒng)中尤為重要。Sitsang板采用Standard Microsystems LAN91C96以太網(wǎng)控制器,它通過U52與網(wǎng)絡(luò)相連,支持IEEE802.3的10Mb/s模式。Sitsang板采用Philips ISP1161作為USB Host控制器,使用USB Host接口可以使Sitsang板與視頻采集攝像頭相連。以太網(wǎng)控制器和USB Host控制器通過數(shù)據(jù)總線收發(fā)器(74LVCH32245)以及地址、數(shù)據(jù)總線驅(qū)動器(74LVCH32244)與PXA255相接。整個硬件系統(tǒng)如圖1所示。

  

 

  1.2 軟件系統(tǒng)概述

  整個系統(tǒng)軟件是在嵌入式Linux基礎(chǔ)之上構(gòu)建的。Sitsang板使用的嵌入工Linux內(nèi)核是在linux-2.4.19內(nèi)核上打上patch-2.4.19-sitsang2這個補(bǔ)丁后編譯而成。Sitsang板使用的文件系統(tǒng)是針對Flash的無緩沖機(jī)制的jffs2文件系統(tǒng),文件系統(tǒng)中包含應(yīng)用程序、模塊、配置文件、圖形界面和庫等。Sitsang板使用的是基于Qt/Embedded的圖形界面系統(tǒng)。視頻信號的采集、壓縮和傳輸是建立在圖形界面和嵌入式Linux內(nèi)核之上的。整個軟件系統(tǒng)如圖2所示。

  

 

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

  系統(tǒng)的設(shè)計目標(biāo)是設(shè)計一個工作在Sitsang/Intel PXA255和嵌和試Linux平臺上,內(nèi)置視頻Web服務(wù)器,采用MPEG-4編碼標(biāo)準(zhǔn),支持相關(guān)網(wǎng)絡(luò)傳輸協(xié)議的網(wǎng)絡(luò)攝像要。系統(tǒng)的設(shè)計可以被分為以下幾個大部分:

  *嵌入式Linux內(nèi)核的移植和編譯,文件系統(tǒng)和圖形界面系統(tǒng)的安裝;

  *基于嵌入式Linux視頻采集模塊的設(shè)計;

  *視頻圖像壓縮模塊的設(shè)計;

  *基于嵌入式Linux的網(wǎng)絡(luò)視頻流服務(wù)模塊的設(shè)計。

  2.1 Linux內(nèi)核、圖形界面系統(tǒng)及文件系統(tǒng)的安裝

  2.1.1 嵌入式Linux內(nèi)核的定制

  工作在Sitsang板上的嵌入式Linux內(nèi)核的定制步驟與其它嵌入式平臺的開發(fā)步驟相似,具有一定的通用性,所以在這里將不再詳述,但是要注意兩點。

  ①在解壓縮Linux內(nèi)核源代碼后,假設(shè)源代碼是linux-2.4.19.sar.gz,需要為源代碼打上Sitsang板的支持補(bǔ)丁:%gzip-dc patch-2.4.19-sitsang2.gz|patch-p0。

 ?、谠谑褂胢ake menuconfig定制內(nèi)核時,注意要讓內(nèi)核支持USB接口的攝像頭,具體步驟為:在制定菜單中選擇Multimedia devices→Video for Linux,這使得內(nèi)核被配置了Video4Linux,為視頻采集設(shè)備提供了編程接口;在菜單中選擇USB Support→USB Multimedia devices→USB OV511 Camera Support,這使得在內(nèi)核中加入了對4采用OV511接口芯片的USB數(shù)字?jǐn)z像頭的驅(qū)動支持。[!--empirenews.page--]2.1.2 圖形界面系統(tǒng)的編譯與安裝

 

  Sitsang板使用的是基于Qt/Embedded的圖形界面系統(tǒng),Qt/Embedded的編譯主要分為三個步驟:

  ①編譯Qt/X11,Qt/X11是運行在IBM兼容PC中標(biāo)準(zhǔn)Linux這上的,這主要為Qt/Embedded及其應(yīng)用程序提供圖形編譯環(huán)境及仿真運行環(huán)境;

 ?、诰幾gQt/Embedded,Qt/Embedded為在嵌入式Linux平臺上運行的圖形界面系統(tǒng)及應(yīng)用程序提供一系列的函數(shù)庫;

 ?、劬幾gQtopia,通過使用Qt/X11提供的編譯工具以及Qt/Embedded提供的函數(shù)庫,編譯出最終基于嵌入式Linux平臺的圖形界面系統(tǒng)及該環(huán)境下的應(yīng)用程序。

  2.1.3 文件系統(tǒng)的安裝

  在嵌入式平臺上用作非易失存儲的設(shè)備一般是Flash,因而在嵌入式平臺上除了廣泛使用的ext2文件系統(tǒng)外,還經(jīng)常使用jffs2文件系統(tǒng)。作為日志型文件系統(tǒng),jffs2直接寫到非易失存儲器上,而不使用如ext2的緩沖機(jī)制,這樣在隨時斷電的情況下夠保護(hù)用戶的資料。直接使用mkfs.jffs2生成Sitsang板上的jffs2文件系統(tǒng)。

  2.2 基于嵌入式Linux視頻采集模塊的設(shè)計

  在嵌入式Linux的內(nèi)核定制和編譯階段,已經(jīng)加入了對Video4Linux模塊以及OV511設(shè)備的支持,所以運行在Linux下的視頻圖像采集程序,可以通過Video4Linux模塊提供的編譯接口(API)從OV511設(shè)備中獲取圖像幀。

 ?、偌虞dUSB及OV511設(shè)備驅(qū)動模塊,同時加載Video4Linux模塊。分別使用命令:modprobe usbcor、modprobe usb-uhci、modprobe vodeodev和modprobe ov511。加載后將生成視頻設(shè)備文件/dev/video0,為了和Video4Linux模塊相協(xié)調(diào),使用ln-s/dev/video0/dev/video為Video4Linux模塊的默認(rèn)視頻設(shè)備voideo與物理視頻設(shè)備video0建立連接。

 ?、谑褂肰ideo4Linux模塊提供的API進(jìn)行視頻采集程序的設(shè)計。Video4Linux模塊的視頻采集接口設(shè)備為/dev/video,采集程序打開此接口設(shè)備并掃描 它以尋找自己所需要的數(shù)據(jù)。

  這里將簡要介紹一下Video4Linux模塊提供的主要API函數(shù):VIDICGCAP函數(shù)以數(shù)據(jù)結(jié)構(gòu)video_capability返回視頻采集設(shè)備的性能參數(shù);VIDIOCSFBUF函數(shù)使用數(shù)據(jù)結(jié)構(gòu)video_buffer設(shè)備采集設(shè)備的幀緩存參數(shù),如果設(shè)備不支持幀緩存則此調(diào)用無效;VIDIOCGWIN函數(shù)使用數(shù)據(jù)結(jié)構(gòu)video_window來設(shè)備采集窗口參數(shù),使用參數(shù)1調(diào)用VIDIOCCAPTURE則開始視頻信號采集,使用參數(shù)0則結(jié)束采集;VDIOCGCHAN函數(shù)用來查詢不同的采集通道(包括音頻信道),使用數(shù)據(jù)結(jié)構(gòu)video_channel返回通道屬性;VIDIOCSPICT函數(shù)使用數(shù)據(jù)結(jié)構(gòu)video_picture來獲取和設(shè)置采集圖像幀的屬性,比較重要的是圖像幀的調(diào)色板參數(shù);read函數(shù)讀取采集通道中效的下一幀圖像,所讀取的圖像格式和尺寸由前面介紹的VIDIOCSPICT函數(shù)和VIDIOCGWIN函數(shù)決定,這些API函數(shù)以及數(shù)據(jù)結(jié)構(gòu)定義在頭文件 中。

  整個視頻采集模塊的工作流程見圖3。

  

 

  2.3 視頻圖像壓縮模塊的設(shè)計

  由視頻采集模塊獲取的視頻圖像需要在以太網(wǎng)上傳輸,為了提高傳輸效率從而提高視頻圖像質(zhì)量,則需要將原始的視頻圖像進(jìn)行壓縮編碼。本系統(tǒng)采用先進(jìn)的MPEG-4標(biāo)準(zhǔn)對視頻圖像進(jìn)行壓縮編碼,在幾種開放源代碼的MPEG-4編碼軟件中,選擇xvidcore作為本系統(tǒng)中視頻圖像壓縮模塊中的核心算法。xvid是一個高效的而且具有可移植性的編碼軟件,目前版本為xvidcore-1.0.1。xvid支持Simple Profile和Advanced Profile,支持I/PFrames、B-Frames、Interlacing和GMC,以鉆石和方塊模式來進(jìn)行PMVFast和EPZS運行估計,是目前比較流行的MPEG-4編碼軟件。

  對xvidcore-1.0.1進(jìn)行交叉編譯比較簡單,有以下主要步驟。

 ?、俳鈮嚎sxvidcore源代碼:tar-zxvf xvidcore-1.0.1.tar;

  ②設(shè)置環(huán)境變量:export xvidcore="the path of xvidcore";cd $xvidcore/build/generic;

 ?、凵蒻akefile:./configure-host=localhostbuild=arm-linux-gcc;

 ?、芫幾g源代碼:make;make install;

  ⑤將交叉編譯生成的庫文件libxvidcore.so.*拷貝到交叉編譯器工作目錄的lib子目錄中,該庫文件為系統(tǒng)的其它模塊提供了編程接口。[!--empirenews.page--]2.4 基于嵌入式Linux的網(wǎng)絡(luò)視頻流服務(wù)模塊設(shè)計

 

  2.4.1 Linux中流數(shù)據(jù)的操作

  在本設(shè)計中,數(shù)據(jù)在整個系統(tǒng)中是以流數(shù)據(jù)的形式存在的,Linux內(nèi)核為流數(shù)據(jù)提供了一個標(biāo)準(zhǔn)的編程接口,這種接口為數(shù)據(jù)從外部設(shè)備經(jīng)內(nèi)核到達(dá)用戶進(jìn)程提供了一個全雙工通道。在這個通道中,數(shù)據(jù)的處理模塊是作為可選的中間件由用戶動態(tài)加載的,上面設(shè)計的視頻壓縮模塊就是這樣的一個中間件。

  

 

  2.4.2 ASF流式文件格式

  本系統(tǒng)主要是用于實時視頻應(yīng)用,所以需要系統(tǒng)提供對流式文件格式的支持,這樣在接收方利用標(biāo)準(zhǔn)的流視頻播放軟件,如MMedia Player就可以觀看實時傳輸?shù)囊曨l.在本系統(tǒng)中采用了開放的ASF流格式.壓縮后的視頻數(shù)據(jù)在傳輸前需要對其進(jìn)行ASF編碼.ASF文件的基本組織單元為ASF對象,每個對象由三個域組成:對象標(biāo)識符域、對象大小域和對象數(shù)據(jù)域。ASF文件的高層邏輯結(jié)構(gòu)也包含三部分:頭對象、數(shù)據(jù)對象和索引對象。其中,頭對象包含了許多全局信息,數(shù)據(jù)對象則包含了所有待播放的數(shù)據(jù),頭對象必須在數(shù)據(jù)對象之間被接收方接收并解釋。

  2.4.3 流視頻協(xié)議

  流視頻協(xié)議是為了在客戶機(jī)和視頻服務(wù)器之間進(jìn)行通信而設(shè)計和標(biāo)準(zhǔn)化的。根據(jù)它們的功能,與網(wǎng)絡(luò)上流視頻相關(guān)的協(xié)議分為三類。

  *網(wǎng)絡(luò)層協(xié)議:網(wǎng)絡(luò)層協(xié)議提供了基本的網(wǎng)絡(luò)服務(wù)支持。IP就是網(wǎng)絡(luò)上流視頻使用的網(wǎng)絡(luò)協(xié)議。

  *傳輸協(xié)議:傳輸協(xié)議為流服務(wù)提供端對端的網(wǎng)絡(luò)傳輸功能。TCP、UDP、RTP和RTCP就是網(wǎng)絡(luò)上流視頻使用的傳輸協(xié)議。

  *話路控制協(xié)議:話路控制協(xié)議定義消息和程序。RTSP就是一種話路控制協(xié)議。

  為流視頻設(shè)計的協(xié)議棧如圖4所示。在發(fā)送方的數(shù)據(jù)面,壓縮且經(jīng)過ASF編碼的視頻數(shù)據(jù)被讀出并在RTP/RTCP/RTSP層上打包,以提供定時和同步信息以及包的序列號。然后把這些打包的RTP數(shù)據(jù)流發(fā)送到UDP/TCP層和IP層,得到的IP包在網(wǎng)絡(luò)上傳輸。在接收方則按照相反的方向處理。在控制面,RTCP包和RTSP包在UDP/TCP層上復(fù)用,并且被送到IP層,以便通過網(wǎng)絡(luò)傳輸。

  3 小結(jié)

  系統(tǒng)采用先進(jìn)的MPEG-4編碼標(biāo)準(zhǔn),得到了較高的壓縮比。經(jīng)測試、在50Kbps~100Kbps的帶寬下,對CIF(352×288,30fps)格式的視頻有較好的表現(xiàn)能力。滿足了在目前寬帶環(huán)境中的網(wǎng)絡(luò)視頻會議以及視頻監(jiān)控的要求,其應(yīng)用十分廣泛。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(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ā)耗時1.5...

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

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

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

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

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

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(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)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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