0

可能なすべてのコーデックを含めて、Android用のubuntuで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
4

4 に答える 4

1

libfaacは最悪です。--enable-libfaacと を取り外し--enable-nonfreeます。代わりにネイティブの FFmpeg AAC エンコーダーを使用でき、それを使用するために追加の外部ライブラリは必要ありません。

于 2016-03-03T02:04:01.447 に答える
0

以下のリンクから faac-1.26-1.el6.rf.x86_64.rpm と faac-devel-1.26-1.el6.rf.x86_64.rpm をインストールします。

http://pkgs.repoforge.org/faac/
于 2016-03-16T13:34:29.653 に答える
0

最後に、私はそれを働かせました。問題は、ライブラリの場所が見つからないことでした。次のコマンドを入力しました: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
于 2016-03-03T20:20:17.220 に答える
0

このエラーを解決するには libfdk-aac-dev をインストールしてください

apt install libfdk-aac-dev

于 2020-08-10T20:42:09.510 に答える