windows平台编译ffmpeg
来源:互联网 发布:java面向对象封装 编辑:程序博客网 时间:2024/05/17 00:02
1. 安装MinGW和msys.
使用mingw在线安装工具安装mingw和msys其到F盘,位置可以任意指定.
点击Installation –> Apply开始安装。
修改F:\MinGW\msys\1.0\etc目录下的fstab.sample文件名为fstab,在文件中输入如下内容:
安装完成以后执行msys.bat文件启动一个类似Linux终端的对话框,现在将会在F:\MinGW\msys\1.0目录下自动创建home/Administrator(Administrator为当前计算机用户名)目录。在Administrator目录中新建install, install/bin, install/include, install/lib, source 共5个目录。
2. yasm
下载yasm,重命名为yasm.exe,拷贝到install/bin目录。
3. 安装pgk-config
从http://www.gtk.org/download/win32.php下载安装包,或者分别下载pkg-config, glib, gettext 3个库,将目标文件bin目录中的文件拷贝到install/bin目录。
4. lib.exe
从VC++安装目录下拷贝lib.exe到install/bin目录。
5. 环境变量及源码拷贝。
启动msys.bat,在终端中输入:
export PATH=”:/home/Administrator/install/bin:$PATH”
这样编译器就能找到放入install/bin目录中的依赖库。
6. 拷贝各个需要编译的项目的源码到source目录。
7. 编译SDL
从http://www.libsdl.org/download-1.2.php下载SDL 1.2.15。
执行:configure –> make –> make install.
目前编译SDL过程还有问题,暂时先使用SDL官网编译好的mingw32版,将其include,bin,lib文件夹的内容放入install对应的目录中,打开sdl-config文件,进行如下修改:
a. 修改prefix路径,改为自己实际的安装路径
b. 删除文件里面的2个”-mwindows”
8. 编译mp3lame
./configure –prefix=/home/Administrator/install –disable-static –enable-shared
9. 编译x264
./configure –prefix=/home/Administrator/install –enable-shared
10. 编译libxvid
源码下载地址:http://www.xvid.org/Downloads.43.0.html
进入xvidcore\build\generic目录,执行命令: configure, 然后在platform.inc文件中删除“-mno-cygwin”;
执行make –> make install.
11. 编译ffmpeg
./configure –prefix=/home/Administrator/install –enable-gpl –enable-version3 –enable-memalign-hack –enable-nonfree –disable-static –enable-shared –enable-libmp3lame –enable-libx264 –extra-cflags=-I/home/Administrator/install/include –extra-ldflags=-L/home/Administrator/install/lib
–prefix 编译的ffmpeg目标地址。
–extra-cflags 依赖三方库的头文件。
–extra-ldflags 依赖三方库lib文件。
相关问题及解决方法
- ffmpeg控制台上不能输出信息的解决办法
经过研究ffmpeg的config.mak文件发现,-mwindows是windows窗口APP所需的参数,而要在控制台下输出信息必须是windows控制台程序。所以只需将文件中出现两次的-mwindows都删除即可。
另外一种解决办法,修改sdl-config,将文件中的-mwindows删除。但须重新运行configure