MinGW+msys windows 下编译 ffmpeg

来源:互联网 发布:教学白板软件 编辑:程序博客网 时间:2024/05/18 02:58

前面关于MinGW+msys windows 下编译 x264的文章中前4步已经将MinGW+msys windows 下的环境配置完成。

下面是在前4步的基础上来配置和完成ffmpeg的编译。

1.下载ffmpeg可以到 http://www.ffmpeg.org/releases/ 

    我下载的是最新版:ffmpeg-2.1.tar.gz

2.SDL下载可以到:http://www.libsdl.org/download-1.2.php

   我下载的是最新版本:SDL-1.2.15.tar.gz

   注意:这里最好下载这种自己编译的版本,避免一些不必要的问题出现。

3.下载 pthreadGC2.dll

     pthreadgc2.dll 是功能强大的处理数字化影视作品编辑软件premiere6运行所需的一个DLL文件。

    这是一个无威胁文件。属于Open Source Software community project的文件。

    直接在百度上搜索下载就可以了。

4.解压ffmpeg 与 SDL

    ffmpeg-2.1.tar.gz 的解压目录您可以直接选择,我解压到:C:\ffmpeg中,解压后目录为:C:\ffmpeg-2.1\ffmpeg-2.1

     SDL-1.2.15.tar.gz 解压到 C:\ffmpeg-2.1目录下,解压后的目录结构为:C:\ffmpeg-2.1\SDL-1.2.15\SDL-1.2.15

5.编译SDL

   双击“C:\MinGW\msys\1.0\msys.bat”,启动“MinGW32”

  切换到SDL目录:C:\ffmpeg-2.1\SDL-1.2.15\SDL-1.2.15,切换方法如下:

  $ cd /c

 $ cdffmpeg-2.1

  $ cd SDL-1.2.15

  $ cd SDL-1.2.15

然后执行以下操作:

 $ ./configure --prefix=/usr 回车等待…

$ make 回车等待…

 $ make install 回车等待…

编译完成后,在C:\MinGW\msys\1.0的bin、include和lib文件夹下可以看到编译结果。

一定要配置信息中显示 SDL support  yes

将C:\MinGW\msys\1.0中的bin、include和lib文件夹复制到C:\ffmpeg-2.1\ffmpeg-2.1中。

6. 拷贝编译结果:

    C:\MinGW\msys\1.0  到 C:\MinGW下 覆盖

    bin下的SDL.dll、sdl-config拷贝到 bin中

    include下的 SDL文件夹拷贝到 include中

    lib下的libSDL.a、libSDL.dll.a、libSDL.la和libSDLmain.a拷贝到 lib中
7. 修改sdl-config配置文件

    使用UltraEdit打开C:\ffmpeg-2.1\ffmpeg-2.1\bin下的 sdl-config文件

    把 prefix=/usr 该成: prefix=C:\MinGW

    其中:c:/mingw 为 mingw的安装路径,请根据你的安装进行修改。
8. 编译 ffmpeg

    双击“C:\MinGW\msys\1.0\msys.bat”,启动“MinGW32”,

    切换到SDL目录:C:\ffmpeg-2.1\ffmpeg-2.1,

    切换方法如下:

    $ cd /c

    $ cd ffmpeg-2.1

    $ cd ffmpeg-2.1

    如果你的“MinGW32”没有关闭,可以直接切换路径到:C:\ffmpeg-2.1\ffmpeg-2.1

    再执行以下命令:

    $ ./configure --enable-shared --disable-static --enable-memalign-hack

    请耐心等待一段时间

  $ make

   需要等待很长一段时间,等待编译结束。(趁这个时间可以休息放松以下微笑)


    为了汇总编译结果,请继续执行以下命令:

    $ make install

    等待完成,在C:\MinGW\msys\1.0\local中将会生成 bin、include、lib等文件夹,其中包含了ffmpeg.exe、ffplay.exe、ffprobe.exe、dll、lib和头文件等。

9 运行测试

直接双击运行”ffplay.exe”,如果提示没有“pthreadGC2.dll”文件,你可以包“pthreadGC2.dll”直接拷贝到当前目录,也可放到系统目录C:\WINDOWS\system32中。
avcodec.lib avformat.lib swscale.lib avutil.lib
(注意:SDL.dll有时候也需要包含,会提示缺少此文件)


0 0