H264的標(biāo)準(zhǔn)發(fā)布了六七年,似乎現(xiàn)在的這種技術(shù)都是不長(zhǎng)久的,六七年給人的感覺(jué)就很漫長(zhǎng)似的。
現(xiàn)有的應(yīng)用中,似乎JM的純粹作技術(shù)研究用,我不是搞技術(shù)研究的,所以不用會(huì),也不學(xué)它了。
還找到T264,不過(guò)更新在2005年就沒(méi)進(jìn)行,現(xiàn)在也只是掛在sourceforge上,據(jù)說(shuō)是華人程序員寫(xiě)的,就是沒(méi)有堅(jiān)持下來(lái)。
而常用的據(jù)說(shuō)是x264,x264在sourceforge上只有一個(gè)encodec,作者是看到ffmpeg中有decodec,所以就沒(méi)寫(xiě)decodec.
在svn co 了ffmpeg的源碼看,看看是挺嚇人的,幾十種音視頻的編或解碼器在其中。如果要從頭把其中某個(gè)部分從其中提出來(lái)是很辛苦的。我們?cè)囋嚢?br>
首先用VS2008建一個(gè)win32的static lib 的新項(xiàng)目。
在按以下步驟進(jìn)行一些操作:
1. 首先把a(bǔ)llcodecs.c,avcodec.h這二個(gè)文件加到新項(xiàng)目中,任何對(duì)ffmpeg進(jìn)行的庫(kù)的部分都離不開(kāi)它們的。
2. 將以下的文件都加到項(xiàng)目中
 
3.需要注意的是在這其中,一般的win32工具中沒(méi)有inttypes.h,主要是定義一些數(shù)據(jù)類(lèi)型的長(zhǎng)度。
如
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
# ifdef CONFIG_WIN32
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
# else /* other OS */
4. 再試試吧,如果有不能編譯過(guò)去的的話(huà),可能需要注意還有幾個(gè)系統(tǒng)的頭文件如:stdint.h,utime.h等幾個(gè)一般的win32開(kāi)發(fā)工具沒(méi)有的頭文件。
5. 現(xiàn)在應(yīng)沒(méi)什么太大問(wèn)題,如果有也是一些小問(wèn)題了。
6. 編譯出現(xiàn) h264.lib就可以使用了。
(李浩) |