专题:Windows编译x264、SDL、faac、ffmpeg过程
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.0make make install
专题:Windows编译x264、SDL、faac、ffmpeg过程的更多相关文章
- 在windows下编译x264
最近因为各种原因,对流媒体的学习,突然中断在了编码这块.今天难得静下心来,从新拿起了代码. 对encode这边,因为之前虽然也接触了,也找了两个例子,但目前还没真正开始,所以先从编译x264这个库开始 ...
- 在Windows下利用Eclipse调试FFmpeg
目录 [隐藏] 1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...
- WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码
转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...
- 从零开始编译属于你的FFmpeg
一.前提: 编译FFmpeg可以是初学者,尤其是对C语言项目,Linux编译不熟悉的的初学者的一道门槛. 我曾经找过很多博客,文章,有些能编译成功,有些则不能.编译通过,能够运行也是云里雾里的.其实最 ...
- 用mingw-w64 编译 x64 位的ffmpeg
http://blog.sina.com.cn/s/blog_6125d067010168dt.html 工作中用到了ffmpeg x64. 发现编译出来x64的ffmpeg,很不容易.特记录下来.原 ...
- Windows编译Nginx源码
Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...
- OGRE 2.1 Windows 编译
版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...
- ffmpeg源码编译安装(Compile ffmpeg with source) Part 2 : 扩展安装
在Ubuntu,Debian,Mint上编译ffmpeg 本文主要为在Ubuntu,Debian和Mint上编译安装ffmpeg和库文件以及一些扩展的编解码器.当然这与从源中安装无关. 请首先看一下通 ...
- 【转载】OGRE 2.1 Windows 编译
OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE: OGRE官方推出了最新 ...
随机推荐
- phonegap/cordova 启动页面
启动phonegap应用时,因为phonegap还在加载一系列的东西,总会出现一段时间的黑屏.解决方法是设置一个启动页面(闪屏)来过渡,让应用的用户体验更好一些. 先讲ios版本的: 首先,你需要准备 ...
- ios开发小技巧之摇一摇截屏
1. 监控摇一摇动作 1> 让当前视图控制器成为第一响应者 // 必须先让当前视图控制器成为第一响应者才能响应动作时间 [self becomeFirstResponder]; 2> 实现 ...
- 如何解决VS启动越来越慢
VS2013 用久后,现在启动和打开项目变得很慢 解决方案: A.清理缓存 VS2010清理缓存:启用vs2010命令行工具:在vs2010命令提示符下,执行devenv.exe /resetuser ...
- 01-04-02【Nhibernate (版本3.3.1.4000) 出入江湖】HQL查询
public IList<Customer> GetAllHql() { IList<Customer> result = null; ISession session = _ ...
- 关于JS及应用程序开发的一些体会
代码通常从 一,生命周期 二,业务流程 这几方面来看. JS Client可以和Server端分离. JS端的生命周期. Server端就是 JS能处理的只是HTTP协议.
- Unity3D脚本中文系列教程(七)
http://dong2008hong.blog.163.com/blog/static/4696882720140311445677/?suggestedreading&wumii Unit ...
- POJ1860Currency Exchange(SPFA)
http://poj.org/problem?id=1860 题意: 题目中主要是说存在货币兑换点,然后现在手里有一种货币,要各种换来换去,最后再换回去的时候看能不能使原本的钱数增多,每一种货币都有 ...
- jQuery动画效果实现
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- error: ‘for’ loop initial declarations are only allowed in C99 mode
比如写出下面这段程序: for (int i = 0; i < n; ++i) do_something(); 然后用gcc编译,会报 ‘for’ loop initial declaratio ...
- java:类集框架
类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表Lis ...

