-
Notifications
You must be signed in to change notification settings - Fork 9
Project Layout
Files in this project are organised according to the layout below.
ffmpeg-kit/
├── LICENSE.LGPLv3
├── LICENSE.GPLv3
├── README.md
├── android/
│ ├── ffmpeg-kit-android-lib/
│ └── jni/
├── android.sh
├── apple/
│ └── src/
├── apple.sh
├── docs/
├── flutter/
├── ios.sh
├── macos.sh
├── prebuilt/
├── react-native/
├── scripts/
│ ├── android/
│ └── apple/
├── src/
├── tools/
├── tvos.sh
└── .tmp/
Project root includes eight directories, four top level build scripts (android.sh
, ios.sh
, macos.sh
and tvos.sh
), one combine script (apple.sh
) for Apple
platforms, two LICENSE files, and a README.md
file.
-
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
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 documentation files and digital assets. -
flutter
folder contains the files of theflutter
plugin that supportsAndroid
,iOS
andmacOS
platforms. -
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
andapple
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 underandroid
andapple
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 -
macOS
xcframeworks
forMain
builds are located under thebundle-apple-xcframework-macos
folder -
tvOS
xcframeworks
forMain
builds are located under thebundle-apple-xcframework-tvos
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 -
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
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-2022 FFmpegKit
- Status
- Versions
- Changelog
- Project Layout
- Using
- Building
- External Libraries
- Patents
- License