Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

Commit

Permalink
README updated.
Browse files Browse the repository at this point in the history
  • Loading branch information
tanersener committed Jun 17, 2018
1 parent 1722ab8 commit 27d9a16
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 21 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# MobileFFmpeg
Source code and scripts to build FFmpeg for Android and IOS platform
Source code and scripts to build FFmpeg for Android and IOS platform; prebuilt libraries for both platforms

### 1. Features
- Builds both Android and IOS
Expand Down Expand Up @@ -52,6 +52,8 @@ Cross-compile instructions for all of them can be found under scripts inside `bu
- snappy
- speex
- wavpack
- x264
- xvidcore

External libraries and their dependencies are explained in the [External Libraries](https://github.com/tanersener/mobile-ffmpeg/wiki/External-Libraries) page.

Expand Down
40 changes: 22 additions & 18 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
---
layout: default
---
MobileFFmpeg aims to provide FFmpeg on both mobile platforms with support for shared libraries without GPL restrictions.
MobileFFmpeg aims to provide FFmpeg on both mobile platforms with support for shared libraries including LGPL and GPL building options.
### 1. Features
- Builds both Android and IOS
- Supports 18 external libraries and 10 architectures in total
- Includes build scripts and prebuilt libraries for both Android and IOS
- Supports 21 external libraries, 2 GPL libraries and 10 architectures in total
- Exposes FFmpeg capabilities both directly from FFmpeg libraries and through MobileFFmpeg wrapper library
- Includes cross-compile instructions for 32 open-source libraries including FFmpeg
- Creates Android archive with .aar extension
- Creates IOS dynamic universal (fat) library
- Creates IOS dynamic framework for IOS 8 or later
- Licensed under LGPL 3.0
- Licensed under LGPL 3.0, can be customized to support GPL v3.0

### 2. Architectures
- Android arm-v7a
Expand All @@ -24,29 +25,34 @@ MobileFFmpeg aims to provide FFmpeg on both mobile platforms with support for sh
- IOS x86_64

### 3. FFmpeg Support
Latest release (v1.0) of this project contains FFmpeg version 3.4.2 with support for the following external libraries.
Latest release (v1.1) of this project contains FFmpeg version 3.4.2 with support for the following external libraries.
- fontconfig
- freetype
- fribidi
- gmp
- gnutls
- kvazaar
- libiconv
- lame
- libass
- libiconv
- libilbc
- libtheora
- libvorbis
- libvpx
- libwebp
- libxml2
- opencore-amr
- opus
- shine
- snappy
- speex
- wavpack
- x264
- xvidcore

### 4. Using
#### 4.1 Android
Import `mobile-ffmpeg-1.0.aar` into your project and use the following source code.
Import `mobile-ffmpeg-1.1.aar` into your project and use the following source code.
```
import com.arthenica.mobileffmpeg.FFmpeg;
Expand Down Expand Up @@ -81,7 +87,7 @@ Then run the following Objective-C source code.
1. Use your package manager (apt, yum, dnf, brew, etc.) to install the following packages.

```
autoconf automake libtool pkg-config gcc cmake gperf yasm texinfo
autoconf automake libtool pkg-config curl cmake gcc gperf texinfo yasm nasm
```
2. Android builds require these additional packages.
Expand All @@ -93,7 +99,7 @@ Then run the following Objective-C source code.
- **IOS SDK 7.0.x** or later
- **Xcode 8.x** or later
- **Command Line Tools**
- **curl** and **lipo** utilities
- **lipo** utility
#### 5.2 Build Scripts
Use `android.sh` and `ios.sh` to build MobileFFmpeg for each platform.
Expand All @@ -108,20 +114,18 @@ export ANDROID_NDK_ROOT=<Android NDK Path>
```
./ios.sh
```
#### 5.3 GPL Support
From `v1.1` onwards it is possible to enable to GPL libraries `x264` and `xvidcore` from top level build scripts.
Their source code is not included in the repository and downloaded when enabled.
### 6. API
Below you can find documentation for all APIs exposed.
[Android API](https://tanersener.github.io/mobile-ffmpeg/android/javadoc)
[Android Native API](https://tanersener.github.io/mobile-ffmpeg/ios/html)
### 6. Documentation
[IOS API](https://tanersener.github.io/mobile-ffmpeg/android/doc/html)
A more detailed documentation is available at [Wiki](https://github.com/tanersener/mobile-ffmpeg/wiki).
### 7. License
This project is licensed under the LGPL v3.0.
This project is licensed under the LGPL v3.0. However, if source code is built using optional `--enable-gpl` flag or
prebuilt binaries with `-gpl` postfix are used then MobileFFmpeg is subject to the GPL v3.0 license.
Source code of FFmpeg and external libraries is included in compliance with their individual licenses.
Expand Down
4 changes: 2 additions & 2 deletions ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -606,7 +606,7 @@ if [[ ! -z ${TARGET_ARCH_LIST} ]]; then
else

# LGPLv3.0
cp ${BASEDIR}/LICENSE ${FRAMEWORK_PATH} >> ${BASEDIR}/build.log
cp ${BASEDIR}/LICENSE.LGPLv3 ${FRAMEWORK_PATH}/LICENSE >> ${BASEDIR}/build.log
fi

build_info_plist "${FRAMEWORK_PATH}/Info.plist" "mobileffmpeg" "com.arthenica.mobileffmpeg.MobileFFmpeg" "${MOBILE_FFMPEG_VERSION}" "${MOBILE_FFMPEG_VERSION}"
Expand Down Expand Up @@ -641,7 +641,7 @@ if [[ ! -z ${TARGET_ARCH_LIST} ]]; then
else

# LGPLv3.0
cp ${BASEDIR}/LICENSE ${FFMPEG_LIB_FRAMEWORK_PATH} >> ${BASEDIR}/build.log
cp ${BASEDIR}/LICENSE.LGPLv3 ${FFMPEG_LIB_FRAMEWORK_PATH}/LICENSE >> ${BASEDIR}/build.log
fi

build_info_plist "${FFMPEG_LIB_FRAMEWORK_PATH}/Info.plist" "${FFMPEG_LIB}" "com.arthenica.mobileffmpeg.FFmpeg${FFMPEG_LIB}" "${FFMPEG_LIB_VERSION}" "${FFMPEG_LIB_VERSION}"
Expand Down

0 comments on commit 27d9a16

Please sign in to comment.