新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于IP網絡的實時視頻采集系統(tǒng)

基于IP網絡的實時視頻采集系統(tǒng)

作者: 時間:2011-08-25 來源:網絡 收藏
2.1.2 圖形界面的編譯與安裝

本文引用地址:http://m.butianyuan.cn/article/150298.htm

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

 ?、倬幾gQt/X11,Qt/X11是運行在IBM兼容PC中標準Linux這上的,這主要為Qt/Embedded及其應用程序提供圖形編譯環(huán)境及仿真運行環(huán)境;

 ?、诰幾gQt/Embedded,Qt/Embedded為在嵌入式Linux平臺上運行的圖形界面及應用程序提供一系列的函數庫;

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

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

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

  2.2 嵌入式Linux模塊的設計

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

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

 ?、谑褂肰ideo4Linux模塊提供的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 視頻圖像壓縮模塊的設計

  由視頻采集模塊獲取的視頻圖像需要在以太網上傳輸,為了提高傳輸效率從而提高視頻圖像質量,則需要將原始的視頻圖像進行壓縮編碼。本系統(tǒng)采用先進的MPEG-4標準對視頻圖像進行壓縮編碼,在幾種開放源代碼的MPEG-4編碼軟件中,選擇xvidcore作為本系統(tǒng)中視頻圖像壓縮模塊中的核心算法。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;

 ?、谠O置環(huán)境變量:export xvidcore=the path of xvidcore;cd $xvidcore/build/generic;

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

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

 ?、輰⒔徊婢幾g生成的庫文件libxvidcore.so.*拷貝到交叉編譯器工作目錄的lib子目錄中,該庫文件為系統(tǒng)的其它模塊提供了編程接口。



評論


相關推薦

技術專區(qū)

關閉