mini2440視頻採集與顯示方案簡介

mini2440視頻採集與顯示方案簡介


簡單來說就是採集、編碼、傳輸、解碼、顯示3個部分

採集:
1.先找個USB的攝像頭吧,連在開發板上點那個“USB攝像頭”應用程序,如果可以正常顯示視頻圖像,那這USB攝像頭就OK了  2.採集圖像需要用到一個叫做V4L2的程序(就是V4L的升級版,但是已經進行了很大的改變,所以兩者的程序不能混用),好消息           是mini自帶的那個linux系統已經包含了V4L2庫文件,所以就不用再做移植和編譯了。  3.到網上下載V4L2的應用手冊,是個PDF的文檔,看它提供的那個例程,看懂那個例程後就可以按照自己的需要進行改寫了。 4.在那個例程中有個process_image的子程序,我們要做的主要工作就是自己完成這個子程序的改寫。
編碼:
1.編碼(也就是所謂的壓縮)的技術有很多,對應的庫文件也很多,可以用xvid,x264等,自己選擇吧 2.從網上下載xvid的源程序,然後移植編譯,使其可以在ARM上使用。 3.xvid自帶了例程,仍然是看懂這個例程,然後按照自己的需要修改例程,最後把這部分代碼添加到V4L2那個例程的process_image        子程序中,兩者結合就可以對採集到的視頻數據進行編碼了。
傳輸:        
1.傳輸(發送和接收)的技術也有若干種,可以用TCP或者UDP的socket編程,也可以用RTP         2.如果用socket編程,那直接寫代碼就OK了,如果用RTP,需要下載相應的庫文件代碼,然後移植編譯,使其可以在ARM上使用。         3.發送的程序也添加到process_image子程序中,將編碼後的數據發送出去就OK了         4.接收的程序是運行在PC上的,所以就要用到windows的socket編程;如果用RTP,同樣要編譯生成庫文件才能用,我用的是VC6.0來編譯的
解碼:        
1.如同編碼,用VC6.0編譯xvid的源代碼,生成庫文件         2.看懂那個解碼的例程,然後改寫,沒什麼好說的,自己努力吧^_^!
顯示:        
1.顯示的技術也有很多,什麼direct show,SDL之類的,看情況自己選一個吧         2.我用的是SDL,同樣先下載它的源代碼,然後用VC6.0編譯生成庫文件以待編程使用         3.下載個SDL的顯示例程,自己看,看懂後自己修改 
其它: 
1.需要注意一點,SDL中顯示的格式和V4L2中採集的格式要一致才行           2.那個process_image程序如下圖:      

           
 它正常運行就是在終端上不斷的顯示“...................”一行一行的點而已,我們就是要修改這個函數         3.上面的一些過程實際上還有很多其它的技術可以實現(比如顯示的部分),自己看情況選擇吧.


發佈了14 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章