-
Notifications
You must be signed in to change notification settings - Fork 829
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
).
-
android
folder contains files necessary to buildFFmpegKit
Android library. These files are;- Configuration files required by
gradle
- Documentation configuration file for
doxygen
- Library source code inside the
ffmpeg-kit-android-lib
folder - NDK build files under the
jni
folder - README.md file
- Configuration files required by
-
apple
directory includes files necessary to buildFFmpegKit
Objective-C library for iOS, macOS and tvOS. They are;- Configuration files required by
Autotools
- Documentation configuration for
doxygen
- Library source code inside the
src
folder - README.md file
- Configuration files required by
-
docs
folder contains the documentation and digital assets. -
flutter
folder contains the files of theflutter
plugin that supportsAndroid
,iOS
andmacOS
platforms. -
linux
directory includes files necessary to buildFFmpegKit
C++ library for Linux. These files are;- Configuration files required by
Autotools
- Documentation configuration for
doxygen
- Library source code inside the
src
folder - README.md file
- Configuration files required by
-
react-native
folder contains the files of thereact-native
plugin that supportsAndroid
andiOS
platforms. -
scripts
directory 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
,apple
andlinux
folders respectively -
function
scripts contain platform specific bash functions -
main
scripts are responsible for building an architecture for a platform -
run
scripts execute cross compilation scripts under theandroid
,apple
andlinux
folders -
source.sh
contains external library repository urls and their versions -
variable.sh
includes 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
-
src
directory is empty by default. The source code of enabled external libraries is downloaded into this directory by the top level build scripts. -
tools
directory includes patch files and release scripts. -
A temporary folder named
.tmp
is created at the beginning to save temporary files needed by the scripts, e.g.gas-preprocessor.pl
,gnu-config
project. -
After the compilation, all compiled objects (libraries, universal binaries, frameworks, xcframeworks, android archives, etc.) are created under the
prebuilt
directory.-
Android
archive (.aar file) forMain
builds is located under thebundle-android-aar
folder -
Android
archive (.aar file) forLTS
builds is located under thebundle-android-aar-lts
folder -
iOS
xcframeworks
forMain
builds are located under thebundle-apple-xcframework-ios
folder -
iOS
frameworks
forMain
builds are located under thebundle-apple-framework-ios
folder -
iOS
frameworks
forLTS
builds are located under thebundle-apple-framework-ios-lts
folder -
Linux
headers and libraries are located under thebundle-linux
folder -
macOS
xcframeworks
forMain
builds are located under thebundle-apple-xcframework-macos
folder -
macOS
frameworks
forMain
builds are located under thebundle-apple-framework-macos
folder -
macOS
frameworks
forLTS
builds are located under thebundle-apple-framework-macos-lts
folder -
tvOS
xcframeworks
forMain
builds are located under thebundle-apple-xcframework-tvos
folder -
tvOS
frameworks
forMain
builds are located under thebundle-apple-framework-tvos
folder -
tvOS
frameworks
forLTS
builds are located under thebundle-apple-framework-tvos-lts
folder
-
Copyright (c) 2021-2025 FFmpegKit
- Status
- Versions
- Changelog
- Project Layout
- API
- Using
- Building
- External Libraries
- Patents
- License