由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类似Linux的编译环境。本文主要记录Windows下FFmpeg编译的过程。

资源准备

  1. 准备编译过程所需的软件工具和源代码。<br /> (1). MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/ <br /> (2). Yasm http://yasm.tortall.net/Download.html <br /> (3). SDL http://www.libsdl.org/download-1.2.php <br /> (4). X264 http://www.videolan.org/developers/x264.html <br /> (5). FFmpeg http://www.ffmpeg.org/download.html

软件安装

1)MinGW+Msys编译环境安装

  1. 一种方法是先安装mingw,再通过网络下载的方法来安装mingwmsys软件。安装好之后,再通过烦琐的配置,来搭建编译环境。另一种直接安装配置好的MinGW+Msys系统。为了降低安装过程的烦琐程度,选择第二种方法,安装MinGW+Msys编译环境。下载MinGW-MSYS Bundle软件后,直接安装程序,配置安装路径,按照软件默认的安装向导,即可把软件安装好。


ffmpeg在windows下的编译 - 图1

2).安装Yasm

  1. 下载yasm源码包,解压到E:\ffmpeg1.2\yasm-1.2.0目录。 <br /> 进行yasm目录,依次执行:<br /> ./configure –-prefix=/usr/local/yasm <br /> make<br /> make install
  2. 然后通过以下命令导入yasm环境变量。<br /> export PATH=”$PATH:/usr/local/yasm/bin

3).安装SDL

  1. 下载SDL的源码包,解压到E:\ffmpeg1.2\SDL-1.12.15目录 进入SDL目录,<br /> 依次执行 <br /> ./configure -–prefix=/usr/local/SDL <br /> make <br /> make install
  2. 通过以下命令导入SDL环境变量。 <br /> export PATH=”$PATH:/usr/local/SDL/bin"<br /> export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/SDL/include/SDL"<br /> export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/SDL/lib

4).安装x264

  1. 下载X264源代码包,解压到E:\ffmpeg1.2\x264 进入到x264目示,<br /> 依次执行 <br /> ./configure --enable-shared –-disable-asm -–prefix=/usr/local/x264 <br /> make <br /> make install
  2. 通过以下命令导入x264环境变量。 <br /> export PATH=”$PATH:/usr/local/x264/bin"<br /> export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/x264/include"<br /> export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/x264/lib

5).安装FFmpeg

  1. 下载ffmpeg源代码包,解压到E:\ffmpeg1.2\ffmpeg1.2 进入到ffmpeg1.2目录,<br /> 依次执行 <br /> ./configure –-enable-shared -–disable-static –-enable-memalign-hack --enable-libx264 --enable-gpl –-prefix=/usr/local/ffmpeg1.2 <br /> make<br /> make install<br />安装完成后,可到D:\msys\1.0\local\ffmpeg1.2目录,查看安装结果。

注意:
若需要ffmpeg支持其他视频音频编解码器,只需下载相应源代码,按照以下步骤安装: 配置(./configure)—->编译(make)—->安装(make install)—->导入环境变量(export)。 另外,在编译ffmpeg时,开启相应编解码器的配置即可。


ffmpeg在windows下的编译 - 图2