Mac OSコンパイルAndroidプラットフォームFFmpeg
7377 ワード
ツールの準備 FFmpeg 4.1.5バージョンのソース、ダウンロードリンク:http://ffmpeg.org/download.html NDK(android-ndk-r 17 c)、ダウンロードリンク:https://developer.android.google.cn/ndk/downloads
構成の変更
1、configureの修正
ffmpeg-4.1.5つのディレクトリ、Sublime Textを使用して編集configureを開き、次の4行の構成を見つけます.
変更後:
2、コンパイルスクリプトの修正
ffmpeg-4.1.5つのディレクトリからbuild_を作成android.shファイル、同様にSublime Textで編集を開いて以下に記入することができます.
ndkパスに記入し、コンパイル生成物を格納するディレクトリを指定するだけでよい.
コンパイル
1、権限
端末はffmpeg-4.1に入る.5つのディレクトリに、次のように入力します.
2、コンパイルエラーが発生した場合、logに出力されます. のコンパイルが完了すると、コンパイルされた生成物を格納するandroidが表示されます.outフォルダ
構成の変更
1、configureの修正
ffmpeg-4.1.5つのディレクトリ、Sublime Textを使用して編集configureを開き、次の4行の構成を見つけます.
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
変更後:
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
2、コンパイルスクリプトの修正
ffmpeg-4.1.5つのディレクトリからbuild_を作成android.shファイル、同様にSublime Textで編集を開いて以下に記入することができます.
#!/bin/bash
ADDI_CFLAGS="-marm"
API=19
PLATFORM=arm-linux-androideabi
CPU=armv7-a
# NDK
NDK=/Users/xxx/android-ndk-r17c
SYSROOT=$NDK/platforms/android-$API/arch-arm/
ISYSROOT=$NDK/sysroot
ASM=$ISYSROOT/usr/include/$PLATFORM
TOOLCHAIN=$NDK/toolchains/$PLATFORM-4.9/prebuilt/darwin-x86_64
#
OUTPUT=/Users/xxx/ffmpeg-4.1.5/android_out
function build
{
./configure \
--prefix=$OUTPUT \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-I$ASM -isysroot $ISYSROOT -Os -fpic -marm" \
--extra-ldflags="-marm" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
build
ndkパスに記入し、コンパイル生成物を格納するディレクトリを指定するだけでよい.
コンパイル
1、権限
端末はffmpeg-4.1に入る.5つのディレクトリに、次のように入力します.
chmod +x build_android.sh
2、コンパイル
sh build_android.sh -> /Users/xxx/ffmpeg-4.1.5/log.txt