繁体   English   中英

错误:编译 FFMPEG 库时找不到 libfaac

[英]ERROR: libfaac not found while compiling FFMPEG library

我试图在 ubuntu 下为 android 编译 FFMPEG 库,包括所有可能的编解码器。 我跟着这个教程http://www.roman10.net/2013/08/18/how-to-build-ffmpeg-with-ndk-r9/ 但是当我执行 ./build_android.sh 时,它给了我这个错误:

root@AK-74:/home/rango/Desktop/android-ndk-r10e/sources/ffmpeg-3.0# ./build_android.sh 错误:找不到 libfaac

如果您认为 configure 有误,请确保您使用的是 Git 的最新版本。 如果最新版本失败,请向 ffmpeg-user@ffmpeg.org 邮件列表或 irc.freenode.net 上的 IRC #ffmpeg 报告问题。 包括由 configure 生成的日志文件“config.log”,因为这将有助于解决问题。

这是我的 build_android.sh 内容:

#!/bin/bash
NDK=/home/rango/Desktop/android-ndk-r10e
SYSROOT=$NDK/platforms/android-19/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86

function build_one
{
./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --enable-gpl \
    --enable-version3 \
    --enable-nonfree \
    --enable-shared \
    --enable-libopencore-amrnb \
    --enable-libopencore-amrwb \
    --enable-libfaac \
    --enable-libgsm \
    --enable-libmp3lame \
    --enable-libtheora \
    --enable-libvorbis \
    --enable-libx264 \
    --enable-libxvid \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=linux \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4
make install
}

CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"

build_one

libfaac 很烂 删除--enable-libfaac--enable-nonfree 您可以改用本机 FFmpeg AAC 编码器,并且不需要额外的外部库来使用它。

最后我让它工作。 问题是它找不到库的位置。 我输入了这个命令:locate libfaac。 从输出中我意识到它在“/usr/lib/i386-linux-gnu/”下:

/usr/lib/i386-linux-gnu/libfaac.a

/usr/lib/i386-linux-gnu/libfaac.so

/usr/lib/i386-linux-gnu/libfaac.so.0

/usr/lib/i386-linux-gnu/libfaac.so.0.0.0

所以我接下来要做的是将此行添加到“./build_android.sh”以告诉它在那里查看:

--extra-ldflags=-L/usr/lib/i386-linux-gnu/

所以脚本变成:

#!/bin/bash
NDK=/home/rango/Desktop/android-ndk-r10e
SYSROOT=$NDK/platforms/android-19/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86

function build_one
{
echo $PREFIX
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--enable-nonfree \
--disable-symver \
--enable-gpl \
--enable-version3 \
--enable-shared \
--enable-libmp3lame \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-libgsm \
--enable-libfaac \
--extra-ldflags=-L/usr/lib/i386-linux-gnu/
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4
make install
}

CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"

build_one

从下面的链接安装 faac-1.26-1.el6.rf.x86_64.rpm 和 faac-devel-1.26-1.el6.rf.x86_64.rpm。

http://pkgs.repoforge.org/faac/

安装 libfdk-aac-dev 来解决这个错误

apt install libfdk-aac-dev

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM