windows 下FFMPEG的編譯方法 附2012-9-19發布的FFMPEG編譯好的SDK下載
經過一晚上加一上午的奮斗,終于成功編譯出了最新版的FFMPEG,下面是我編譯的心得,因為是最新的,應該會對大家有用,編譯的FFMPEG的版本是0。11。2,2012-09-19新發布的版本
平臺:WINDOWS XP,MinGW+MSYS
一、下載FFMPEG
大家可以到FFMPEG官網上去下載最新版:http://ffmpeg.org/download.html現在的最新版就是我編譯的版本;
其實我更喜歡下面這個地址,直接列出來所有的供下載的版本:http://ffmpeg.org/releases/
二、下載MinGW
1、下載
地址是:http://sourceforge.net/projects/mingwbundle/files/,在這個頁面上點擊Download下載那個zip文件。下載完成后,直接安裝,我使用的是默認路徑。(這個文件比較大,是MinGW+MSYS的合并安裝包,下載并安裝后,把C:\msys\1.0\bin文件夾復制出來,備份保存);
默認路徑為:C:\minGW和C:\msys\1.0
2、配置環境變量
右擊“我的電腦”-》屬性-》高級-》環境變量
按如圖操作,在PATH的編輯框最后加上C:\MinGW\bin
注意用“;”與前面的隔開
三、下載MSYS
地址:http://download.csdn.net/detail/harvic880925/4602268
下載后,還是默認安裝,安裝前不用卸載前面第一步中安裝的版本,也就是把第一步的版本給覆蓋掉;
在安裝結束的時候會提出DOS提示窗口:
最后一句為:
Do you wish to continue with the post install? [yn ]
輸入n,結束安裝。
四、將在第一步中提取出來的bin文件夾內容,復制到C:\msys\1.0\bin文件夾下覆蓋現在的文件;
五、在http://yasm.tortall.net/Download.html上下載yasm的exe文件(需要根據自己的操作系統選擇是Win32.exe還Win64.exe),下載完后重命名為yasm.exe,放到MinGW安裝目錄的bin目錄下。
如果沒有這一步操作,在后面編譯ffmpeg的過程中,可能會提示找不到yasm命令。ffmpeg里面的匯編加速部分的代碼需要用到它,如果禁用匯編加速,會影響編譯出來的編解碼庫的運行效率
六、編譯
1、依下面步驟打開“msys.exe”
開始-》所有程序-》MinGW-》MSys-》msys
2、打開“VS 2008命令提示”
開始-》所有程序-》Microsoft Viusal studio 2008-》Viusal studio Tools-》Visual Studio 2008命令提示
輸入:c:\msys\1.0\msys.bat,如下圖
不用管前面是什么,直接輸入,然后回車,之后就跳轉到下面這個界面:
輸入:lib 回車
然后就得到下面的界面:
在編譯FFMPEG之前,有一個事我想提一下,如果想要支持X264編碼的話,要先安裝X264,對于如何安裝X264,在下文中有,這里就假設已經安裝了X264
之后編譯FFMPEG的操作了,比如我下載的FFMPEG名為:ffmpeg-0.11.2,解壓到D盤下;
在上面的命令提示行下,輸入下面代碼:(括號內為說明內容)
[cpp] view plaincopy
- cd d:
- cd ffmpeg-0.11.2 (即轉到ffmpeg-0.11.2文件夾下)
- ./configure --enable-memalign-hack --enable-memalign-hack
等執行完成后,回到命令行,輸入
[cpp] view plaincopy
- make distclean (清理中間文件)
- $./configure --enable-memalign-hack --enable-ffserver --enable-network --enable-protocols --enable-muxers --disable-yasm --enable-shared --enable-w32threads --enable-libx264 --enable-gpl --extra-cflags=-I/c:/x264/include --extra-ldflags=-L/c:x264/lib
- make
- make install
對于以上命令,可以用./configure –-help打開幫助,里面有解釋
完成后,所有的頭文件、庫文件都保存在C:\msys\1.0\local文件夾里;
--extra-cflags=-I/c:/x264/include --extra-ldflags=-L/c:x264/lib 這兩句命令是將X264的頭文件和庫文件包含在運行程序中,不過我在運行此程序之前將.lib文件考到了lib文件夾下了,不知道如果不考的話會不會有影響。
這里參考文章是:http://blog.sina.com.cn/s/blog_54b5ea250100r53o.html
下面是我編譯完成的local文件夾里的全部內容,供大家分享,有興趣的可以去下載;
地址:
特別鳴謝:http://ffmpeg.arrozcru.org/wiki/index.php?title=Shared_LIB
MinGW+MSYS編譯X264
一、下載最新的X264
1、地址:http://www.videolan.org/developers/x264.html,點擊左邊那個大大的按鈕“DownLoad X264”,下載時不要用搜狗自動的下載,因為我用搜狗下的總是壞的包,最好在按鈕上右擊用迅雷下載,大小有500多K;
2、因為是.tar.bz2結尾的壓縮包,常用的WINRAR不能解壓,下載7-zip,來解壓,解壓到msys的home文件夾下
位置如圖:
二、編譯X264
1、重復上面的第六步中的“1-3”小步
2、切到X264工作目錄,然后中編譯,總體輸入以下代碼:
cd c:
cd msys
cd 1.0
cd home
cd x264
./configure--enable-win32thread --enable-shared --disable-asm
make
make install
到此,在msys的local文件夾下會生成所需的頭文件和DLL,但沒有.lib文件,下面我們就用dll來提取lib文件;
三、提取lib
1、下載工具:poxports,地址:http://download.csdn.net/detail/harvic880925/4603881
將其中的pexports.exe放到VS2008的VC\bin目錄下,我的是D:\Program Files\Microsoft VisualStudio 9.0\VC\bin,
2、將msys的local文件夾下生成的DLL文件同樣復制到D:\ProgramFiles\Microsoft Visual Studio 9.0\VC\bin目錄下,比如我生成的DLL名為:libx264-128.dll
3、依次點擊開始-》所有程序-》MicrosoftVisual Studio 2008-》Visual Studio Tools-》Visual Studio 2008命令提示
就此打開了VS2008命令提示界面
輸入: (括號內為說明內容)
cd bin (切換到bin目錄下)
pexports libx264-128.dll > libx264-128.def
lib /machine:ix86 /def:libx264-128.def
(以上內容為避免錯誤可以直接復制、粘貼到命令行)
到這應該就會在D:\ProgramFiles\Microsoft Visual Studio 9.0\VC\bin下生成libx264-128.lib文件了,如果沒有可以重新執行下第3步,我第一次出現了個warning就沒有成功,第二次才成功的。
我將我生成的文件上傳我資源中,不收分,想要的可以去下載:
FFMPEG(2012-9-19):http://download.csdn.net/detail/harvic880925/4604774
X264 地址:http://download.csdn.net/detail/harvic880925/4603907
[cpp] view plaincopy RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成