Skip to content
This repository was archived by the owner on Jan 6, 2025. It is now read-only.

Project Layout

Taner Şener edited this page Jul 26, 2020 · 18 revisions

Files in this project are organized according to the layout below.

mobile-ffmpeg/ ├── LICENSE.LGPLv3 ├── LICENSE.GPLv3 ├── README.md ├── android/ │ ├── ... │ ├── app/ │ ├── jni/ │ └── test-app/ ├── android.sh ├── build/ │ └── ... ├── docs/ ├── ios/ │ ├── ... │ ├── src/ │ └── test-app/ ├── ios.sh ├── prebuilt/ ├── src/ │ └── ... ├── tools/ │ └── ... ├── tvos/ │ └── test-app/ ├── tvos.sh └── .tmp/ 

Project root includes seven directories, three top level build scripts (android.sh, ios.sh and tvos.sh), two LICENSE files and the README.md file.

  • android folder contains files necessary to build MobileFFmpeg Android library. These files are;

    • Configuration files required by gradle
    • Documentation configuration file for doxygen
    • Source files stored inside app folder
    • NDK build files under jni folder
    • Android test application in test-app folder
  • build directory includes all scripts called by top-level build scripts.

    • Android specific scripts start with android- prefix
    • iOS / tvOS specific scripts start with either ios- prefix or tvos- prefix
    • Files prefixed with main- are responsible of building an architecture for each platform
    • arch-common.sh file includes common functions used by all platforms
  • docs folder contains documentation files and digital assets.

  • ios directory contains files necessary to build MobileFFmpeg iOS / tvOS library. They are;

    • Configuration files required by Autotools
    • Documentation configuration for doxygen
    • Source files stored inside src folder
    • iOS test applications in test-app folder
  • src directory includes source code of all external libraries except the ones listed below.

    • ffmpeg
    • cpu-features
    • libvid.stab
    • rubberband
    • x264
    • x265
    • xvidcore
  • tools directory includes patch files and release scripts.

  • tvos directory contains tvOS test applications in test-app folder.

  • A temporary folder named .tmp is created at the beginning of compilation to download gas-preprocessor.pl and the source code of external libraries.

  • After the compilation, all compiled objects (libraries, universal binaries, frameworks, xcframeworks, android archives, etc.) are generated under prebuilt directory.

    • Android archive (.aar file) is located under the android-aar folder
    • iOS frameworks are located under the ios-framework folder
    • iOS xcframeworks are located under the ios-xcframework folder
    • iOS universal binaries are located under the ios-universal folder
    • tvOS frameworks are located under the tvos-framework folder
    • tvOS universal binaries are located under the tvos-universal folder

Clone this wiki locally