绪论:

我们的项目,需要使用aac作音频的编解码,x264作为视频的编码,ffmpeg本身实现了x264的解码。

刚开始在faac和faad编译的时候都挺顺利的,x264也顺利的编译出来,但是在把这些库链接到ffmpeg中的时候,就出现了很多错误,大概有libx264 not found,x264_encoder_encode not found,还有一个汇编文件的错误,很是奇怪。

在网上搜索方法解决问题,说法各异,根本无法确定这些方法是否可行。于是,就把网上的解决方案统统都试一遍,死马当活马医,总该有一种方法适合吧。事实证明我的想法是错误的。

静下心来思考一下,我觉得我所有的编译过程都应该没有问题,为什么就编译不进去呢,我又重新把faac,faad,x264重新编译了一遍,并且用输出重定位,将faac,faad,x264的编译过程重定位到一个txt文件上去,再来分析编译过程中有没有存在什么问题,仔细检查发现,faac和faad都是使用的交叉编译器编译的(也就是arm-mingw32ce-gcc),但是x264是使用gcc编译器编译的,这就是问题的关键。可以说一个是x86平台的指令集,一个是arm平台的指令集,两个不同的平台,怎么能连接的进去呢,难怪ffmpeg总是提示和x264有关的错误。

在该文档中,我将把我编译ffmpeg的全部过程,详细的说明一遍。以便对日后工作提供相关的帮助。