diff --git a/ffmpeg/build.sh b/ffmpeg/build.sh old mode 100644 new mode 100755 index ad14677..ff631fd --- a/ffmpeg/build.sh +++ b/ffmpeg/build.sh @@ -1,13 +1,43 @@ -#!/bin/bash -set -e +#!/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 -VERSION=7.1.1 -OUT_DIRECTORY=ffmpeg-android-$VERSION-aarch64 +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 @@ -15,16 +45,7 @@ fi cd ffmpeg-kit -./android.sh \ - --enable-gpl \ - --enable-x264 \ - --enable-libvpx \ - --enable-android-media-codec \ - --disable-arm-v7a-neon \ - --disable-arm-v7a \ - --disable-x86-64 \ - --disable-x86 \ - --no-archive +./android.sh "${FFMPEG_FLAGS[@]}" cd .. @@ -35,4 +56,3 @@ 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 - diff --git a/ffmpeg/ffmpeg-android-v4.4.LTS.tar.xz b/ffmpeg/ffmpeg-android-v4.4.LTS.tar.xz new file mode 100644 index 0000000..d32748d Binary files /dev/null and b/ffmpeg/ffmpeg-android-v4.4.LTS.tar.xz differ diff --git a/ffmpeg/ffmpeg-android-v5.1.LTS-aarch64.tar.xz b/ffmpeg/ffmpeg-android-v5.1.LTS-aarch64.tar.xz new file mode 100644 index 0000000..3bbb591 Binary files /dev/null and b/ffmpeg/ffmpeg-android-v5.1.LTS-aarch64.tar.xz differ diff --git a/ffmpeg/ffmpeg-android-v5.1.LTS-x86_64.tar.xz b/ffmpeg/ffmpeg-android-v5.1.LTS-x86_64.tar.xz new file mode 100644 index 0000000..dbfac90 Binary files /dev/null and b/ffmpeg/ffmpeg-android-v5.1.LTS-x86_64.tar.xz differ diff --git a/ffmpeg/ffmpeg-android-v5.1.LTS.tar.xz b/ffmpeg/ffmpeg-android-v5.1.LTS.tar.xz new file mode 100644 index 0000000..b2cccdd Binary files /dev/null and b/ffmpeg/ffmpeg-android-v5.1.LTS.tar.xz differ