《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于IP網絡的實時視頻采集系統
基于IP網絡的實時視頻采集系統
張 洋,王 健
摘要: 隨著網絡和多媒體技術的廣泛應用,數字網絡視頻得到了飛速發展。尤其在監控領域,將傳統的模擬視頻監控信號轉換為數字視頻信號,并且利用現有IP網絡設計一個不受距離限制的廉價通用網絡視頻監控設備成為了新的熱點。本文根據這方面的應用需求提出一種設計方案。本方案的實現平臺是基于Intel PXA255的嵌入式硬件平臺以及基于嵌入式Linux的軟件平臺,采用先進的MPEG-4編碼標準。最終實現一個具有實時視頻采集壓縮及傳輸功能的可以直接接入以太網的網絡攝像機。
Abstract:
Key words :

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

    關鍵詞:PXA255 Linux MPEG-4 網絡攝像機 流媒體技術

  1 系統概述

  本方案設計的是基于IP網絡的實時視頻采集、處理及傳輸系統。整個系統在嵌入式軟硬件構架上實現,無需其它設備協助就能獨立完成通用目的視頻應用,比如視頻監控和網絡視頻會議。
 

  1.1 硬件系統概述

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

  

 

  1.2 軟件系統概述

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

  

 

  2 系統設計

  系統的設計目標是設計一個工作在Sitsang/Intel PXA255和嵌和試Linux平臺上,內置視頻Web服務器,采用MPEG-4編碼標準,支持相關網絡傳輸協議的網絡攝像要。系統的設計可以被分為以下幾個大部分:

  *嵌入式Linux內核的移植和編譯,文件系統和圖形界面系統的安裝;

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

  *視頻圖像壓縮模塊的設計;

  *基于嵌入式Linux的網絡視頻流服務模塊的設計。

  2.1 Linux內核、圖形界面系統及文件系統的安裝

  2.1.1 嵌入式Linux內核的定制

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

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

  ②在使用make menuconfig定制內核時,注意要讓內核支持USB接口的攝像頭,具體步驟為:在制定菜單中選擇Multimedia devices→Video for Linux,這使得內核被配置了Video4Linux,為視頻采集設備提供了編程接口;在菜單中選擇USB Support→USB Multimedia devices→USB OV511 Camera Support,這使得在內核中加入了對4采用OV511接口芯片的USB數字攝像頭的驅動支持。2.1.2 圖形界面系統的編譯與安裝

 

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

  ①編譯Qt/X11,Qt/X11是運行在IBM兼容PC中標準Linux這上的,這主要為Qt/Embedded及其應用程序提供圖形編譯環境及仿真運行環境;

  ②編譯Qt/Embedded,Qt/Embedded為在嵌入式Linux平臺上運行的圖形界面系統及應用程序提供一系列的函數庫;

  ③編譯Qtopia,通過使用Qt/X11提供的編譯工具以及Qt/Embedded提供的函數庫,編譯出最終基于嵌入式Linux平臺的圖形界面系統及該環境下的應用程序。

  2.1.3 文件系統的安裝

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

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

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

  ①加載USB及OV511設備驅動模塊,同時加載Video4Linux模塊。分別使用命令:modprobe usbcor、modprobe usb-uhci、modprobe vodeodev和modprobe ov511。加載后將生成視頻設備文件/dev/video0,為了和Video4Linux模塊相協調,使用ln-s/dev/video0/dev/video為Video4Linux模塊的默認視頻設備voideo與物理視頻設備video0建立連接。

  ②使用Video4Linux模塊提供的API進行視頻采集程序的設計。Video4Linux模塊的視頻采集接口設備為/dev/video,采集程序打開此接口設備并掃描 它以尋找自己所需要的數據。

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

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

  

 

  2.3 視頻圖像壓縮模塊的設計

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

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

  ①解壓縮xvidcore源代碼:tar-zxvf xvidcore-1.0.1.tar;

  ②設置環境變量:export xvidcore="the path of xvidcore";cd $xvidcore/build/generic;

  ③生成makefile:./configure-host=localhostbuild=arm-linux-gcc;

  ④編譯源代碼:make;make install;

  ⑤將交叉編譯生成的庫文件libxvidcore.so.*拷貝到交叉編譯器工作目錄的lib子目錄中,該庫文件為系統的其它模塊提供了編程接口。2.4 基于嵌入式Linux的網絡視頻流服務模塊設計

 

  2.4.1 Linux中流數據的操作

  在本設計中,數據在整個系統中是以流數據的形式存在的,Linux內核為流數據提供了一個標準的編程接口,這種接口為數據從外部設備經內核到達用戶進程提供了一個全雙工通道。在這個通道中,數據的處理模塊是作為可選的中間件由用戶動態加載的,上面設計的視頻壓縮模塊就是這樣的一個中間件。

  

 

  2.4.2 ASF流式文件格式

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

  2.4.3 流視頻協議

  流視頻協議是為了在客戶機和視頻服務器之間進行通信而設計和標準化的。根據它們的功能,與網絡上流視頻相關的協議分為三類。

  *網絡層協議:網絡層協議提供了基本的網絡服務支持。IP就是網絡上流視頻使用的網絡協議。

  *傳輸協議:傳輸協議為流服務提供端對端的網絡傳輸功能。TCP、UDP、RTP和RTCP就是網絡上流視頻使用的傳輸協議。

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

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

  3 小結

  系統采用先進的MPEG-4編碼標準,得到了較高的壓縮比。經測試、在50Kbps~100Kbps的帶寬下,對CIF(352×288,30fps)格式的視頻有較好的表現能力。滿足了在目前寬帶環境中的網絡視頻會議以及視頻監控的要求,其應用十分廣泛。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品成人一区二区在线观看| 亚洲一区二区在线视频| 亚洲精品美女在线| 亚洲电影免费在线观看| 欧美77777| 亚洲精品一区二区三区樱花 | 午夜视频在线观看一区| 亚洲一区在线看| 国产日韩欧美精品一区| 日韩一级大片在线| 亚洲香蕉在线观看| 中文一区字幕| 极品av少妇一区二区| 欧美黑人一区二区三区| 亚洲小说欧美另类婷婷| 亚洲免费人成在线视频观看| 亚洲视频视频在线| 亚洲综合色噜噜狠狠| 亚洲专区免费| 欧美一区二区福利在线| 在线精品亚洲| 在线日韩av| 亚洲黄色一区| 国产偷国产偷亚洲高清97cao| 国产伦精品一区二区三区免费| 美女主播一区| 亚洲免费视频成人| 亚洲黑丝一区二区| 亚洲无玛一区| 先锋影音网一区二区| 久久成人精品无人区| 亚洲日本无吗高清不卡| 国产喷白浆一区二区三区| 国产欧美日韩高清| 黄色亚洲大片免费在线观看| 国产精品国产成人国产三级| 美国十次成人| 欧美精品久久久久久久| 欧美特黄a级高清免费大片a级| 久久青青草综合| 在线亚洲精品福利网址导航| 久久成人免费网| 亚洲日本一区二区| 亚洲免费在线播放| 久久久久天天天天| 性色一区二区| 久久综合精品国产一区二区三区| 午夜精品福利电影| 日韩一级大片在线| 亚洲免费一在线| 久久夜色精品国产| 欧美激情1区2区3区| 国产精品久久久久999| 黄色亚洲精品| 中文精品视频一区二区在线观看| 欧美亚洲视频| 99精品视频免费观看| 久久精品理论片| 亚洲综合色丁香婷婷六月图片| 久久福利一区| 亚洲视频一二三| 久久在线视频| 欧美性做爰毛片| 欧美日韩黄视频| 欧美国产日韩视频| 国产精品免费福利| 国产精品久久久久久久久久免费 | 一本色道久久综合狠狠躁篇怎么玩 | 91久久精品www人人做人人爽| 亚洲性视频h| 亚洲欧洲一区二区天堂久久| 久久精品亚洲乱码伦伦中文| 亚洲最新视频在线播放| 久久久xxx| 久久久久欧美精品| 欧美日韩精品一本二本三本| 国产亚洲精品综合一区91| 国产精品美女久久久久久2018 | 亚洲电影下载| 先锋影音国产一区| 亚洲视频一二三| 欧美激情五月| 国内一区二区三区在线视频| 国产偷国产偷亚洲高清97cao| 亚洲老司机av| 亚洲精品一区二区三区蜜桃久| 亚洲国产婷婷香蕉久久久久久| 亚洲天堂成人在线视频| 亚洲日韩第九十九页| 久久久精品国产一区二区三区| 国产精品久久国产精麻豆99网站| 亚洲国产福利在线| 亚洲激情影视| 欧美在线观看一区| 久久精品国产精品亚洲精品| 亚洲一区在线观看免费观看电影高清| 亚洲一区二区在线播放| 欧美电影资源| 欧美日韩国产色综合一二三四| 国产综合自拍| 亚洲欧美自拍偷拍| 亚洲国产成人av好男人在线观看| 亚洲激情成人在线| 欧美资源在线观看| 麻豆91精品91久久久的内涵| 国产欧美日韩在线观看| 亚洲午夜黄色| 亚洲视频网在线直播| 欧美激情亚洲综合一区| 在线看欧美视频| 亚洲国产成人av| 久久深夜福利免费观看| 国产一区再线| 欧美在线观看视频一区二区| 欧美一区二区福利在线| 久久久女女女女999久久| 国产精品影片在线观看| 亚洲一级黄色片| 亚洲欧美日本国产有色| 国产精品xvideos88| 亚洲最新在线视频| 亚洲欧美日韩中文播放| 亚洲国产女人aaa毛片在线| 久久久久久久一区| 韩日午夜在线资源一区二区| 久久精品导航| 美女久久一区| 亚洲风情亚aⅴ在线发布| 亚洲精品一区二区三区四区高清 | 亚洲国产成人久久综合| 亚洲区中文字幕| 欧美福利一区二区| 日韩图片一区| 亚洲一区国产一区| 国产精品视频最多的网站| 极品尤物av久久免费看| 亚洲国产91| 欧美理论电影在线播放| 国产精品一区二区三区免费观看| 亚洲午夜在线观看| 欧美在线关看| 黄色日韩网站| 9国产精品视频| 国产精品videosex极品| 香蕉成人伊视频在线观看| 久久男人av资源网站| 亚洲福利国产精品| 99riav久久精品riav| 国产精品99免视看9| 午夜精品久久久久久久99水蜜桃| 久久视频在线视频| 亚洲精品一区二区在线| 亚洲欧美中文另类| 激情综合在线| 中文一区字幕| 国产欧美一区二区三区沐欲| 亚洲国产一区在线| 欧美日韩在线播放一区| 在线观看日韩欧美| 亚洲一区二区三区四区中文| 欧美一区二区啪啪| 一区二区在线看| 在线视频亚洲欧美| 国产色综合久久| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美视频免费在线| 久久国产色av| 欧美日韩亚洲一区二区三区| 亚洲欧美视频在线观看| 美女在线一区二区| 亚洲一区二区三区777| 麻豆freexxxx性91精品| 亚洲视频香蕉人妖| 麻豆精品网站| 国产精品99久久久久久白浆小说| 久久久免费av| 亚洲视频观看| 欧美大成色www永久网站婷| 亚洲一二三四区| 欧美激情第9页| 欧美亚洲在线观看| 欧美日韩精品一区| 久久国产视频网| 国产精品麻豆va在线播放| 亚洲国产一区二区三区高清| 国产精品美女主播在线观看纯欲| 亚洲精品护士| 国产一区二区精品在线观看| 一本一道久久综合狠狠老精东影业| 国产亚洲欧美另类一区二区三区| 一本色道久久综合亚洲精品按摩| 国产在线观看一区| 亚洲免费中文| 亚洲欧洲日本在线| 久久亚洲春色中文字幕| 亚洲制服丝袜在线| 欧美性猛交一区二区三区精品| 亚洲欧洲偷拍精品| 韩国在线视频一区| 性18欧美另类|