Windows上编译ffmpeg完整过程,包括编译x264、SDL、faac。在Windows上编译ffmpeg需要用MinGW+msys,本专题用于记录编译过程中遇到的各种问题及解决方法,转载请注明出处

一、下载准备

准备编译过程所需的工具和源码。

(1). MinGW http://sourceforge.net/projects/mingw/files/  MSYS http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe

(2). Yasm http://yasm.tortall.net/Download.html

(3). SDL http://www.libsdl.org/download-1.2.php

(4). X264 http://www.videolan.org/developers/x264.html

(5). FFmpeg http://www.ffmpeg.org/download.html

二、MinGW+MSYS安装

最新版本MinGW安装工具mingw-get-setup.exe内部已经集成了msys工具:

配置MSYS支持GCC编译:

开始安装:

安装MSYS-1.0.11.exe(我们在后面的安装过程中发现,上述安装的msys gcc版本比较低,编译SDL的时候会出错),在安装过程中会让配置已安装的MinGW路径,如:C:/MinGW:

三、yasm支持

从步骤一中将下载来的yasm可执行文件,改名为yasm.exe,放在Windows\System32中。

四、编译SDL

解压下载的SDL源码包,例如放到D:\ffmpeg1.2\SDL-1.12.15目录,msys进入SDL目录,依次执行:

./configure -–prefix=/usr/local/SDL

make

make install

五、编译x264

解压下载的x264源码包,例如放到D:\ffmpeg1.2\x264目录,msys进入x264目录,依次执行:

./configure  --enable-shared –-disable-asm -–prefix=/usr/local/x264

make

make install

六、重新部署环境

1、下载

地址是:http://sourceforge.net/projects/mingwbundle/files/,在这个页面上点击Download下载那个zip文件。下载完成后,直接安装,我使用的是默认路径。(这个文件比较大,是MinGW+MSYS的合并安装包,下载并安装后,把C:\msys\1.0\bin文件夹复制出来,备份保存);

默认路径为:C:\minGW和C:\msys\1.0

2、配置环境变量
右击“我的电脑”-》属性-》高级-》环境变量
按如图操作,在PATH的编辑框最后加上C:\MinGW\bin

注意用“;”与前面的隔开

三、下载MSYS

地址:http://download.csdn.net/detail/harvic880925/4602268

下载后,还是默认安装,安装前不用卸载前面第一步中安装的版本,也就是把第一步的版本给覆盖掉;

在安装结束的时候会提出DOS提示窗口:

最后一句为:
Do you wish to continue with the post install? [yn ]
输入n,结束安装。

四、将在第一步中提取出来的bin文件夹内容,复制到C:\msys\1.0\bin文件夹下覆盖现在的文件;

七、编译faac

解压下载的faac源码包,例如放到D:\ffmpeg1.2\faac目录,msys进入faac目录,依次执行:

./bootstrap


./configure --enable-shared –-disable-static -–prefix=/usr/local/faac

make

make install

八、部署MinGW-w64

从http://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe 下载MinGW-w64,安装在C:/mingw-w64/,然后修改c:\msys\etc\fstab文件中路径,将MinGW路径配置成:C:/mingw-w64/mingw32。

九、编译ffmpeg

解压下载的ffmpeg0.9.0源码包,例如放到D:\ffmpeg1.2\ffmpeg0.9.0目录,msys进入ffmpeg目录,依次执行:

./configure --enable-shared --disable-static --enable-memalign-hack --enable-libx264 --enable-gpl  --enable-nonfree --enable-libfaac --prefix=/usr/local/ffmpeg9.0
make

make install

专题:Windows编译x264、SDL、faac、ffmpeg过程的更多相关文章

  1. 在windows下编译x264

    最近因为各种原因,对流媒体的学习,突然中断在了编码这块.今天难得静下心来,从新拿起了代码. 对encode这边,因为之前虽然也接触了,也找了两个例子,但目前还没真正开始,所以先从编译x264这个库开始 ...

  2. 在Windows下利用Eclipse调试FFmpeg

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

  3. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

    转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...

  4. 从零开始编译属于你的FFmpeg

    一.前提: 编译FFmpeg可以是初学者,尤其是对C语言项目,Linux编译不熟悉的的初学者的一道门槛. 我曾经找过很多博客,文章,有些能编译成功,有些则不能.编译通过,能够运行也是云里雾里的.其实最 ...

  5. 用mingw-w64 编译 x64 位的ffmpeg

    http://blog.sina.com.cn/s/blog_6125d067010168dt.html 工作中用到了ffmpeg x64. 发现编译出来x64的ffmpeg,很不容易.特记录下来.原 ...

  6. Windows编译Nginx源码

    Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...

  7. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...

  8. ffmpeg源码编译安装(Compile ffmpeg with source) Part 2 : 扩展安装

    在Ubuntu,Debian,Mint上编译ffmpeg 本文主要为在Ubuntu,Debian和Mint上编译安装ffmpeg和库文件以及一些扩展的编解码器.当然这与从源中安装无关. 请首先看一下通 ...

  9. 【转载】OGRE 2.1 Windows 编译

    OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE: OGRE官方推出了最新 ...

随机推荐

  1. 【BZOJ】【1115】【POI2009】石子游戏KAM

    博弈论 这个题……一看就觉得很捉急啊= =肿么办? 灵光一现:差分一下~ 那么我们看一下差分以后,从第 i 堆中拿走 k 个石子变成了:a[i]-=k; a[i+1]+=k; 嗯这就转化成了阶梯博弈! ...

  2. hdu 1757 A Simple Math Problem (矩阵快速幂,简单)

    题目 也是和LightOJ 1096 和LightOJ 1065 差不多的简单题目. #include<stdio.h> #include<string.h> #include ...

  3. mac上eclipse上配置hadoop

    在mac上安装了eclipse之后,配置hadoop其实跟在linux上配置差不多,只是mac上得eclipse和界面和linux上得有点不同. 一:安装eclipse eclipse得安装比较简单, ...

  4. Matlab安装

    第一步:下载MATLAB 7.0,下载自己百度下就好. 三个ios文件 第二步:把每个IOS文件直接右键解压就好. 第三步:打开第一个解压文件夹.双击.exe文件 第四步:next之后把序列号黏贴上去 ...

  5. shop++ 安装

    1.安装tomcat后 ,G:\apache-tomcat-6.0.35\conf\server.xml 中设置tomcat 编码为utf-8. 增加URIEncoding = "UTF-8 ...

  6. mac 下周期调度命令或脚本

    crontab 是在linux服务器上部署定时任务的方法 0 5 * * * /usr/bin/python /data/www/tools/mysql_backup.py cmd之前有5个项目要填, ...

  7. jsp是有自己的编译引擎的

    什么是jsp? JSP(Java Server Pages)是指: 在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端 ...

  8. 网上图书商城项目学习笔记-012BOOK模块查询2

    一.分析 > 按图名查询(模糊)(分页)> 按作者查询(分页)> 按出版社查询(分页)> 按id查询> 多条件组合查询(分页) 二.代码 1.view层 (1)gj.js ...

  9. ReadDirectoryChangesW 监控文件夹 (一个简单的监控示例程序)(文件被修改了,也可以探测到)

    // .h文件 #pragma once typedef void (*PFN_NotifyAction)(DWORD dwAction, LPWSTR szFile, DWORD dwLength) ...

  10. App应用与思考

    我为什么没有加入苹果的iOS APP移动大军?http://blog.csdn.net/Code_GodFather/article/details/7956858 ----------------- ...