ffmpeg编译 MingW + MSYS
生活随笔
收集整理的這篇文章主要介紹了
ffmpeg编译 MingW + MSYS
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境要求:
??? ? ?? ? MinGW:5.1.4
??? ? ?? ? make: 3.81
??? ? ?? ? gcc: 4.3.2
??? ? ?? ? w32api: 3.13
??? ? ?? ? SDL: 1.2.1
??? ? ?? ? MinGW-Runtime:3.15
1.Minimal SYStem (MSYS) 安裝 下載MSYS-1.0.10.exe并安裝: 下載地址:http://download.csdn.net/source/2635337 安裝到c:/msys/1.0,臨近最后會出現個dos窗口,最后一句為: Do you wish to continue with the post install? [y/n ] 復制代碼
輸入n,結束安裝。
2. MSYS DTK(Developer Tool Kit) 安裝 下載msysDTK-1.0.1.exe并安裝: 下載地址:http://download.csdn.net/source/2635339 安裝到C:/msys/1.0,其他默認。
3.升級下MSYS 下載msysCORE-1.0.11-bin.tar.gz: 下載地址:http://download.csdn.net/source/2694777 解壓這個文件,將bin/mount.exe,msys-1.0.dll,ps.exe三個文件copy到c:/msys/1.0/bin下面覆蓋下。
4.升級下MSYS的BASH 下載bash-3.1-MSYS-1.0.11-snapshot.tar.bz2: 下載地址:http://download.csdn.net/source/2635711 解壓這個文件,將bin/bash.exe,sh.exe兩個文件copy到c:/msys/1.0/bin。
5. MinGW安裝 下載mingw-5.1.4.exe并安裝: 下載地址:http://download.csdn.net/source/2635735 安裝,選擇download andinstall,下兩步之后選擇Candidate,不要選Current。選擇MinGW base tools(autoselected), g++ compiler, MinGW make;安裝路徑為c:/msys/1.0/mingw。等待下載完了安裝吧。O(∩_∩)O……
5.2. 還原binutils-2.16.91 很多朋友需要用ffmpeg的dll來做開發。編譯的時候是用./configure--enable-memalign-hack --disable-static--enable-shared。但是最終編譯出來makeinstall或者將相關的dll拷貝得到ffmepg同級目錄后,執行ffmpeg或者ffplay報錯:應用程序正常初始化失敗。 經過google了許多資料,發現是binutils的版本問題。chinavideo論壇上面有的朋友說是mingw的版本問題,使用MinGW-3.1.0-1.exe會解決。Jeremiah經過試驗,發現不大行,從報錯的結果來看,MinGW-3.1.0-1.exe沒有自帶binutils。還是要自己安裝。而MinGW-5.1.4.exe的candidate選項會默認給我們安裝binutils-2.18.50-20080109-2.tar.gz。而這個binutils會最終導致應用程序正常初始化失敗的錯誤。 Jeremiah和網友deepocean測試了n個binutils的版本,最后發現binutils-2.16.91-20050827-1.tar.gz是最適合的。其他的,ms不行! 下載地址:http://download.csdn.net/source/2635739 解壓到c:/msys/1.0/mingw,覆蓋原來的。
6.配置fstab copy C:/msys/etc/fstab.sample 成fstab,確保以下對應: #Win32_Path? ?????? ?Mount_Point?
c:/msys/1.0/mingw????? ?/mingw 復制代碼
原始環境就搭建好了。可以啟動桌面上行的MSYS了。
7.升級make 下載make-3.81.90-msys.rar: 下載地址:http://download.csdn.net/source/2635746 解壓,復制make.exe到c:/msys/1.0/bin下,覆蓋原來的make。 MSYS中輸入make-v顯示的版本為3.81。
8.升級gcc 下載gcc-4.3.2-tdm-1-core.zip: 下載地址:http://download.csdn.net/source/2635749 解壓到c:/msys/1.0/mingw,覆蓋原來的。 MSYS中輸入gcc-v顯示的版本為4.3.2。
9.升級W32API 下載w32api-3.13-mingw32-dev.tar.gz: 下載地址:http://download.csdn.net/source/2635754 解壓到c:/msys/1.0/mingw,覆蓋原來的。
10.添加SDL 下載SDL-devel-1.2.11-mingw32.tar.gz: 下載地址:http://download.csdn.net/source/2635755 解壓該軟件包; 將lib下的所有文件復制到C:/msys/1.0/mingw/lib; 將include下的所有文件復制到C:/msys/1.0/mingw/include; 將bin下的i386-mingw32msvc-sdl-config復制到C:/msys/1.0/mingw/bin,并重命名為sdl-config; 將bin下的SDL.dll復制到C:/msys/1.0/mingw/bin。
【
??2012-7-31
??下載新的SDL。
??下載地址:http://www.libsdl.org/download-1.2.php
? ?下載版本: SDL-1.2.15.tar.gz?-?GPGsigned?
? ? 動態編譯:
? ? ./configure --enable-shared?--prefix=/usr/local
? ? make
? ? make install
? ? 執行完畢后在local\bin、local\lib、local\inclue下會生成SDL的對應文件。? 】
10.2 添加pr.exe 下載coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2: 下載地址:http://download.csdn.net/source/2635758 解壓,拷貝bin的pr.exe到c:/msys/1.0/bin下。
整體上的編譯環境就搭建好了。
11.編譯FFmpeg
?? ?ffmpeg-0.6.3.tar.bz2:http://download.csdn.net/source/3361281?或自? ? ??行http://ffmpeg.org/releases/下載。
copy到c:/msys/1.0/home/your_name下面。
解壓:tar xjvf?ffmpeg-0.6.3.tar.bz2。
cd?ffmpeg-0.6.3
vi一個文件ffmpeg-conf.sh,內容為:
SDL_CFLAGS=/mingw/include?
SDL_LIBS=/mingw/lib?
./configure --enable-ffplay --enable-memalign-hack 復制代碼
執行./ffmpeg-conf.sh。
執行make,應該不會有錯誤的。
執行ffplay filename就可以播放了。
其他的編碼可以根據需要自行添加。
1.Minimal SYStem (MSYS) 安裝 下載MSYS-1.0.10.exe并安裝: 下載地址:http://download.csdn.net/source/2635337 安裝到c:/msys/1.0,臨近最后會出現個dos窗口,最后一句為:
輸入n,結束安裝。
2. MSYS DTK(Developer Tool Kit) 安裝 下載msysDTK-1.0.1.exe并安裝: 下載地址:http://download.csdn.net/source/2635339 安裝到C:/msys/1.0,其他默認。
3.升級下MSYS 下載msysCORE-1.0.11-bin.tar.gz: 下載地址:http://download.csdn.net/source/2694777 解壓這個文件,將bin/mount.exe,msys-1.0.dll,ps.exe三個文件copy到c:/msys/1.0/bin下面覆蓋下。
4.升級下MSYS的BASH 下載bash-3.1-MSYS-1.0.11-snapshot.tar.bz2: 下載地址:http://download.csdn.net/source/2635711 解壓這個文件,將bin/bash.exe,sh.exe兩個文件copy到c:/msys/1.0/bin。
5. MinGW安裝 下載mingw-5.1.4.exe并安裝: 下載地址:http://download.csdn.net/source/2635735 安裝,選擇download andinstall,下兩步之后選擇Candidate,不要選Current。選擇MinGW base tools(autoselected), g++ compiler, MinGW make;安裝路徑為c:/msys/1.0/mingw。等待下載完了安裝吧。O(∩_∩)O……
5.2. 還原binutils-2.16.91 很多朋友需要用ffmpeg的dll來做開發。編譯的時候是用./configure--enable-memalign-hack --disable-static--enable-shared。但是最終編譯出來makeinstall或者將相關的dll拷貝得到ffmepg同級目錄后,執行ffmpeg或者ffplay報錯:應用程序正常初始化失敗。 經過google了許多資料,發現是binutils的版本問題。chinavideo論壇上面有的朋友說是mingw的版本問題,使用MinGW-3.1.0-1.exe會解決。Jeremiah經過試驗,發現不大行,從報錯的結果來看,MinGW-3.1.0-1.exe沒有自帶binutils。還是要自己安裝。而MinGW-5.1.4.exe的candidate選項會默認給我們安裝binutils-2.18.50-20080109-2.tar.gz。而這個binutils會最終導致應用程序正常初始化失敗的錯誤。 Jeremiah和網友deepocean測試了n個binutils的版本,最后發現binutils-2.16.91-20050827-1.tar.gz是最適合的。其他的,ms不行! 下載地址:http://download.csdn.net/source/2635739 解壓到c:/msys/1.0/mingw,覆蓋原來的。
6.配置fstab copy C:/msys/etc/fstab.sample 成fstab,確保以下對應:
原始環境就搭建好了。可以啟動桌面上行的MSYS了。
7.升級make 下載make-3.81.90-msys.rar: 下載地址:http://download.csdn.net/source/2635746 解壓,復制make.exe到c:/msys/1.0/bin下,覆蓋原來的make。 MSYS中輸入make-v顯示的版本為3.81。
8.升級gcc 下載gcc-4.3.2-tdm-1-core.zip: 下載地址:http://download.csdn.net/source/2635749 解壓到c:/msys/1.0/mingw,覆蓋原來的。 MSYS中輸入gcc-v顯示的版本為4.3.2。
9.升級W32API 下載w32api-3.13-mingw32-dev.tar.gz: 下載地址:http://download.csdn.net/source/2635754 解壓到c:/msys/1.0/mingw,覆蓋原來的。
10.添加SDL 下載SDL-devel-1.2.11-mingw32.tar.gz: 下載地址:http://download.csdn.net/source/2635755 解壓該軟件包; 將lib下的所有文件復制到C:/msys/1.0/mingw/lib; 將include下的所有文件復制到C:/msys/1.0/mingw/include; 將bin下的i386-mingw32msvc-sdl-config復制到C:/msys/1.0/mingw/bin,并重命名為sdl-config; 將bin下的SDL.dll復制到C:/msys/1.0/mingw/bin。
【
??2012-7-31
??下載新的SDL。
??下載地址:http://www.libsdl.org/download-1.2.php
? ?下載版本: SDL-1.2.15.tar.gz?-?GPGsigned?
? ? 動態編譯:
? ? ./configure --enable-shared?--prefix=/usr/local
? ? make
? ? make install
? ? 執行完畢后在local\bin、local\lib、local\inclue下會生成SDL的對應文件。? 】
10.2 添加pr.exe 下載coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2: 下載地址:http://download.csdn.net/source/2635758 解壓,拷貝bin的pr.exe到c:/msys/1.0/bin下。
整體上的編譯環境就搭建好了。
11.編譯FFmpeg
?? ?ffmpeg-0.6.3.tar.bz2:http://download.csdn.net/source/3361281?或自? ? ??行http://ffmpeg.org/releases/下載。
copy到c:/msys/1.0/home/your_name下面。
解壓:tar xjvf?ffmpeg-0.6.3.tar.bz2。
cd?ffmpeg-0.6.3
vi一個文件ffmpeg-conf.sh,內容為:
執行./ffmpeg-conf.sh。
執行make,應該不會有錯誤的。
執行ffplay filename就可以播放了。
其他的編碼可以根據需要自行添加。
總結
以上是生活随笔為你收集整理的ffmpeg编译 MingW + MSYS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招行信用卡已出账单分期和未出账单分期有什
- 下一篇: 招行信用卡账单分期后怎么还款