-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Project Layout
Files in this project are organised according to the layout below.
ffmpeg-kit/
├── .tmp/
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── android/
│ ├── ffmpeg-kit-android-lib/
│ └── jni/
├── android.sh
├── apple/
│ └── src/
├── apple.sh
├── docs/
├── flutter/
├── ios.sh
├── linux/
│ └── src/
├── linux.sh
├── macos.sh
├── prebuilt/
├── react-native/
├── scripts/
│ ├── android/
│ └── apple/
├── src/
├── tools/
└── tvos.sh
Project root includes nine directories, five top level build scripts (android.sh, ios.sh, linux.sh, macos.sh and tvos.sh), one combine script (apple.sh) for Apple platforms, one LICENSE file and three markdown files (README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md).
-
androidfolder contains files necessary to buildFFmpegKitAndroid library. These files are;- Configuration files required by
gradle - Documentation configuration file for
doxygen - Library source code inside the
ffmpeg-kit-android-libfolder - NDK build files under the
jnifolder - README.md file
- Configuration files required by
-
appledirectory includes files necessary to buildFFmpegKitObjective-C library for iOS, macOS and tvOS. They are;- Configuration files required by
Autotools - Documentation configuration for
doxygen - Library source code inside the
srcfolder - README.md file
- Configuration files required by
-
docsfolder contains the documentation and digital assets. -
flutterfolder contains the files of theflutterplugin that supportsAndroid,iOSandmacOSplatforms. -
linuxdirectory includes files necessary to buildFFmpegKitC++ library for Linux. These files are;- Configuration files required by
Autotools - Documentation configuration for
doxygen - Library source code inside the
srcfolder - README.md file
- Configuration files required by
-
react-nativefolder contains the files of thereact-nativeplugin that supportsAndroidandiOSplatforms. -
scriptsdirectory includes all scripts called by the top-level build scripts.- Scripts responsible for cross-compiling external libraries are grouped according to the platform name; they can be found under the
android,appleandlinuxfolders respectively -
functionscripts contain platform specific bash functions -
mainscripts are responsible for building an architecture for a platform -
runscripts execute cross compilation scripts under theandroid,appleandlinuxfolders -
source.shcontains external library repository urls and their versions -
variable.shincludes common variables used by all platforms
- Scripts responsible for cross-compiling external libraries are grouped according to the platform name; they can be found under the
-
srcdirectory is empty by default. The source code of enabled external libraries is downloaded into this directory by the top level build scripts. -
toolsdirectory includes patch files and release scripts. -
A temporary folder named
.tmpis created at the beginning to save temporary files needed by the scripts, e.g.gas-preprocessor.pl,gnu-configproject. -
After the compilation, all compiled objects (libraries, universal binaries, frameworks, xcframeworks, android archives, etc.) are created under the
prebuiltdirectory.-
Androidarchive (.aar file) forMainbuilds is located under thebundle-android-aarfolder -
Androidarchive (.aar file) forLTSbuilds is located under thebundle-android-aar-ltsfolder -
iOSxcframeworksforMainbuilds are located under thebundle-apple-xcframework-iosfolder -
iOSframeworksforMainbuilds are located under thebundle-apple-framework-iosfolder -
iOSframeworksforLTSbuilds are located under thebundle-apple-framework-ios-ltsfolder -
Linuxheaders and libraries are located under thebundle-linuxfolder -
macOSxcframeworksforMainbuilds are located under thebundle-apple-xcframework-macosfolder -
macOSframeworksforMainbuilds are located under thebundle-apple-framework-macosfolder -
macOSframeworksforLTSbuilds are located under thebundle-apple-framework-macos-ltsfolder -
tvOSxcframeworksforMainbuilds are located under thebundle-apple-xcframework-tvosfolder -
tvOSframeworksforMainbuilds are located under thebundle-apple-framework-tvosfolder -
tvOSframeworksforLTSbuilds are located under thebundle-apple-framework-tvos-ltsfolder
-
Copyright (c) 2021-2025 FFmpegKit
- Status
- Versions
- Changelog
- Project Layout
- API
- Using
- Building
- External Libraries
- Patents
- License