Windows下編譯ffmpeg有很多種方法,一種是純MinGW+msys環境,一種是在VC20XX的命令列環境下使用MinGW+msys編譯,
還有一種是在cygwin環境下編譯,當然還有各種交叉編譯以及WinRT、WP8環境下編譯,這里不討論,本文只關注純MinGW+msysy環境下的編譯,
如果是VC20XX環境下編譯,可以參考:http://blog.sina.com.cn/s/blog_47612ff10101mri6.html
本文是參考網上的文章綜合而成,同時做為編譯ffmpeg的筆記,如有疏漏謬誤之處,望指正,
一、編譯準備
您最好新建一個目錄專門用來保存以下下載的檔案,例如:F:\ffmpeg
1、下載 MinGW 和 MSYS
MinGW(Minimalist GNU on Windows):一個可自由使用和自由發布的Windows特定頭檔案和使用GNU工具集匯入庫的集合,允許你生成本地的Windows程式而不需要第三方C運行時庫,
到:http://sourceforge.net/projects/mingw/ 去下載即可
A. 點擊“Download mingw-get-setup.exe (86.5 kB)”
B. 切換到頁面:download? Check your browser's security bar, or try a direct link, or try another mirror.
C. 點擊“direct link”下載類似:mingw-get-setup.exe 的檔案
提示:msys此處就不用再下載了,最新版的 mingw-get-setup.exe 中已經包含了msys1.0,后面安裝的時候就可以看到該選項,
2、下載 yasm(匯編編譯器), ffmpeg有少量的asm代碼
ffmpeg編譯的時候里面的匯編代碼需要yasm.exe
去官網:http://yasm.tortall.net/Download.html 下載
在Latest Release欄,直接下載:Win32 .exe (for general use on 32-bit Windows)
檔案名類似為:yasm-1.2.0-win32.exe
3、下載 ffmpeg
ffmpeg可以到 http://www.ffmpeg.org/download.html 下載
選擇的一個最新版本下載即可,如:ffmpeg-2.1.1.tar.gz
檔案名類似為:ffmpeg-2.1.1.tar.gz
當然你也使用網上介紹的使用GIT直接下載源代碼的方法,
git://source.ffmpeg.org/ffmpeg.git
4、下載 SDL(支持SDL,可選項)
SDL下載可以到:http://www.libsdl.org/download-1.2.php
在Source Code欄選擇類似:SDL-1.2.15.tar.gz - GPG signed 進行下載,
檔案名類似為:SDL-1.2.15.tar.tar,此檔案需要編譯才能生成lib庫,
也可以直接下載 SDL-devel-1.2.15-mingw32.tar.gz (Mingw32),檔案名類似為:SDL-devel-1.2.15-mingw32.tar.tar,此檔案帶有編譯好的lib,在編譯ffmpeg時可以直接使用,
5、下載 x264(支持x264,可選項)
為了讓編譯出來的ffmpeg支持對x264格式的編解碼,您需要先下載x264,
到:http://www.videolan.org/developers/x264.html下載
檔案名類似為:last_x264.tar.bz2 的包,
6、下載 Xvid(支持Xvid,可選項)
為了讓編譯出來的ffmpeg支持對Xvid格式的編解碼,您需要先下載Xvid,
到:http://www.xvid.org/ 下載
檔案名類似為:xvidcore-1.3.2.tar.gz 的包,
7、下載 mp3lame(支持mp3,可選項)
為了讓編譯出來的ffmpeg支持對mp3格式的編解碼,您需要先下載lame,
到:http://sourceforge.net/projects/lame/files/ 下載
檔案名類似為:lame-3.99.2.tar.gz 的包,
8、下載 faac(支持faac:AAC格式,可選項)
到:http://www.audiocoding.com/downloads.html 下載:Version 1.28 bootstrapped TAR.GZ Package
檔案名類似為:faac-1.28.tar.gz 的包,
注:faac 1.28在MinGW下使用必須打一個補丁,否則編譯會報錯,補丁請看:http://www.chinavideo.org/forum.php?mod=viewthread&tid=5225
(補丁是一個diff檔案(即檔案差異),自己對比一下修改即可,或者使用patch.exe打補丁,)
9、下載 faad2(支持faad:AAC格式和SBR支持,可選項)
到:http://www.audiocoding.com/downloads.html 下載:Version 2.7 bootstrapped TAR.GZ Package
檔案名類似為:faad2-2.7.tar.gz 的包,
注:faad2 2.7在MinGW下使用必須打一個補丁,否則編譯會報錯,補丁同上,(該補丁最簡單,即把faad2-2.7/frontend/main.c的第34行“#define off_t __int64”注釋掉即可)
10、下載 aacenc(支持aac,可選項)
到:http://sourceforge.net/projects/opencore-amr/files/ 下載:vo-aacenc
檔案名類似為:vo-aacenc-0.1.1.tar.gz 的包,
11、下載 amr-nb與amr-wb (早期ffmpeg支持3gp,可選項)
到:http://www.penguin.cz/%7Eutx/amr 下載:amrnb-7.0.0.2.tar.bz2與amrwb-7.0.0.4.tar.bz2
檔案名類似為:amrnb-7.0.0.2.tar.tar 與amrwb-7.0.0.4.tar.tar 的包,
12、下載 opencore-amr與vo-amrwbenc (支持3gp,可選項)
到:http://sourceforge.net/projects/opencore-amr/files/ 下載:opencore-amr 與 vo-amrwbenc
檔案名類似為:opencore-amr-0.1.2.tar.gz 與vo-amrwbenc-0.1.1.tar.gz 的包,
13、下載 pthreadGC2.dll
pthreadgc2.dll是功能強大的處理數字化影視作品編輯軟體premiere6運行所需的一個DLL檔案,這是一個無威脅檔案,屬于Open Source Software community project的檔案,
到:http://www.sourceware.org/pthreads-win32/ 下載,最新版是:2.9.1,
參考文章:
http://blog.chinaunix.net/uid-20718335-id-2980793.html
http://blog.csdn.net/yangshu168/archive/2010/01/17/5204269.aspx
http://blog.csdn.net/himulakensin/article/details/6693457
http://blog.csdn.net/huangxiansheng1980/article/details/5712003
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66478.html
標籤:C++
上一篇:kibana啟動問題
下一篇:學習第28天
