6

H.264 エンコーディングを有効にするには、libx264 をサポートする ffmpeg をインストールする必要がありました。Android-ndk-r9d で利用可能なツールチェーンを使用して、以下のスクリプトを使用して libx264 を正常にインストールしました。

 #!/bin/bash
 NDK=~/android-ndk-r9d
 SYSROOT=$NDK/platforms/android-8/arch-arm/
 TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
 function build_one
 {
 ./configure \
 --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
 --sysroot="$SYSROOT" \
 --host=arm-linux \
 --enable-pic \
 --enable-shared \
 --disable-cli
 make clean
 make
 make install
 }
 build_one 

libx264 をサポートする ffmpeg をビルドしたいと思いました。以下のスクリプトのように、 --enable-libx264 、 --enable-nonfree 、 --enable-gpl オプションを指定して以下のスクリプトを使用しました。

#!/bin/bash
NDK=~/android-ndk-r9d
SYSROOT=$NDK/platforms/android-8/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--enable-nonfree \
--enable-gpl \
--enable-libx264 \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--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
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one

しかし、スクリプトを実行すると、「エラー: libx264 が見つかりません」というエラーが表示されます。

ffmpeg は libx264 のインストール場所を特定できないと思います。libx264 のインストール後、 /usr/local/bin の /usr/local/lib 実行可能ファイルに libx264.so ファイルがあり、 /usr/local/include ディレクトリにヘッダー ファイルがあります。

libx264 を検出するには、ffmpeg ビルド スクリプトにどのような変更を加える必要がありますか?

注:クロスコンパイルにUbuntu 12.04(64ビット)を使用しています。

4

4 に答える 4

8

$ADDI_CFLAGS 変数 ( に渡す--extra-cflags) が含まれていることを確認してください。-I /usr/local/include

于 2014-08-03T00:11:29.460 に答える