我正在尝试使用opencore-amr和libx264支持构建ffmpeg,我发现此构建脚本http://sourceforge.net/projects/ffmpeg4android/,可以按预期编译,结果二进制文件在设备上工作正常,并且--enable-libx264出现在二进制文件的输出中我没有通过任何论点。
但是,当我尝试包括对libopencore-amr的支持似乎不起作用时,我已经安装了libopencore-amr和libopencore-amr-devel(我应该补充一点,我已经在fedora和ubuntu上尝试了整个过程)。我修改了Android_Configure.mk文件,使其看起来像这样:
FF_CONFIGURATION_STRING := \
--arch=$(TARGET_ARCH) \
--target-os=linux \
--enable-cross-compile \
--cross-prefix=$(NDK_CROSS_
PREFIX) \
--sysroot=$(NDK_SYSROOT) \
--enable-shared \
--enable-static \
--enable-libopencore-amrnb <-- i've added this line
但是,当我运行./configure时,我看到:
libopencore-amrnb support no
libopencore-amrwb support no
尽管这样,构建仍然顺利,编译错误为零。当我在设备上运行ffmpeg时,一切似乎都可以运行,但是绝对不支持amrnb。
最佳答案
您必须确保libopencore存在于您要针对其进行编译的sysroot中,这就是--sysroot参数所指向的位置。可能那里没有libopencore,因此configure脚本将其禁用。