-
Notifications
You must be signed in to change notification settings - Fork 25
Project Layout
Files in this project are organised according to the layout below.
ffmpeg-kit-next/
├── .tmp/
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── android/
│ ├── ffmpeg-kit-next-android-lib/
│ └── jni/
├── apple/
│ └── src/
├── docs/
├── flutter/
├── linux/
│ └── src/
├── nix-android.sh
├── nix-apple.sh
├── nix-ios.sh
├── nix-linux.sh
├── nix-macos.sh
├── nix-tvos.sh
├── prebuilt/
├── react-native/
├── scripts/
│ ├── android/
│ ├── apple/
│ └── linux/
├── src/
└── tools/
The project root includes nine directories, five top-level build scripts (nix-android.sh, nix-ios.sh, nix-linux.sh, nix-macos.sh and nix-tvos.sh), one combining script (nix-apple.sh) for Apple platforms, one LICENSE file and three markdown files (README.md, CONTRIBUTING.md and CODE_OF_CONDUCT.md).
-
The
androidfolder contains the files necessary to build theFFmpegKitNextAndroid library. These files are:- Configuration files required by
gradle - A documentation configuration file for
doxygen - The library source code inside the
ffmpeg-kit-next-android-libfolder - NDK build files under the
jnifolder - A
README.mdfile
- Configuration files required by
-
The
appledirectory includes the files necessary to build theFFmpegKitNextObjective-C library for iOS, macOS and tvOS. They are:- Configuration files required by
Autotools - A documentation configuration for
doxygen - The library source code inside the
srcfolder - A
README.mdfile
- Configuration files required by
-
The
docsfolder contains the documentation and digital assets. -
The
flutterfolder contains the files of theflutterplugin, which supports theAndroid,iOSandmacOSplatforms. -
The
linuxdirectory includes the files necessary to build theFFmpegKitNextC++ library for Linux. These files are:- Configuration files required by
Autotools - A documentation configuration for
doxygen - The library source code inside the
srcfolder - A
README.mdfile
- Configuration files required by
-
The
react-nativefolder contains the files of thereact-nativeplugin, which supports theAndroidandiOSplatforms. -
The
scriptsdirectory includes all the scripts called by the top-level build scripts.- Scripts responsible for cross-compiling external libraries are grouped by platform name and can be found under the
android,appleandlinuxfolders - The
functionscripts contain platform-specific bash functions - The
mainscripts are responsible for building an architecture for a platform - The
runscripts execute the cross-compilation scripts under theandroid,appleandlinuxfolders - The
startscripts (start-android.sh,start-ios.sh,start-linux.sh,start-macos.sh,start-tvos.shandstart-apple.sh) are the per-platform build entry points. The top-levelnix-<platform>.shwrappers only prepare aNixenvironment and then invoke them, so these scripts can be run directly to build withoutNix, as long as the required toolchain is already available on the system - The
source.shscript contains external library repository URLs and their versions - The
variable.shscript includes common variables used by all platforms
- Scripts responsible for cross-compiling external libraries are grouped by platform name and can be found under the
-
The
srcdirectory is empty by default. The source code of the enabled external libraries is downloaded into this directory by the top-level build scripts. -
The
toolsdirectory includes patch files and release scripts. -
A temporary folder named
.tmpis created at the start of the build to store temporary files needed by the scripts, such as thegas-preprocessor.plscript and thegnu-configproject. -
After compilation, all compiled objects (libraries, frameworks, xcframeworks, Android archives, etc.) are created as bundles under the
prebuiltdirectory.- The
Androidarchive (.aar) in localMavenformat is located under thebundle-android-aar-${API}-mavenfolder - The
iOSframeworksare located under thebundle-apple-framework-ios-${IOS_MIN_VERSION}folder - The
iOSxcframeworkis located under thebundle-apple-xcframework-ios-${IOS_MIN_VERSION}folder - The
macOSframeworksare located under thebundle-apple-framework-macos-${MACOS_MIN_VERSION}folder - The
macOSxcframeworkis located under thebundle-apple-xcframework-macos-${MACOS_MIN_VERSION}folder - The
tvOSframeworksare located under thebundle-apple-framework-tvos-${TVOS_MIN_VERSION}folder - The
tvOSxcframeworkis located under thebundle-apple-xcframework-tvos-${TVOS_MIN_VERSION}folder - The
Linuxheaders and libraries are located under thebundle-linuxfolder
- The
Copyright (c) 2026 FFmpegKitNext
- Status
- Versions
- Changelog
- Project Layout
- Using
- Building
- External Libraries
- Patents
- License