使用minGW+msys 编译ffmpeg 0.5

一.环境配置
1.下载并安装 MinGW-5.1.4.exe (http://jaist.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe),安装时选中 g++, mingw make。建议安装到c:/mingw.
2.下载并安装 MSYS-1.0.11-rc-1.exe (http://jaist.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-rc-1.exe),安装结束时会以命令行方式提示输入MinGW的安装路径,输入c:/MinGW, msys建议安装到c:/msys, 默认是c:/msys-1.0, 可以手动改为c:/msys。
3.下载gcc-4.3.2-tdm-1-core.zip (http://ftp3.ie.freebsd.org/pub/sourceforge/t/td/tdm-gcc/gcc-4.3.2-tdm-1-core.zip),解压后覆盖到 c:/mingw 安装目录. minGW-5.1.4 默认安装的版本是3.4.5.

二.下载 ffmpeg 0.5 (http://ffmpeg.mplayerhq.hu/releases/ffmpeg-0.5.tar.bz2)
1.解压后拷贝到c:/msys/home/目录下。 (C:/msys/home/ffmpeg-0.5)
2.用文本编辑器打开源码目录下的 configure (C:/msys/home/ffmpeg-0.5/configure) 文件,搜索两处 pr 全部替换为 print。
3.运行c:/msys.bat,进入c:/msys/home/ffmpeg-0.5源码目录,创建release目录 (madir release) 和 debug 目录 (mkdir debug) 目录,视需求编译 release 或 debug 版本:
4.进入c:/msys/home/ffmpeg-0.5/release 目录下执行: ../configure --disable-static --enable-shared --enable-small --enable-memalign-hack --enable-gpl --extra-cflags=-I/local/include --extra-ldflags=-L/local/lib
5.或进入c:/msys/home/ffmpeg-0.5/debug 目录下执行: ../configure --disable-static --enable-shared --enable-memalign-hack --enable-gpl --extra-cflags=-I/local/include --extra-ldflags=-L/local/lib --enable-debug=3 --disable-optimizations --disable-stripping
6.make
7.make install

注:参数解释
a.--extra-ldflags=-L<prefix>/lib --extra-cflags=-I<prefix>/include

      如果你把库安装在了非gcc的缺省寻找路径,你必须向FFmpeg的configure脚本传递这些路径信息。
b.--enable-small

       optimize for size
c.--enable-nonfree
       Yes, FFmpeg recently changed the --enable-libfaac to require --enable-nonfree due to some inconsisent licensing
declarations in the faac source. You can also workaround this by not enabling AAC in the wizard. They have a
native AAC encoder in progress, but it is not ready and enabled yet.

三.支持x264 (--enable-libx264)
1.下载 x264 原始码(http://www.imagemagick.org/download/delegates/ffmpeg/x264-1024283.tar.bz2) (x264-snapshot-20100115-2245.tar.bz2这个源码编译不过,不知道为什么,有时间仔细研究研究。)
2.解压后拷贝到c:/msys/home/目录下 (c:/msys/home/x264-1024283)
3.进入c:/msys/home/x264-1024283 目录下执行: ./configure --prefix=/usr/local --enable-shared --disable-asm
4.make
5.make install

四.支持xvid (--enable-libxvid)
1.下载 xvid 原始码(http://www.imagemagick.org/download/delegates/ffmpeg/xvidcore-1.2.2.tar.bz2)
2.解压后拷贝到c:/msys/home/目录下 (c:/msys/home/xvidcore)
3.进入c:/msys/home/xvidcore/build/generic 目录下执行: ./configure --prefix=/usr/local --enable-shared
4.make
5.make install

五.支持MP3 (--enable-libmp3lame)
1.下载 MP3 原始码(http://www.imagemagick.org/download/delegates/ffmpeg/lame-398-2.tar.gz)
2.解压后拷贝到c:/msys/home/目录下 (c:/msys/home/lame-398-2)
3.进入c:/msys/home/lame-398-2 目录下执行: ./configure --prefix=/usr/local --enable-shared
4.make
5.make install

六.支持FAAC (--enable-libfaac)
1.下载 FAAC 原始码(http://www.imagemagick.org/download/delegates/ffmpeg/faac-1.28.tar.bz2)
2.解压后拷贝到c:/msys/home/目录下 (c:/msys/home/faac-1.28)
3.进入c:/msys/home/faac-1.28 目录下执行./bootstrap
4../configure --prefix=/usr/local --enable-shared --without-mp4v2

(FAAC 无需编入 mp4 容器支持,封入 mp4 容器的工作由 ffmpeg 负责)
5.make
6.make install

七.支持FAAD (--enable-libfaad)
1.下载 FAAD 原始码(http://www.imagemagick.org/download/delegates/ffmpeg/faad2-2.7.tar.bz2)
2.解压后拷贝到c:/msys/home/目录下 (c:/msys/home/faad2-2.7)
3.进入c:/msys/home/faad2-2.7 目录下执行 autoreconf -vif
注:编译FAAD需要使用autoreconf, 下载msysDTK-1.0.1.exe 安装到c:/msys.
4../configure --prefix=/usr/local --enable-shared --without-mp4v2
5.make
6.make install

八.支持gsm (--enable-libgsm)
1.下载 gsm 原始码(http://www.imagemagick.org/download/delegates/ffmpeg/gsm-1.0.13.tar.gz)
2.解压后拷贝到c:/msys/home/目录下 (c:/msys/home/gsm-1.0-pl13)
3.进入c:/msys/home/gsm-1.0-pl13 目录下执行: ./configure --prefix=/usr/local --enable-shared
4.make
注:make编译出错(make: *** [bin/toast] Error 1), 忽视这个错误,不影响。
5.cp c:/msys/home/gsm-1.0-pl13lib/libgsm.a  c:/msys/local/lib
6.cp c:/msys/home/gsm-1.0-pl13lib/inc/gsm.h  c:/msys/local/include

九.libamr-nb (--enable-libamr-nb)
1.下载 libamr-nb 原始码(http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2)
2.解压后拷贝到c:/msys/home/目录下 (C:/msys/home/amrnb-7.0.0.2)
3.下载26104-700.zip (http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-700.zip), 将这个zip包放到c:/msys/home/amrnb-7.0.0.2 目录下面
4.下载unzip-5.51-1-bin.zip (http://downloads.sourceforge.net/gnuwin32/unzip-5.51-1-bin.zip),解压后将unzip.exe到/mingw/bin下。
5.进入c:/msys/home/amrnb-7.0.0.2 目录下执行: ./configure --prefix=/usr/local --enable-shared
6.make
7.make install

十.libamr-wb (--enable-libamr-wb)
1.下载 libamr-wb 原始码(http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2)
2.解压后拷贝到c:/msys/home/目录下 (C:/msys/home/amrwb-7.0.0.3)
3.下载26204-700.zip (http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-700.zip), 将这个zip包放到c:/msys/home/amrwb-7.0.0.3 目录下面
4.下载unzip-5.51-1-bin.zip (http://downloads.sourceforge.net/gnuwin32/unzip-5.51-1-bin.zip),解压后将unzip.exe到/mingw/bin下。(如果步骤9中做了这个工作,这里就不用做了)
5.进入c:/msys/home/amrwb-7.0.0.3 目录下执行: ./configure --prefix=/usr/local --enable-shared
6.make
7.make install

十一.最后编译ffmpeg 0.5
1.进入c:/msys/home/ffmpeg-0.5/release
2. ../configure --disable-static --enable-shared --enable-small --enable-memalign-hack --enable-gpl --extra-cflags=-I/local/include --extra-ldflags=-L/local/lib --enable-libgsm --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-nonfree --enable-libxvid --enable-libx264 --enable-libamr-nb --enable-libamr-wb
3.make
4.make install


十二. 编译出lib 文件

以上方式默认不能编译出 .lib文件。如果希望在vc++调用ffmpeg 库,要用到相应的 .lib 文件。可以用以下方式编译。


1.在msys.bat开头添加一句话:call "C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/VCVARS32.BAT"

根据自己vc实际路径修改以上路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值