对环境的搭建费了好大功夫,百度出来的文章基本上都是几年前的,大家转来转去,就那一个版本,还很简略,现在已经跟不上时代的步伐。好在终于找到一篇比较新的文章,内容非常详细,根据它的步骤一步一步来就可以正常编译ffmpeg,现在将这篇文章转载让大家看看。
我把根据此文章搭建好的环境压缩成包,放在了优快云上,下载了之后解压即可使用,免去了大家下载各个部分然后一步步搭建的麻烦,不过我没有做对各种库的添加支持,就是说我的环境已经做完了前面的11步,需要添加支持的直接从后面开始就可以了!
注:我把mingw放在了msys/1.0/目录下。
mingw+msys环境下载地址:
http://download.youkuaiyun.com/source/2634858
以下内容转自《MinGW下简单编译FFmpeg》,转载时有改动。
原文地址:http://jeremiah.blog.51cto.com/539865/126804
由于原文中的资源下载链接现在大部分都已失效,本人自己费尽心机搜集下载,并上传到了优快云上,可以直接下载。
MinGW:5.1.4
make: 3.81
gcc: 4.3.2
w32api: 3.13
SDL: 1.2.1
MinGW-Runtime: 3.15
下载MSYS-1.0.10.exe并安装:
安装到c:/msys/1.0,临近最后会出现个dos窗口,最后一句为:
Do you wish to continue with the post install? [yn ]
输入n,结束安装。
下载msysDTK-1.0.1.exe并安装:
下载msysCORE-1.0.11-bin.tar.gz:
下载bash-3.1-MSYS-1.0.11-snapshot.tar.bz2:
解压这个文件,将bin/bash.exe, sh.exe两个文件copy到c:/msys/1.0/bin。
安装,选择download and install,下两步之后选择Candidate,不要选Current。选择MinGW base tools (autoselected), g++ compiler, MinGW make; 安装路径为c:/msys/1.0/mingw。等待下载完了安装吧。O(∩_∩)O……
解压到c:/msys/1.0/mingw,覆盖原来的。
copy C:/msys/etc/fstab.sample 成 fstab,确保以下对应:
c:/msys/1.0/mingw /mingw
原始环境就搭建好了。可以启动桌面上行的MSYS了。
下载make-3.81.90-msys.rar:
下载gcc-4.3.2-tdm-1-core.zip:
解压到c:/msys/1.0/mingw,覆盖原来的。
MSYS中输入gcc -v显示的版本为4.3.2。
下载w32api-3.13-mingw32-dev.tar.gz:
下载SDL-devel-1.2.11-mingw32.tar.gz:
解压该软件包;
将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。
ffmpeg下载地址:
ffmpeg-0.5.tar.bz2: http://download.youkuaiyun.com/source/2635790
ffmpeg-0.5.1.tar.gz: http://download.youkuaiyun.com/source/2635791
ffmpeg-0.5.2.tar.gz: http://download.youkuaiyun.com/source/2635795
ffmpeg-0.5.3.tar.bz2:http://download.youkuaiyun.com/source/3361257
ffmpeg-0.5.4.tar.bz2:http://download.youkuaiyun.com/source/3361264
ffmpeg-0.6.tar.gz: http://download.youkuaiyun.com/source/2635797
ffmpeg-0.6.1.tar.bz2:http://download.youkuaiyun.com/source/3361267
ffmpeg-0.6.2.tar.bz2:http://download.youkuaiyun.com/source/3361272
ffmpeg-0.6.3.tar.bz2:http://download.youkuaiyun.com/source/3361281
SDL_LIBS=/mingw/lib
./configure --enable-ffplay --enable-memalign-hack
我们只是对ffmpeg进行了简单的编译,如果需要其他的功能还是去google吧。
编译完了应该会出三个可执行文件:ffmpeg.exe, ffplay.exe, ffserver.exe, 但是我编译完了只有前两个,没有ffserver.exe。因为MinGW里面少了关于ffserver用的网络的相关的包。
Ffmpeg工程组的网站不错 http://www.ffmpeg.com.cn ,它的论坛 http://bbs.chinavideo.org/index.php 里面应该有不少关于FFmpeg的东西。
26104-700.zip下载:http://download.youkuaiyun.com/source/3361380
将这个zip包放到~/amrnb-7.0.0.2下面。
26204-700.zip下载:http://download.youkuaiyun.com/source/3361384
将这个zip包放到~/amrwb-7.0.0.3下面。
make
make install
SDL_LIBS=/mingw/lib
./configure --enable-ffplay --enable-memalign-hack --enable-libamr-nb --enable-libamr-wb --enable-nonfree --extra-ldflags=-L/usr/local/lib --extra-cflags=-I/usr/local/include
sh ffmpeg-conf02.sh
make
make
make install
SDL_LIBS=/mingw/lib
./configure --enable-ffplay --enable-static --disable-shared --enable-memalign-h
ack --enable-libamr-nb --enable-libamr-wb --enable-libmp3lame --enable-nonfree -
-extra-ldflags=-L/usr/local/lib --extra-cflags=-I/usr/local/include
sh ffmpeg-conf03.sh
make

./configure --disable-shared --without-mp4v2
make
make install
SDL_LIBS=/mingw/lib
./configure --enable-ffplay --enable-static --disable-shared --enable-memalign-h
ack --enable-libamr-nb --enable-libamr-wb --enable-libmp3lame --enable-libfaac -
-enable-libfaad --enable-gpl --enable-nonfree --extra-ldflags=-L/usr/local/lib -
-extra-cflags=-I/usr/local/include
sh ffmpeg-conf04.sh
make
if "x%MINGW32FGCOLOR%" == "x" set MINGW32FGCOLOR=Yellow
make
make install
SDL_CFLAGS=/mingw/include
SDL_LIBS=/mingw/lib
./configure /
--enable-ffplay /
--enable-static /
--disable-shared /
--enable-memalign-hack /
--enable-libamr-nb /
--enable-libamr-wb /
--enable-libmp3lame /
--enable-libfaac /
--enable-libfaad /
--enable-gpl /
--enable-nonfree /
--enable-libx264 /
--extra-ldflags=-L/usr/local/lib /
--extra-cflags=-I/usr/local/include
sh ffmpeg-conf05.sh
make