【FFmpeg】Windows下FFmpeg编译
由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类似Linux的编译环境。本文主要记录Windows下FFmpeg编译的过程。
1.资源准备
准备编译过程所需的软件工具和源代码。
(1). MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/
(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
2.软件安装
(1).MinGW+Msys编译环境安装
一种方法是先安装mingw,再通过网络下载的方法来安装mingw和msys软件。安装好之后,再通过烦琐的配置,来搭建编译环境。另一种直接安装配置好的MinGW+Msys系统。为了降低安装过程的烦琐程度,选择第二种方法,安装MinGW+Msys编译环境。下载MinGW-MSYS Bundle软件后,直接安装程序,配置安装路径,按照软件默认的安装向导,即可把软件安装好。

安装完成后,需要配置msys.bat,用于启动类似于Linux环境的终端。若安装完成后,安装目标”C:\msys\1.0”下没有msys.bat,则需添加msys.bat文件,参考:https://code.google.com/p/msysgit/source/browse/msys.bat,然后,在msys.bat首行添加命令。
call "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/vcvars32.bat"
(2).安装Yasm
下载yasm源码包,解压到E:\ffmpeg1.2\yasm-1.2.0目录。
进行yasm目录,依次执行:
./configure –-prefix=/usr/local/yasm make make install
然后通过以下命令导入yasm环境变量。
export PATH=”$PATH:/usr/local/yasm/bin”
(3).安装SDL
下载SDL的源码包,解压到E:\ffmpeg1.2\SDL-1.12.15目录
进入SDL目录,依次执行
./configure -–prefix=/usr/local/SDL make make install
通过以下命令导入SDL环境变量。
export PATH=”$PATH:/usr/local/SDL/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/SDL/include/SDL"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/SDL/lib”
(4).安装x264
下载X264源代码包,解压到E:\ffmpeg1.2\x264
进入到x264目示,依次执行
./configure --enable-shared –-disable-asm -–prefix=/usr/local/x264 make make install
通过以下命令导入x264环境变量。
export PATH=”$PATH:/usr/local/x264/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/x264/include"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/x264/lib”
(5).安装FFmpeg
下载ffmpeg源代码包,解压到E:\ffmpeg1.2\ffmpeg1.2
进入到ffmpeg1.2目录,依次执行
./configure –-enable-shared -–disable-static –-enable-memalign-hack --enable-libx264 --enable-gpl –-prefix=/usr/local/ffmpeg1. make make install
安装完成后,可到D:\msys\1.0\local\ffmpeg1.2目录,查看安装结果。
注意:
若需要ffmpeg支持其他视频音频编解码器,只需下载相应源代码,按照以下步骤安装:
配置(./configure)--->编译(make)--->安装(make install)--->导入环境变量(export)。
另外,在编译ffmpeg时,开启相应编解码器的配置即可。
【FFmpeg】Windows下FFmpeg编译的更多相关文章
- Windows下FFmpeg快速入门
本系列文章导航 Windows下FFmpeg快速入门 ffmpeg参数解释 mencoder和ffmpeg参数详解(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视 ...
- Windows下FFmpeg高速入门
本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...
- Windows下FFmpeg快速入门 <第二篇>
FFmpeg简介 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库.FFmpeg 在Linux上开发,当可 ...
- 原创 C++应用程序在Windows下的编译、链接:第一部分 概述
本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...
- C++应用程序在Windows下的编译、链接(一)概述
C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 c ...
- ACE在windows下的编译及配置(VS2010)
ACE在windows下的编译及配置(VS2010) 分类: -[小西南]- 2013-08-06 16:17 2354人阅读 评论( ...
- [转]QGis2.9在windows下的编译以及二次开发包下载
今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...
- windows下rabbitmq-c编译(带openssl、无需MinGW)
因为项目原因,需要使用到rabbitmq的c客户端库.首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cach ...
- Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)
后记: 由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看: <Windows7 VS2015 下编译 PythonQt3.2> https:// ...
随机推荐
- 常用 sql
一. sql 多个字段拼接 mysql: 1. concat函数 如果连接串中存在NULL,则返回结果为NULL: 例如: select concat('1','2','3') ...
- java 面向对象
Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征:继承.封装和多态.Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一 ...
- ViewPager 的页面重置问题
当我们使用ViewPager控件时,假设我们的ViewPager有三页,当我们第一次启动ViewPager显示第一页的时候,ViewPager会预加载第二页,这样当我们向第二页滑动的时候就可以看见第二 ...
- KendoUI系列:ComboBox
1.基本使用 1>.创建Input <input id="color" placeholder="Select Color..." /> &l ...
- PHP变量在内存中的存储方式
原文:http://www.phppan.com/tag/refcount/ 每门计算机语言都需要一些容器来保存变量数据.在一些语言当中,变量都有特定的类型,如字符串,数组,对象等等.比如C和Pasc ...
- 总结整理 -- 爬虫技术(C#版)
爬虫技术学习总结 爬虫技术 -- 基础学习(一)HTML规范化(附特殊字符编码表) 爬虫技术 -- 基本学习(二)爬虫基本认知 爬虫技术 -- 基础学习(三)理解URL和URI的联系与区别 爬虫技术 ...
- [转载]TFS与Project、Excel同步
我们还可以使用Microsoft Excel和Microsoft Project来连接到TFS,方法如下: 通过Microsoft Excel连接到TFS,在安装了Team Explorer后,Mic ...
- [转载]PhotoShop性能优化
现在随着Photoshop版本越来越高功能也越来越强大,而往往强大的功能需要电脑有好的配置运行,比如HDR.图像合成或者3D和视频等类似的功能,还有处理比较大尺寸的图像时,如果电脑配置不够强往往非常卡 ...
- 初探JavaScript(三)——JS带我"碰壁"带我飞
已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...
- installshield生成时提示6003错误的一种可能
因为项目需要,2014年写过的一个老项目需要重新打包.开发电脑换了,原来开发的系统是win7,现在已经升到了win10.而且原来使用installshield limited 2013开发的打包项目已 ...