windows下编译FFmpeg

来源:互联网 发布:大数据资源管理平台 编辑:程序博客网 时间:2024/06/03 11:53

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

1.资源准备

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

(1)  MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/  mingw-msys-0.6-x86.zip 2012-08-21

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

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

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

(5) libiconv-2.dll http://www.jb51.net/dll/libiconv-2.dll.html

2.软件安装

(1) MinGW+Msys编译环境安装

一种方法是先安装mingw,再通过网络下载的方法来安装mingw和msys软件。安装好之后,再通过烦琐的配置,来搭建编译环境。另一种直接安装配置好的MinGW+Msys系统。为了降低安装过程的烦琐程度,选择第二种方法,安装MinGW+Msys编译环境。下载MinGW-MSYS Bundle(该软件同时包含了MinGW和MSYS,不需要连接网络进行安装,并且包含了最新的核心组件和库文件。)软件后,直接安装程序,配置安装路径,按照软件默认的安装向导,即可把软件安装好。


安装好之后会在C盘下面生成三个文件夹,C:\MinGW、C:\msys和C:\Program Files (x86)\MinGW-MSYS。桌面生成一个快捷方式MinGW-MSYS可以直接启动命令行,我们输入gcc –version可以查看版本号如下


以下所有操作都是从这里进入命令行。

(2) 安装SDL

没有SDL支持,就没法使用ffplay.exe播放。把ffmpeg解压缩到C:\msys\1.0\ffmpeg-1.2.12\ffmpeg-1.2.12\ 目录,再把SDL解压缩到C:\msys\1.0\ffmpeg-1.2.12\SDL-1.2.15目录。进入SDL目录,依次执行

./configure-–prefix=/usr/local/SDLmakemake install

完成SDL的安装。

SDL编译完成之后,生成的bin文件、include文件、lib文件存放在C:\msys\1.0\local\SDL目录下。

通过下面命令导入SDL环境变量.

$ export PATH="$PATH:/usr/local/SDL/bin:/usr/local/SDL/include/SDL:/usr/local/SDL/lib"
否则,在执行ffmpeg  configure时,SDL support项显示为no.(注:mingw默认根目录对应与windows下的C:\msys\1.0\目录,可以通过echo $PATH查看当前的系统路径)

是否成功,可以使用命令查看

$ echo $PATH

(3)安装yasm
解压到C:\msys\1.0\ffmpeg-1.2.12\yasm-1.2.0目录。

进入yasm目录,分别执行:

./configure --prefix=/usr/local/yasmmakemake  install

并通过下面命令导入yasm环境变量。

export PATH="$PATH:/usr/local/yasm/bin"

(4)安装FFmpeg

进入ffmpeg代码目录C:\msys\1.0\ffmpeg-1.2.12\ffmpeg-1.2.12\, 分别执行下面命令:

./configure --enable-shared --disable-static --enable-memalign-hack  –-prefix=/usr/local/ffmpeg1.<span style="color:#800080;">2</span>.12make  make install

安装完成后,可到C:\msys\1.0\local\ffmpeg1.2.12目录,查看安装结果。

最后在C:\msys\1.0\local\ffmpeg1.2.12\bin下执行ffplay即可观看视频(这里需要将缺失的SDL.dll和libiconv-2.dll拷贝到该目录,视频只支持.avi):

注意:

若需要ffmpeg支持其他视频音频编解码器,只需下载相应源代码,按照以下步骤安装:

配置(./configure)--->编译(make)--->安装(make install)--->导入环境变量(export)。

另外,在编译ffmpeg时,开启相应编解码器的配置即可。

0 0