我正在尝试使用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脚本将其禁用。

10-07 20:44