mingw64+msys编译64位ffmpeg

折腾了一天终于把ffmpeg+x264编译过去了,总共编译了两个版本,一个ffmpeg-20140512-git-5460ab7,还有一个官网的2014年11份的版本。

mingw64环境搭建

1.首先下载mingw64,地址:点击打开链接

下载下来后直接双击安装,我直接安装在C盘,目录如下:


2. 下载msys. http://www.mingw.org/wiki/MSYS/,我下载的是1.0.11版本的。直接点击安装,我安装在C盘,安装过程中会有一些提示,yes就行,最后需要配置一个mingw的环境变量,我配置的是上图中的地址C:/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64,(注意正反斜杠啊)可能他会提示错误,说找不到路径之类的,不要管他,暴力一点,直接到C:\msys\1.0\etc目录,复制fstab.sample为fstab,然后编辑如下图:

接着编辑C:\msys\1.0\msys.bat文件,在开头加上call "D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"在这样环境变量就配置好了。

3.下载x264 ffmpeg

下载完之后全部拷贝到C:\msys\1.0\home。
cd到x264目录,在公司电脑上编译,简直是一路畅通,没有任何错误。步骤如下:
1. ./ configure  --prefix = /mingw  --enable-win32thread  --host=x86_64-w64-mingw32 --enable-static --enable-shared  
make
make install,然后你去你会发现mingw64下面会有x264的.h 以及lib文件。
2.编译ffmpeg
我用的命令如下
./configure --prefix=/mingw --enable-gpl --enable-nonfree --enable-postproc --enable-avfilter --enable-ffplay --enable-avresample --enable-w32threads --enable-runtime-cpudetect --enable-memalign-hack --enable-bzlib --enable-libx264 --enable-zlib --disable-debug --enable-shared --arch=x86_64 --host-os=win64 --extra-cflags=-I/mingw/include --extra-ldflags=-L/mingw/lib ,大家可以根据自己的需求增减选项。configure之后肯定会报一个警告,没有pkg-config这个玩意,需要下载glib_2.18.4-1_win32.zip和pkg-config_0.23-3_win32.zip,下载完之后只要把pkg-config.exe这个东西拷贝到msys/1.0/bin目下,然后会少个dll,在把dll拷贝进去。在执行上面的命令之后,这个警告就不会出现了。
接着
make
make install,ok安装完毕,你直接在msys里面执行cd /mingw/bin,里面你就可以看到很多dll,和ffserver.exe之类的,如果你需要编译出ffplay,那还要编译一个SDL1.2版本的。到此为止全部就搞定了,感觉又很简单,关键是msys的环境变量一定要配置好,否则出现各种蛋疼。
编译新版本的ffmpeg的时候会出现某某dll库找不到,缺什么下载什么,有64位版本就用64位版本,确保不出问题。这样下来应该就可以编译通过了。
查看编译后的版本是否是64位的,可以用

参考了:http://www.cnblogs.com/dwdxdy/p/3626999.html
http://blog.sina.com.cn/s/blog_6125d067010168dt.html

PS:我记得以前编译ffmpeg和x264的时候总是提示一些类型错误int8_t之类的,是因为inttype.h 还有stdint.h这两个头文件的问题,不过现在的版本编译的时候不会再出现这种低级错误了,如果你编译新版本的时候出现,或许是你环境没有配置好,你可以从mingw里面拷贝这两个文件,然后自己改,估计也够呛的。
我把我编译的东西放到了百度网盘,msys 和mingw ffmpeg x264 sdl都有,下载之后直接解压到C盘.
地址:http://pan.baidu.com/s/1sjqLhXN
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值