OctoZip for Android compresses videos with libraries from the FFmpeg project, used under the GNU Lesser General Public License (LGPL) version 3 or later. FFmpeg is a trademark of Fabrice Bellard, originator of the FFmpeg project. Meru Apps does not own FFmpeg.
FFmpeg in the Android app
Version 1.5 and later of the app use an FFmpeg build with no GPL or non-free parts: every FFmpeg library in it reports “LGPL version 3 or later”. These are the exact versions:
| Component | Version | Licence |
|---|---|---|
| FFmpeg | n8.1.2 | LGPL v3 or later |
FFmpegKit for Android (com.antonkarpenko:ffmpeg-kit-video) | 2.2.3 | LGPL v3 |
FFmpegKit Flutter plugin (ffmpeg_kit_flutter_new_video) | 2.5.7 | LGPL v3 |
The FFmpeg libraries (libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample and libswscale) are separate shared libraries in the app's lib/<processor>/ folder, loaded when the app runs, so you can replace them with your own build. In the app, the same notices are under side menu › Open-source licences.
Source code
The source code that corresponds to the FFmpeg build in the app:
- FFmpeg n8.1.2: ffmpeg-8.1.2.tar.xz from ffmpeg.org (also the n8.1.2 tag).
- FFmpegKit build scripts, wrapper code and the changes they make to FFmpeg before compiling: tag android-apple-8.1.2 (tarball). On Android the scripts add FFmpegKit's Storage Access Framework support to
libavformat/file.c,libavutil/file.candlibavutil/file.h. The versions of the libraries below are in itsscripts/source.sh. - FFmpegKit for Android 2.2.3: the library project at commit defe2b4. Its 48 prebuilt libraries are byte for byte the ones in the package.
- FFmpegKit Flutter plugin 2.5.7: pub.dev.
- GNU FriBidi 1.0.13 and GNU libiconv 1.18, the two LGPL v2.1 libraries built into FFmpeg: FriBidi, libiconv-1.18.tar.gz.
To rebuild the libraries, run SUDO= ./build-all.sh android video in the FFmpegKit tag with Android NDK r29 (API level 24).
Build settings
FFmpeg's configure options, exactly as stored in the arm64-v8a libavutil library (shown one option per line). The armeabi-v7a, x86 and x86_64 builds use the same options except the processor and toolchain ones.
--cross-prefix=aarch64-linux-android- --sysroot=/Users/me/Library/Android/sdk/ndk/29.0.13113456/toolchains/llvm/prebuilt/darwin-x86_64/sysroot --prefix=/Users/me/StudioProjects/ffmpeg-kit-6.0.LTS/prebuilt/android-arm64/ffmpeg --pkg-config=/opt/homebrew/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --target-os=android --enable-neon --enable-asm --enable-inline-asm --ar=llvm-ar --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --ranlib=llvm-ranlib --strip=llvm-strip --nm=llvm-nm --extra-libs='-L/Users/me/StudioProjects/ffmpeg-kit-6.0.LTS/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --disable-autodetect --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --disable-static --enable-shared --enable-pthreads --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libdav1d --enable-libkvazaar --enable-libsnappy --disable-sdl2 --enable-libzimg --disable-openssl --enable-libharfbuzz --enable-zlib --enable-mediacodec libavutil license: LGPL version 3 or later
Ask us for the source
Email meruappsdev@gmail.com and we will send you a complete copy of the source code for FFmpeg, FFmpegKit and the LGPL libraries above, for no more than the cost of sending it. This offer stands for at least three years after we last distribute a version of the app that contains this build.
Libraries inside the FFmpeg build
These come with FFmpegKit for Android. LLVM libc++ ships as its own library (libc++_shared.so); the rest are built into the FFmpeg libraries. Their full licence texts are in the app under Open-source licences.
| Library | Version | Licence |
|---|---|---|
| LLVM libc++ | Android NDK r29 | Apache 2.0 with LLVM exception |
| cpu_features | 0.8.0 | Apache 2.0 (ndk_compat files: BSD 2-clause) |
| dav1d | 1.2.1 | BSD 2-clause |
| Kvazaar | 2.2.0 | BSD 3-clause |
| libvpx | 1.13.0 | BSD 3-clause, with patent grant |
| libwebp | 1.3.1 | BSD 3-clause, with patent grant |
| libtheora | 1.2.0 | BSD 3-clause |
| libvorbis | 1.3.7 | BSD 3-clause |
| libogg | 1.3.5 | BSD 3-clause |
| libass | 0.17.4 | ISC |
| FreeType | 2.13.3 | FreeType License |
| libpng | 1.6.40 | libpng License v2 |
| HarfBuzz | 11.3.3 | MIT (“Old MIT”) |
| GNU FriBidi | 1.0.13 | LGPL v2.1 or later |
| Fontconfig | 2.17.1 | MIT-style |
| Expat | 2.5.0 | MIT |
| GNU libiconv | 1.18 | LGPL v2.1 or later |
| Snappy | 1.1.9 | BSD 3-clause |
| zimg | 3.0.5 | WTFPL v2 |
Portions of this software are copyright © 2024 The FreeType Project (freetype.org). All rights reserved.
The rest of the app
The app is built with Flutter. Flutter and the Dart packages the app uses are listed, each with its licence text, in the app under side menu › Open-source licences.
This website
| Library | Licence | Used for |
|---|---|---|
| Mediabunny 1.61.6 | MPL 2.0 | The online video compressor. Used unmodified; only the parts the compressor needs are bundled. Source: the v1.61.6 tag. |
| posthog-js 1.438.9 | MIT | Page analytics, loaded from jsDelivr (see the privacy policy). Copyright 2020 Posthog / Hiberly, Inc.; copyright 2015 Mixpanel, Inc. |
| Phosphor Icons | MIT | Topic icons on the blog indexes. Copyright (c) 2023 Phosphor Icons. |
| Archivo (font) | SIL Open Font License 1.1 | The text on this site, served from this site. Copyright 2020 The Archivo Project Authors. |
| Noto Sans Devanagari (font) | SIL Open Font License 1.1 | Hindi titles in the link-preview images. Copyright 2022 The Noto Project Authors. |