Windows平台编译FFmpeg图文教程(3)

3、编译ffmpeg
ffmpeg的代码从github下载:https://github.com/FFmpeg/FFmpeg

与编译依赖库类似,进入代码目录,依次执行下列命令:

./configure --prefix=/mingw --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-postproc --enable-avfilter --enable-runtime-cpudetect --enable-memalign-hack --enable-bzlib --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --disable-debug --enable-pthreads

但是系统会提示pr: command not found。我们需要在?name=coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2&can=2&q=下载 coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2这个文件,并将bin目录下的pr.exe复制到/msys1.0/bin目录下。

系统提示找不到libxvid,所以暂时把"--enable-libxvid"去掉,重新configure,成功。

下面执行:

make

make install

执行成功,在/mingw/bin文件夹下我们成功看到了编译出来的dll以及可执行程序!

Windows平台编译FFmpeg图文教程

再次尝试libxvid。从msys/local/include中将xvid.h复制到mingw/include中,在configure命令中加上--enable-libxvid,再次configure,现在发现成功了。执行make/make install也一切正常。

4、后记
经过了旷日持久的研究和调试,终于成功地将ffmpeg库编译出来。但是事情到此并没有彻底结束,依然存在着一个问题没弄明白。在第一次尝试编译的时候,我所使用的是codeblocks-13.12mingw-setup-TDM-GCC-481.exe这个IDE,但是在最后make ffmpeg的时候,在libavutil/time.c这个文件的编译过程中总是出现错误,提示“Storage size of  'ts' isn't known”(如下图)。到现在仍然不知道这是因为什么引起的。在今天换用了codeblocks-13.12mingw-setup.exe之后便可以正常编译通过了。这究竟是什么问题呢?这两个IDE的版本究竟有多大区别?由于对这部分知识不熟悉,现在这些问题仍然像未解之谜一样难以得知,仍待以后继续学习。

Windows平台编译FFmpeg图文教程

FFmpeg 的详细介绍请点这里
FFmpeg 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17199.html