一直以来就想自己编译
FFmpeg,在网上也找了不少的资料,但都不能成功。
幸运的是找到了一个英文网站,是专门介绍 FFmpeg编译的:
http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page
上面有详细说明在 Windows环境下进行 FFmpeg编译的整个过程。因为上面的英文比较浅显,就照着做了一遍,还真的成功了。为了以后能够更好的学习,特将步骤写下,以存记录。
一、安装 MSys,相当于一个操作系统虚拟机
首先下载以下程序包 :
MSYS-1.0.11-2004.04.30-1.exe
MSYS-1.0.11-20080821-dll.tar.gz
bash-3.1-MSYS-1.0.11-snaphshot.tar.bz2
coreutils-5.9.7-MSYS-1.0.11-snapshot.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
(一)安装 MSYS-1.0.11-2004.04.30-1.exe
直接双击安装文件,一路 next进行安装设置,在选择安装路径时,默认为 c:/msys/1.0,采用上面网站的建议,将安装路径设为 c:/msys后继续下一步。最后安装程序将提示你是否真的要安装 MSys,选择是进行安装。随后会弹出一个控制台界面,询问你是否要进行 post install,输入 n回车选择不安装。
(二)安装 MSYS-1.0.11-20080821-dll.tar.gz
这个其实就是解压缩的过程,用 winrar将此包解压,然后将解压后的 bin文件夹拷贝到 c:/msys目录,由于已经存在 bin目录,所以系统会提示是否覆盖,选择是。
(三)安装 bash-3.1-MSYS-1.0.11-snaphshot.tar.bz2
其实只需要包里的 bin文件夹,将其解压后拷入 c:/msys,系统提示是否替换 sh.exe时选择是。
(四)安装 coreutils-5.9.7-MSYS-1.0.11-snapshot.tar.bz2
按照网站指导,只解压 bin文件夹中的 pr.exe到 c:/msys/bin目录。
(五)安装 make-3.81-MSYS-1.0.11-2.tar.bz2
按照网站建议,先将 c:/msys/bin中的 make.exe文件名添加版本号后改名,以备后用。原来的 make版本只要在 cmd中输入 c:/msys/bin/make -v即可查看 make的当前版本号。改完名字后将上述包解压后拷入 c:/msys。
二、 MinGW的安装, FFmpeg的编译环境
将以下压缩包解压到 c:/msys/mingw目录,系统提示覆盖的时候就确定。
binutils-2.18.50-20080109-2.tar.gz
mingwrt-3.15.1-mingw32-dll.tar.gz
mingwrt-3.15.1-mingw32-dev.tar.gz
w32api-3.13-mingw32-dev.tar.gz
gcc-core-3.4.5-20060117-1.tar.gz
gcc-g++-3.4.5-20060117-1.tar.gz
三、将 MinGW集成到 MSys中
用记事本打开 c:/msys/etc/fstab.sample文件,将其中的 c:/mingw /mingw改成 c:/msys/mingw /mingw
到此编译环境算是搭建成功,下图是我的目录结构。
四、编译 FFmpeg
执行 c:/msys目录下的 msys.bat,系统将弹出一个命令窗口(类似于 Windows下的 cmd),所有的命令都是在这个窗口中完成的。将下载的 FFmpeg文件放到 c:/ffmpeg,位置不限。在命令窗口中将当前路径切换到 c:/ffmpeg目录,方法是输入 cd /c/ffmpeg 或 cd c:/ffmpeg。以下的操作都将在这个目录中进行。
因为对 FFmpeg的配置参数不是很清楚,在进行 configure时只输入几个必要项。
./configure –enable-memalign-hack –extra-cflags=”-fno-common” 第一项参数就 Windows下必需的选项,回车后需要一点时间,生成配置文件,建议先到外面放松一下眼睛。
系统生成config.mak 和 config.h后就可以开始真正的编译了。输入make后进行FFmpeg的编译,这步需要一点时间,休息一下吧。这一步将生成ffmpeg.exe,这就是最终的ffmpeg,可以让它上战场了。
幸运的是找到了一个英文网站,是专门介绍 FFmpeg编译的:
http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page
上面有详细说明在 Windows环境下进行 FFmpeg编译的整个过程。因为上面的英文比较浅显,就照着做了一遍,还真的成功了。为了以后能够更好的学习,特将步骤写下,以存记录。
一、安装 MSys,相当于一个操作系统虚拟机
首先下载以下程序包 :
MSYS-1.0.11-2004.04.30-1.exe
MSYS-1.0.11-20080821-dll.tar.gz
bash-3.1-MSYS-1.0.11-snaphshot.tar.bz2
coreutils-5.9.7-MSYS-1.0.11-snapshot.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
(一)安装 MSYS-1.0.11-2004.04.30-1.exe
直接双击安装文件,一路 next进行安装设置,在选择安装路径时,默认为 c:/msys/1.0,采用上面网站的建议,将安装路径设为 c:/msys后继续下一步。最后安装程序将提示你是否真的要安装 MSys,选择是进行安装。随后会弹出一个控制台界面,询问你是否要进行 post install,输入 n回车选择不安装。
(二)安装 MSYS-1.0.11-20080821-dll.tar.gz
这个其实就是解压缩的过程,用 winrar将此包解压,然后将解压后的 bin文件夹拷贝到 c:/msys目录,由于已经存在 bin目录,所以系统会提示是否覆盖,选择是。
(三)安装 bash-3.1-MSYS-1.0.11-snaphshot.tar.bz2
其实只需要包里的 bin文件夹,将其解压后拷入 c:/msys,系统提示是否替换 sh.exe时选择是。
(四)安装 coreutils-5.9.7-MSYS-1.0.11-snapshot.tar.bz2
按照网站指导,只解压 bin文件夹中的 pr.exe到 c:/msys/bin目录。
(五)安装 make-3.81-MSYS-1.0.11-2.tar.bz2
按照网站建议,先将 c:/msys/bin中的 make.exe文件名添加版本号后改名,以备后用。原来的 make版本只要在 cmd中输入 c:/msys/bin/make -v即可查看 make的当前版本号。改完名字后将上述包解压后拷入 c:/msys。
二、 MinGW的安装, FFmpeg的编译环境
将以下压缩包解压到 c:/msys/mingw目录,系统提示覆盖的时候就确定。
binutils-2.18.50-20080109-2.tar.gz
mingwrt-3.15.1-mingw32-dll.tar.gz
mingwrt-3.15.1-mingw32-dev.tar.gz
w32api-3.13-mingw32-dev.tar.gz
gcc-core-3.4.5-20060117-1.tar.gz
gcc-g++-3.4.5-20060117-1.tar.gz
三、将 MinGW集成到 MSys中
用记事本打开 c:/msys/etc/fstab.sample文件,将其中的 c:/mingw /mingw改成 c:/msys/mingw /mingw
到此编译环境算是搭建成功,下图是我的目录结构。
四、编译 FFmpeg
执行 c:/msys目录下的 msys.bat,系统将弹出一个命令窗口(类似于 Windows下的 cmd),所有的命令都是在这个窗口中完成的。将下载的 FFmpeg文件放到 c:/ffmpeg,位置不限。在命令窗口中将当前路径切换到 c:/ffmpeg目录,方法是输入 cd /c/ffmpeg 或 cd c:/ffmpeg。以下的操作都将在这个目录中进行。
因为对 FFmpeg的配置参数不是很清楚,在进行 configure时只输入几个必要项。
./configure –enable-memalign-hack –extra-cflags=”-fno-common” 第一项参数就 Windows下必需的选项,回车后需要一点时间,生成配置文件,建议先到外面放松一下眼睛。
系统生成config.mak 和 config.h后就可以开始真正的编译了。输入make后进行FFmpeg的编译,这步需要一点时间,休息一下吧。这一步将生成ffmpeg.exe,这就是最终的ffmpeg,可以让它上战场了。