window下编译ffmpeg

网上关于编译ffmpeg的帖子不少,我也尝试了不少次,可是不少都过不了,一部分缘由是版本问题,还有就是有的路劲没说的太明白致使的,通过一天的摸索,最终编译好了,下面把编译方式写下来,但愿对看到帖子的人有帮助,特别感谢:http://www.cnblogs.com/zzugyl/p/3186170.htmlphp

特别注意:路径千万别弄错了,不然ffplay.exe可能编译不出来html

一、准备工做:windows

在干活以前,先把下面五个软件下载下来。网络

1)MinGW-MSYS Bundle   http://sourceforge.net/projects/mingwbundle/网站

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

3)yasm                                http://yasm.tortall.net/Download.htmlhtm

4)FFmpeg                           http://www.ffmpeg.org/download.htmlblog

5)pthreadgc2.dll                http://www.dll-files.com/dllindex/dll-files.shtml?pthreadgc2 get

二、安装MinGW-MSYS Bundle软件源码

网上99%的方法都是先安装mingw,再经过网络下载的方法来安装mingw和msys软件。安装好以后,还须要经过烦琐的配置,来搭建编译环境。sourceforge开源平台给你们带来了福音,MinGW-MSYS Bundle软件同时包含了MinGW和MSYS,不须要链接网络进行安装,而且包含了最新的核心组件和库文件。

按照软件默认的安装向导,一路Next,把软件安装好。我是把软件装在了C盘。

三、安装SDL

到上文列出的SDL官方网站地址,下载SDL源码包。咱下载SDL最新的源码包SDL-1.2.15.tar.gz

到ffmpeg网站,下在ffmpeg源码包,咱下的是最新的版本ffmpeg-1.2.1.tar.gz

把ffmpeg解压缩到C:\msys\1.0\ffmpeg-1.2.1\ffmpeg-1.2.1\ 目录,再把SDL解压缩到C:\msys\1.0\ffmpeg-1.2.1\ffmpeg-1.2.1\SDL-1.2.15目录。

进入SDL目录,分别执行 

./configure --prefix=/usr

make

make 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/lib"

不然,在执行ffmpeg  configure时,SDL support项显示为no.(注:mingw默认根目录对应与windows下的C:\msys\1.0\目录,能够经过echo $PATH查看当前的系统路径)

四、安装yasm

到yasm官方网站,下载最新的1.2.0版本的yasm源码包Source .tar.gz
解压到C:\msys\1.0\ffmpeg-1.2.1\yasm-1.2.0目录。

进入yasm目录,分别执行:

./configure --prefix=/usr/local/yasm

make

make  install

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

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

五、安装ffmpeg

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

./configure --enable-shared --disable-static --enable-memalign-hack

make  

make install

编译完成后,在C:\MinGW\msys\1.0的bin、include和lib文件夹下能够看到编译结果。

make install 以后,ffplay.exe 、ffmpeg.exe等可执行程序安装到C:\MinGW\msys\1.0\bin路径下。

 

执行ffplay后效果:

相关文章
相关标签/搜索