目录

[隐藏

[编辑]环境与软件

win7 32位

链接:http://pan.baidu.com/s/1c0noq5q 密码:xwhy

[编辑]第一步:安装MinGW

安装mingw-get-inst-20120426.exe(安装时选中c++编译器和Mingw Developer Toolkit,其它默认)

[编辑]第二步:配置编译环境

将yasm-1.2.0-win32.exe更名为yasm.exe后直接放在 /usr/local/bin(windows路径为C:\MinGW\msys\1.0\local\bin)

将下面3个压缩包里bin目录中的文件解压后放在/usr/local/bin下

glib_2.28.8-1_win32.zip:GLib (Run-time)

gettext-runtime_0.18.1.1-2_win32.zip:gettext-runtime (Run-time)

pkg-config_0.26-1_win32.zip:pkg-config (tool)

配置好后,效果如下:

[编辑]第三步:配置SDL

为了编译出ffplay,还需要配置SDL

下载编译好的SDL库文件SDL-devel-1.2.15-mingw32.rar并解压,

接下来无论是下载的还是自己编译的,都需要修改bin目录下的 sdl-config文件:

把 prefix=/usr/local/cross-tools/i686-w64-mingw32该成: prefix=c:/MinGW

并去掉2处-mwindows,原因见后面的附录。

解压后,将bin,include和lib目录下的文件分别拷贝到/usr/local对应目录下(注:直接拷贝include目录下的SDL文件夹),

为了编译时ffmpeg能识别SDL并开启 SDL support,需要将bin,include和lib目录下的文件再拷贝一份到C:\MinGW\的对应目录中。

[编辑]第四步:编译

下一步开始编译,不编译shared版本

注:软件安装时统一加上--prefix=/usr/local

[编辑]编译faac

./configure --prefix="/usr/local"--enable-static--disable-shared --with-mp4v2=no makemakeinstall

[编辑]编译fdk-aac

configure FFmpeg时需要加上--enable-libfdk_aac

./configure --prefix="/usr/local"--disable-sharedmakemakeinstall

[编辑]编译x264

./configure --prefix=/usr/local--enable-static--enable-sharedmakemakeinstall

[编辑]编译ffmpeg

如果未配置SDL,需要添加--disable-ffplay

PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"LDFLAGS="-L/usr/local/lib"CFLAGS="-I/usr/local/include" ./configure --enable-gpl  \   --enable-libfaac --enable-libfdk_aac --enable-libx264--enable-nonfree--enable-shared--prefix=/usr/local

去掉--disable-optimizations --disable-asm选项,并加上-enable-shared --prefix=/usr/local选项

makemakeinstall

执行结束后会在/usr/local/bin目录下生成:.dll和 .lib文件(如avformat-54.dll与avformat.lib)

在MinGW Shell输入ffmpeg结果如下图所示:

但如果在cmd中运行,会提示缺少pthread动态库:

请将pthreads-w32-2-9-1-release.zip解压后,将Pre-built.2/dll/x86下的pthreadGC2.dll放到ffmpeg所在目录即可。再次运行,结果如下所示:

[编辑]附录

如果编译出来的ffmpeg运行后马上返回命令提示符,没有任何输出,输入ffmpeg -v

也什么信息都没有,连编译配置信息都没有。

原因:是因为SDL库导致的,修改sdl-config文件,去掉2处-mwindows 然后重新编译。

其它原因:需要你拷贝C:\MinGW\bin目录下的libiconv-2.dll到ffmpeg.exe所在目录。

在Windows下利用MinGW编译FFmpeg的更多相关文章

  1. 再次尝试windows下msys+MinGW编译ffmpeg

    电脑上安装太多的开源库,环境变量里面一些常用的头文件都有几种,以前使用的编译ffmpeg的方法现在常常提示错误.从config.log中看,这些错误往往都是一些头文件引用错误导致.由于项目中继续编译自 ...

  2. windows下用vs2010编译ffmpeg

    转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg ...

  3. 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)

    转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...

  4. 在Windows下利用Eclipse调试FFmpeg

    目录 [隐藏]  1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...

  5. Windows下使用MINGW编译ffplay

    之前考虑到需要快速配置编译ffplay,使用了比较暴力的方法,具体可以参考编译ffplay.exe简化版. 这里介绍下相对规范的做法. 前提:已经安装了Windows下GCC开发环境--MINGW+m ...

  6. Windows 系统 vs2012 MinGW 编译ffmpeg 静态库

    Windows系统下 vs2012编译ffmpeg 动态库 前面已经有文章讲述,本文将讲述如果编译生成ffmpeg静态库以方便 在vs2012下调用. 准备工作:安装MinGW环境,修改ffmpeg配 ...

  7. windows下使用mingw编译出ffplay(简化版)

    之前编译FFmpeg直接使用dll.lib,默认的mingw也不会编译出ffplay.exe. 近期由于工作需要,需要验证下修改之后的FFmpeg版本是否正常,需要使用ffplay.exe. 比较暴力 ...

  8. Windows下用Mingw编译Boost.Regex库

    下载Boost库,解压. 定位到regex库文件夹下. GCC所对应的MAKEFILE为gcc.mak 进入命令提示符下,输入make -f gcc.mak 这是如果直接按回车执行的话,会出现错误: ...

  9. windows下使用mingw编译python扩展模块

    环境: 1.python2.7.2 2.mingw20120426 说明: PYTHON_HOME:不做特殊说明的话,默认代表python的安装路径. MINGW_HOME:不做特殊说明的话,默认代表 ...

随机推荐

  1. thinkphp中where方法

    今天来给大家讲下查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置.where方法的用法是ThinkPHP查询语言的精髓,也是Think ...

  2. 交叉编译php5,、nginx、squid方法

    本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 交叉编译php5 软件版本:php-5.4.27 依赖库:zlib,libxml2 交叉编译器:arm-hisi ...

  3. Linux下读取默认MAC地址

    导读MAC(Media Access Control,介质访问控制)计算机通过它来定义并识别网络设备的位置.在嵌入式linux学习中不可避免也会遇到MAC,本文主要描述了如何通过操作OTP来读取嵌入式 ...

  4. c++中的srand()和rand() 转载 自:http://blog.sina.com.cn/s/blog_624c2c4001012f67.html

    今天看了同事写的小程序,发现了其中出现了srand()和rand()这两个我以前没有用过的函数,当然从名字可以看出肯定能随机数有关,于是网查资料知这两个函数配合一起使用来产生随机数的,哈哈,又长知识了 ...

  5. 从零开始写一个武侠冒险游戏-8-用GPU提升性能(3)

    从零开始写一个武侠冒险游戏-8-用GPU提升性能(3) ----解决因绘制雷达图导致的帧速下降问题 作者:FreeBlues 修订记录 2016.06.23 初稿完成. 2016.08.07 增加对 ...

  6. hibernate.cfg.xml配置文件和hbm.xml配置文件 模板

    hibernate.cfg.xml配置文件格式 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ...

  7. django-cms 代码研究(六)plugin的深入分析

    示例代码: https://github.com/divio/djangocms-picture 以上一个图片的插件,安装后可在页面中添加图片,效果如下图: 以此为切入点,分析plugin的逻辑: 分 ...

  8. Python序列切片的注意事项

    a=[1,2,3,4,5,6,7,8,9,10] 1)普通切片,形如array[m:n],只包含起始索引m,和不被包含在结果内的终点索引n, 注意终点索引可以大于序列的大小(长度),若终点索引大于序列 ...

  9. ldd查询命令或软件共享的函数库(动态)

    <1> ldd - print shared library dependencies SYNOPSIS ldd [OPTION]... FILE... DESCRIPTION ldd p ...

  10. 《ASP.NET1200例》实现投票的用户控件

    用户控件ascx <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="24 ...