|
|
|
@ -8,60 +8,8 @@ |
|
|
|
|
- Builds shared native libraries (.so) |
|
|
|
|
- Creates Android archive with .aar extension |
|
|
|
|
|
|
|
|
|
### 2. Building (Skip this part and use prebuilt from RELEASES section) |
|
|
|
|
|
|
|
|
|
Run `android.sh` at project root directory to build `ffmpeg-kit` and `ffmpeg` shared libraries. |
|
|
|
|
|
|
|
|
|
Please note that `FFmpegKit` project repository includes the source code of `FFmpegKit` only. `android.sh` needs |
|
|
|
|
network connectivity and internet access to `github.com` in order to download the source code of `FFmpeg` and |
|
|
|
|
external libraries enabled. |
|
|
|
|
|
|
|
|
|
#### 2.1 Prerequisites |
|
|
|
|
|
|
|
|
|
`android.sh` requires the following tools and packages. |
|
|
|
|
|
|
|
|
|
##### 2.1.1 Android Tools |
|
|
|
|
- Android SDK Build Tools |
|
|
|
|
- Android NDK r22b or later with LLDB and CMake (See [#292](https://github.com/arthenica/ffmpeg-kit/issues/292) if you want to use NDK r23b) |
|
|
|
|
|
|
|
|
|
##### 2.1.2 Packages |
|
|
|
|
|
|
|
|
|
Use your package manager (apt, yum, dnf, brew, etc.) to install the following packages. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
autoconf automake libtool pkg-config curl cmake gcc gperf texinfo yasm nasm bison autogen git wget autopoint meson ninja |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
##### 2.1.3 Environment Variables |
|
|
|
|
|
|
|
|
|
Set `ANDROID_SDK_ROOT` and `ANDROID_NDK_ROOT` environment variables before running `android.sh`. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
export ANDROID_SDK_ROOT=<Android SDK Path> |
|
|
|
|
export ANDROID_NDK_ROOT=<Android NDK Path> |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
#### 2.2 Options |
|
|
|
|
|
|
|
|
|
Use `--enable-<library name>` flag to support additional external or system libraries and |
|
|
|
|
`--disable-<architecture name>` to disable architectures you don't want to build. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
./android.sh --enable-fontconfig --disable-arm-v7a-neon |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Run `--help` to see all available build options. |
|
|
|
|
|
|
|
|
|
#### 2.3 LTS Binaries |
|
|
|
|
|
|
|
|
|
Use `--lts` option to build lts binaries for each architecture. |
|
|
|
|
|
|
|
|
|
#### 2.4 Build Output |
|
|
|
|
|
|
|
|
|
All libraries created by `android.sh` can be found under the `prebuilt` directory. |
|
|
|
|
|
|
|
|
|
- `Android` archive (.aar file) for `Main` builds is located under the `bundle-android-aar` folder. |
|
|
|
|
- LTS is not supported sorry. (For Python) |
|
|
|
|
###2) BUILDING (Is after `Using with Python`) |
|
|
|
|
### USE PREBUILT PACKAGE FROM RELEASES SECTION |
|
|
|
|
|
|
|
|
|
### 3. Using With Python |
|
|
|
|
1) Add the aar from Releases tab or the one generated by you to your projects folder. |
|
|
|
@ -144,6 +92,63 @@ print(frameRate) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 2. Building (Skip this part and use prebuilt from RELEASES section) |
|
|
|
|
|
|
|
|
|
Run `android.sh` at project root directory to build `ffmpeg-kit` and `ffmpeg` shared libraries. |
|
|
|
|
|
|
|
|
|
Please note that `FFmpegKit` project repository includes the source code of `FFmpegKit` only. `android.sh` needs |
|
|
|
|
network connectivity and internet access to `github.com` in order to download the source code of `FFmpeg` and |
|
|
|
|
external libraries enabled. |
|
|
|
|
|
|
|
|
|
#### 2.1 Prerequisites |
|
|
|
|
|
|
|
|
|
`android.sh` requires the following tools and packages. |
|
|
|
|
|
|
|
|
|
##### 2.1.1 Android Tools |
|
|
|
|
- Android SDK Build Tools |
|
|
|
|
- Android NDK r22b or later with LLDB and CMake (See [#292](https://github.com/arthenica/ffmpeg-kit/issues/292) if you want to use NDK r23b) |
|
|
|
|
|
|
|
|
|
##### 2.1.2 Packages |
|
|
|
|
|
|
|
|
|
Use your package manager (apt, yum, dnf, brew, etc.) to install the following packages. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
autoconf automake libtool pkg-config curl cmake gcc gperf texinfo yasm nasm bison autogen git wget autopoint meson ninja |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
##### 2.1.3 Environment Variables |
|
|
|
|
|
|
|
|
|
Set `ANDROID_SDK_ROOT` and `ANDROID_NDK_ROOT` environment variables before running `android.sh`. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
export ANDROID_SDK_ROOT=<Android SDK Path> |
|
|
|
|
export ANDROID_NDK_ROOT=<Android NDK Path> |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
#### 2.2 Options |
|
|
|
|
|
|
|
|
|
Use `--enable-<library name>` flag to support additional external or system libraries and |
|
|
|
|
`--disable-<architecture name>` to disable architectures you don't want to build. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
./android.sh --enable-fontconfig --disable-arm-v7a-neon |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Run `--help` to see all available build options. |
|
|
|
|
|
|
|
|
|
#### 2.3 LTS Binaries |
|
|
|
|
|
|
|
|
|
Use `--lts` option to build lts binaries for each architecture. |
|
|
|
|
|
|
|
|
|
#### 2.4 Build Output |
|
|
|
|
|
|
|
|
|
All libraries created by `android.sh` can be found under the `prebuilt` directory. |
|
|
|
|
|
|
|
|
|
- `Android` archive (.aar file) for `Main` builds is located under the `bundle-android-aar` folder. |
|
|
|
|
- LTS is not supported sorry. (For Python) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# END OF DOCUMENTATION FOR PYTHON |
|
|
|
|
|
|
|
|
|
|
|
|
|
|