<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于IP網(wǎng)絡(luò)的實時視頻采集系統(tǒng)

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

          作者: 時間:2011-08-25 來源:網(wǎng)絡(luò) 收藏
          2.1.2 圖形界面的編譯與安裝

          本文引用地址:http://www.ex-cimer.com/article/150298.htm

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

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

           ?、诰幾gQt/Embedded,Qt/Embedded為在嵌入式Linux平臺上運行的圖形界面及應(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的緩沖機制,這樣在隨時斷電的情況下夠保護用戶的資料。直接使用mkfs.jffs2生成Sitsang板上的jffs2文件系統(tǒng)。

            2.2 嵌入式Linux模塊的設(shè)計

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

            ①加載USB及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模塊的默認視頻設(shè)備voideo與物理視頻設(shè)備video0建立連接。

           ?、谑褂肰ideo4Linux模塊提供的API進行視頻程序的設(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ì)量,則需要將原始的視頻圖像進行壓縮編碼。本系統(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進行交叉編譯比較簡單,有以下主要步驟。

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

           ?、谠O(shè)置環(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)的其它模塊提供了編程接口。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();