我正在尝试使用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。
答案 0 :(得分:2)
您必须确保您正在编译的sysroot中存在libopencore,以及--sysroot参数指向的位置。很可能是那里没有libopencore,所以configure脚本会禁用它。