You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.3 KiB

#!/bin/sh -e
# ANDROID_NDK_ROOT and ANDROID_SDK_ROOT need to be set (possibly to ~/Android/Sdk/ndk/##.#.#######/ and ~/Android/Sdk respectively)
export ANDROID_NDK_ROOT=/usr/local/android-ndk
export ANDROID_SDK_ROOT=/usr/local/android-sdk
FFMPEG_FLAGS=(--enable-gpl \
--enable-x264 \
--enable-libvpx \
--enable-android-media-codec \
--disable-arm-v7a-neon \
--disable-arm-v7a \
--disable-x86 \
--no-archive)
ARCH="$1"
if [ "$ARCH" = '' ]; then
ARCH=aarch64
else
shift
fi
if [ "$VERSION" = '' ]; then
VERSION=7.1.1
else
shift
fi
if [ "$ARCH" = "aarch64" ]; then
FFMPEG_FLAGS=("${FFMPEG_FLAGS[@]}" --disable-x86-64)
elif [ "$ARCH" = "x86_64" ]; then
FFMPEG_FLAGS=("${FFMPEG_FLAGS[@]}" --disable-arm64-v8a)
else
echo "Invalid architecture $ARCH"
exit 1
fi
OUT_DIRECTORY=ffmpeg-android-$VERSION-$ARCH
if [ ! -d "ffmpeg-kit" ]; then
tar xf ffmpeg-kit.tar.xz
fi
cd ffmpeg-kit
./android.sh "${FFMPEG_FLAGS[@]}"
cd ..
mkdir $OUT_DIRECTORY
cp $0 $OUT_DIRECTORY
cp -r ffmpeg-kit/prebuilt/android-arm64/{ffmpeg,libvpx,x264}/* $OUT_DIRECTORY/
cp ffmpeg-kit/src/ffmpeg/config.h ffmpeg-kit/src/ffmpeg/libavcodec/codec_internal.h $OUT_DIRECTORY/include/libavcodec/
tar c $OUT_DIRECTORY | xz -T0 > $OUT_DIRECTORY.tar.xz