Windows下的ffmpeg编译 最新最简单方法2013065

来源:互联网 发布:apache ant 1.8.4 bin 编辑:程序博客网 时间:2024/06/04 19:39

提示:由于软件升级速度快,此方法可以能在不久的将来会变的不再适用。 编译时间2013.5.29

引用文档

http://blog.chinaunix.net/uid-20718335-id-2980793.html


前言:由于项目的需要,要用到ffmpeg的解码部分也就是avcodec.dll 部分,在ffmpeg官网下载的编译好的windows版的dll,可惜文件太大了14M,于是要自己进行编译。

之前在网上找了不少资料,大多配置环境复杂,最后找了个 编译环境MinGW+Msys,下载地址是:http://sourceforge.net/projects/mingwbundle/files/

配置倒是很简单,但是在编译的时候老是提示:lib.exe command not found 从而不能成功编译lib文件,也不能编译出完整的.h,dll等文件。放弃此方法。


编译环境

win7 32

vs2010

ffmpeg-0.10.1   下载地址:http://ffmpeg.org/releases/

yasm-1.2.0-win32.exe


方法:

一 编译准备
    您最好新建一个目录专门用来保存以下下载的文件。
1 下载 MinGW 和 MSYS
    MinGW(Minimalist GNU on Windows):一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。
    到:
http://sourceforge.net/projects/mingw/ 去下载即可 
    A 点击“DownLoad mingw-get-inst-...exe”
    B 切换到页面:download? Check your browser's security bar, or try a direct link, or try another mirror.
    C 点击“direct link”下载类似:mingw-get-inst-20111118.exe 的文件
    提示:msys此处就不用再下载了,mingw-get-inst-20111118.exe 中已经包含了msys1.0,后面安装的时候就可以看到该选项。

二 编译步骤
1 安装 mingw 和 msys
    执行下载文件:mingw-get-inst-20111118.exe,
    在第3步选择“Download latest repository catalogues”
    选择安装路径:C:\MinGW(我直接采用默认路径,未做修改)
    在“Select Components”步骤中选择:
      √  C Compiler (默认且一定选择)
      √  C++ Compiler
      √  MSYS Basic System(选择此项将会安装msys,msys则不需要另外安装)
      √  MinGW Developer ToolKit
    等待安装完成!(需要等待一定的时间,因为安装过程需要下载文件,可想而知,网速越快,安装越快)

    就是下载速度太慢了,受不鸟啊
    安装完成后,在C:\MinGW目录下可以看到 msys 文件夹,msys也已经安装。
2 配置 msys.bat 批处理文件
    为了方便VS200X以及VS2010调用ffmpeg的动态库,可以通过配置让ffmpeg编译时产生windows下调用dll对应的lib,当然,如果你没有这个需要,那么就可以省略以下处理,直接进入步骤3。
    进入:C:\MinGW\msys\1.0\文件夹,使用UltraEdit打开msys.bat文件,在文件的最最前面加入如下一行:
    call "D:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
    添加后效果如下:
      
call "D:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
         @echo off
         rem Copyright (C):  2001, 2002, 2003, 2004, 2005  Earnie Boyd
         rem   
mailto:earnie@users.sf.net
         rem This file is part of Minimal SYStem
         rem   
http://www.mingw.org/msys.shtml
         rem
         rem File:     msys.bat
         rem Revision:     2.4
         rem Revision Date:  December 8th, 2005
         rem ember to set the "Start in:" field of the shortcut.
         rem A value similar to C:\msys\1.0\bin is what the "Start in:" field needs
         rem to represent.
    其中“D:\Program Files\Microsoft Visual Studio 10.0”为你机器上安装VS200X或VS2010的目录,我的电脑安装的是VS2010,并且安装在了D盘。文件修改后保存即可。
3 系统整合
    使用UltraEdit修改C:\MinGW\msys\1.0\etc目下的fstab文件,如果不存在fstab,请复制一份fstab.sample,然后改名为:fstab,再修改其内容为:C:/MinGW /mingw,也即为MinGW的安装路径。
4 配置 yasm
    为了减少配置环境变量的麻烦,本处直接把 yasm-1.1.0-win32.exe 文件名修改成:yasm.exe,并放到系统目录下:C:\WINDOWS\system32。

三.编译ffmpeg

 ffmpeg-0.10.1.tar.bz2 解压到:D:\ffmpeg\ 目录下,双击“C:\MinGW\msys\1.0\msys.bat”,启动“MinGW32”,切换到ffmpeg目录:D:\ffmpeg\ffmpeg-0.10.1,切换方法如下:
    $ cd /d
    $ cd ffmpeg
    $ cd ffmpeg-0.10.1
    如果你的“MinGW32”没有关闭,可以直接切换路径到:D:\ffmpeg\ffmpeg-0.10.1。
    再执行以下命令:
    $ ./configure --enable-shared --disable-static --enable-memalign-hack    
   
    请耐心等待一段时间,以上命令不能直接换行哦并且根据ffmpeg的版本不同有所变化,具体看./configure --help,你知道的。。。
    $ make
    需要等待很长一段时间,等待编译结束。
    为了汇总编译结果,请继续执行以下命令:
    $ make install
    等待完成,在C:\MinGW\msys\1.0\local中将会生成 bin、include、lib等文件夹,其中包含了ffmpeg.exe、ffplay.exe、ffprobe.exe、dll、lib和头文件等。

原创粉丝点击