1

我正在尝试使用 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。

4

1 回答 1

2

您必须确保 libopencore 存在于您正在编译的 sysroot 中,这就是 --sysroot 参数指向的位置。有可能那里没有 libopencore,因此配置脚本将其禁用。

于 2013-01-11T03:09:50.510 回答