在windows xp下编译出ffmpeg dll

来源:百度文库 编辑:神马文学网 时间:2024/04/27 20:30:13
找了好多资料,把自己的编译成功过程详细叙述,以避免后来者可以少浪费点时间。1.安装MSys
到http://sourceforge.net/project/showfiles.php?group_id=2435下载文件:
  bash-3.1-MSYS-1.0.11-tar.bz2
  msysCORE-1.0.11-2007.01.19-1.tar.bz2msysCORE-1.0.11-2007.01.19-1.tar.bz2下載鏈接:
http://sourceforge.net/project/downloading.php?group_id=2435&use_mirror=nchc&filename=msysCORE-1.0.11-2007.01.19-1.tar.bz2&39247800
bash-3.1-MSYS-1.0.11-tar.bz2下載鏈接:
http://sourceforge.net/project/downloading.php?group_id=2435&use_mirror=nchc&filename=bash-3.1-MSYS-1.0.11-1.tar.bz2&93684193  解压msysCORE-1.0.11-2007.01.19-1.tar.bz2,比如解压到D:\msys(以下内容都使用该路径描述)。
  解压bash-3.1-MSYS-1.0.11-tar.bz2,产生一个名为bash-3.1的目录,在该目录下有一个子目录名为bin,其 他   的目录不需要关心。复制bin目录中的所有文件到D:\msys\bin,提示是否要覆盖sh.exe的时候,选择是。
  到“D:\msys\postinstall”目录下执行pi.bat,在出现的提示中输入n回车后,按任意键退出即可。 如果你不输入N的话就输入两次Y,最后把c:\msys\mingw 输入即可 。如果输入N的话,要打开D:\msys\etc\fstab.sample把它重命名为fstab 并用nodepad打开编辑,把c:\mingw  \mingw 改成d:\msys\mingw即可。最后配置PATH,在系统的环境配置中添加d:\msys\bin。2.安装MinGW
  同样是到http://sourceforge.net/project/showfiles.php?group_id=2435下载文件:
  binutils-2.17.50-20060824-1.tar.gz
  gcc-core-3.4.5-20060117-1.tar.gz
  gcc-g++-3.4.5-20060117-1.tar.gz
  w32api-3.9.tar.gz
  mingw-runtime-3.12.tar.gz
  把它们全部解压到D:\msys\mingw。
或者直接下载MinGW.exe文件 下载好按步骤安装,选择安装的组件最好都选上啦。不过安装目录一定要选择d:\msys\mingw 别的路径它找不到。3.修改“msys.bat”
  用文本编辑器打开D:\msys\msys.bat, 安装微软的Visual Studio或是Visual C++。把下面一行加到msys.bat的最前面,把路径替换成机器上vcvars32.bat实际存在的路径,比如我的在“c:\Program Files\Microsoft Visual Studio .NET 2005\Vc\bin”,于是就添加:
  call "c:\Program Files\Microsoft Visual Studio .NET 2005\Vc\bin\vcvars32.bat"4.svnhttp://tortoisesvn.net/downloads下载TortoiseSVN,安装好之后,在d:\ffmpeg右击,选择SVN check out,第一行目录选择svn://svn.mplayerhq.hu/ffmpeg/trunk 然后确定。这样就得到最新的SVN。但由于SVN只针对UNIX系统做的。所以无法GCC对最新的SVN编译。会报错:192 PR command not found.解决方法一:不用最新的SVN版本。因为即使用了最新的MinGW5.1.exe还是有这样的错误。 windows下还是无法编译最新的SVN代码。我这有07年3月的版本是可以用的。需要的可以索要。解决方法二:下载   coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2  Mirror
并且解压缩出来,把bin下的内容拷贝到MSYS下,因为MSYS缺少COREUTILS所以报错 PR command not found。改完后你会发现可以编译了,但是make的时候又出错了。怎么办呢?去sourceforge网站上下载make-3.81-MSYS-1.0.11-2.tar.bz2,替换掉原来的make.exe文件即可 (搜索了一天时间,提供出来免得大家走歪路!)这样就可以用最新的SVN版本来进行编译了。
5.测试打开msys.bat,输入cd空格/d/ffmpeg,路径变化后,然后输入./configure空格--enable-memalign-hack,回车!如果不报错,那么再输入make.6.第三方插件根据以上5个步骤就已经可以得到ffmpeg.exe了,但没有加入声音,以及对其他格式支持的也不够好。现在开始加入lame,就是声音。到http://oss.netfarm.it/mplayer-win32.php下载已经编译的mp3lame库(可以向我索要),解压出来后分别拷贝到你安装好的mingw目录下的相对目录里。在传递配置参数时要加入“--enable-libmp3lame” ,即使用以下命令配置:
  ./configure --enable-static --disable-shared --enable-memalign-hack --enable-libmp3lame然后加入mp4的格式的支持:然后加入3GP的支持:编译的时候加上--enable-amr_nb --enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一些编译3gp所需得文件。http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
解压以后把里面的文件都拷贝到libavcodec/amrwb_floathttp://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr_float注释:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangjiehuan/archive/2008/04/24/2323477.aspx