新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DM368的視頻捕獲與編解碼系統(tǒng)設(shè)計

基于DM368的視頻捕獲與編解碼系統(tǒng)設(shè)計

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

計的結(jié)構(gòu)圖如圖5所示。

e.jpg

在本次編解碼軟件設(shè)計中,自帶了和H.264編解碼算法。在安裝好的開發(fā)環(huán)境中,進(jìn)入算法庫文件夾,查找壓縮算法與解壓算法。圖中顯示的庫文件提供的是可以直接被APP端使用的,下一步就是編寫相應(yīng)的應(yīng)用程序。

f.jpg

設(shè)計視頻處理應(yīng)用程序,主要需要編寫Capture、encodedecode和display3個部分的代碼。在Capture中主要使用前綴為 “Capture_”的函數(shù),這些函數(shù)直接使用了V4L2的相應(yīng)函數(shù)接口,從而幫助軟件從底層獲取與視頻處理相關(guān)的數(shù)據(jù)。其主要執(zhí)行流程如圖所示。

g.jpg

在視頻編解碼軟件部分中,主要使用了自帶的視頻編解碼算法,在編程之前需要首先配置encodedecode.cfg文件。配置參數(shù)如下:

h.jpg

配置完成后,在應(yīng)用程序中便可以創(chuàng)建編碼算法句柄調(diào)用算法庫。編碼與解碼都需要首先打開engine,然后創(chuàng)建算法句柄,接著操作算法控制函數(shù)與算法處理函數(shù)。最后執(zhí)行完畢刪除編碼算法句柄,并關(guān)閉engine。以編碼為例,流程圖如圖所示。

i.jpg

在Linux下實(shí)現(xiàn)視頻輸出程序display,是通過操作framebuffer實(shí)現(xiàn)的。該幀緩存提供了個多種操作方法。開發(fā)者想要在顯示屏中顯示視頻其實(shí)就是將解壓后的視頻數(shù)據(jù)寫入framebuffer中來完成的。至此視頻處理應(yīng)用程序編寫完畢。

4 系統(tǒng)測試

在Linux開發(fā)環(huán)境中打開終端,更改路徑進(jìn)入源代碼文件夾:cd/dvsdk_2_10_01_18/drsdk_demos_2_10_00_17/dm365/encodedecode。輸入 make,Makefile文件會自動編譯整個工程。將編譯好的整個文件夾復(fù)制到nfs共享路徑下。使用串口與網(wǎng)線,將電路板與開發(fā)主機(jī)相連。最后連接顯示器與模擬視頻輸出端口。上電之后更改當(dāng)前路徑到測試目錄,首先加載該視頻測試程序所需的驅(qū)動模塊:./loadmodules_sd.sh。加載完成后打開運(yùn)行測試程序./video可以看到編解碼視頻的輸出情況,移動攝像頭可以看到視頻有明顯延時。顯示情況如圖所示。

j.jpg

5 結(jié)論

經(jīng)實(shí)驗(yàn)表明,該系統(tǒng)可以對攝像頭采集到的模擬視頻信號進(jìn)行采樣量化,并實(shí)現(xiàn)對原始視頻數(shù)據(jù)編解碼的功能,最終將視頻數(shù)據(jù)穩(wěn)定輸出到顯示屏上。本次設(shè)計達(dá)到了預(yù)期的目標(biāo)。芯片功能比較全面,硬件設(shè)計相對更簡便,又擁有豐富的軟件資源和算法庫支持,可以大大縮減相關(guān)視頻處理項目的開發(fā)周期,并同時在很大程度上增強(qiáng)系統(tǒng)可靠性。該設(shè)計除此之外該系統(tǒng)還支持H.264編解碼,可以通過網(wǎng)絡(luò)接口和Linux運(yùn)行平臺進(jìn)行網(wǎng)絡(luò)傳輸。整個平臺功能豐富可擴(kuò)展性高,為其他視頻處理設(shè)計提供了參考。


上一頁 1 2 下一頁

關(guān)鍵詞: DM368 MPEG4 視頻 TI達(dá)芬奇

評論


相關(guān)推薦

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

關(guān)閉