Skip to content

Commit 647aedb

Browse files
committed
Add examples about new API features into documentation
1 parent 9a2792a commit 647aedb

File tree

3 files changed

+320
-114
lines changed

3 files changed

+320
-114
lines changed

README.md

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# FFmpegKit ![GitHub release](https://img.shields.io/badge/release-v4.4-blue.svg) ![Maven Central](https://img.shields.io/maven-central/v/com.arthenica/ffmpeg-kit-min) ![CocoaPods](https://img.shields.io/cocoapods/v/ffmpeg-kit-ios-min) [![Build Status](https://travis-ci.org/tanersener/ffmpeg-kit.svg?branch=master)](https://travis-ci.org/tanersener/ffmpeg-kit)
1+
# FFmpegKit ![GitHub release](https://img.shields.io/badge/release-v4.4.LTS-blue.svg) ![Maven Central](https://img.shields.io/maven-central/v/com.arthenica/ffmpeg-kit-min) ![CocoaPods](https://img.shields.io/cocoapods/v/ffmpeg-kit-ios-min) [![Build Status](https://travis-ci.org/tanersener/ffmpeg-kit.svg?branch=master)](https://travis-ci.org/tanersener/ffmpeg-kit)
22

33
FFmpeg Kit for applications.
44

@@ -24,41 +24,37 @@ FFmpeg Kit for applications.
2424

2525
- Licensed under `LGPL 3.0`, or `GPL v3.0` if GPL licensed libraries are enabled
2626

27-
#### 1.1 Android
27+
### 2. Android
2828

29-
See [Android](https://github.com/tanersener/ffmpeg-kit/tree/development/android).
29+
See [Android](https://github.com/tanersener/ffmpeg-kit/tree/development/android) to learn more about `FFmpegKit` for
30+
`Android`.
3031

31-
#### 1.2 iOS, macOS, tvOS
32+
### 3. iOS, macOS, tvOS
3233

33-
See [Apple](https://github.com/tanersener/ffmpeg-kit/tree/development/apple).
34+
See [Apple](https://github.com/tanersener/ffmpeg-kit/tree/development/apple) to use `FFmpegKit` on `Apple` platforms
35+
(`iOS`, `macOS`, `tvOS`).
3436

35-
### 2. Build Scripts
36-
Use `android.sh`, `ios.sh`, `macos.sh` and `tvos.sh` to build `FFmpegKit` for each platform.
37+
### 4. Build Scripts
3738

38-
All four scripts support additional options to enable external libraries or disable platform architectures.
39+
Use `android.sh`, `ios.sh`, `macos.sh` and `tvos.sh` to build `FFmpegKit` for each platform.
3940

40-
Refer to [Android](https://github.com/tanersener/ffmpeg-kit/tree/development/android) page for `Android` devices and
41-
[Apple](https://github.com/tanersener/ffmpeg-kit/tree/development/apple) page for `iOS`, `macOS`, `tvOS` devices to see
42-
the prerequisites for each platform.
41+
All scripts support additional options to enable libraries and disable platform architectures.
4342

44-
### 3. FFmpegKit Library
43+
### 5. FFmpegKit Library
4544

4645
`FFmpegKit` is a wrapper library that allows you to easily run `FFmpeg`/`FFprobe` commands in applications. It
47-
provides additional features on top of `FFmpeg` to enable platform specific resources, control how commands are executed and how the results are handled.
46+
provides additional features on top of `FFmpeg` to enable platform specific resources, control how commands are
47+
executed and how the results are handled.
4848

4949
`Android` library has a `Java` API and `Apple` libraries (`iOS`, `macOS`, `tvOS`) have an `Objective-C` API,
50-
which are identical.
51-
52-
See [Android](https://github.com/tanersener/ffmpeg-kit/tree/development/android) page to learn how the `Java` API
53-
can be used on `Android` devices and [Apple](https://github.com/tanersener/ffmpeg-kit/tree/development/apple) page to
54-
learn more about `Objective-C` API for `iOS`, `macOS`, `tvOS` devices.
50+
which are identical in terms of features and capabilities.
5551

56-
### 4. Binary Packages
52+
### 6. Binary Packages
5753

5854
There are eight different `ffmpeg-kit` packages distributed on
5955
[Github](https://github.com/tanersener/ffmpeg-kit/releases),
6056
[Maven Central](https://search.maven.org) and [CocoaPods](https://cocoapods.org).
61-
Below you can see which system libraries and external libraries are enabled in each of package.
57+
Below you can see which system libraries and external libraries are enabled in each one of them.
6258

6359
Please remember that some parts of `FFmpeg` are licensed under the `GPL` and only `GPL` licensed `ffmpeg-kit` packages
6460
include them.
@@ -111,7 +107,7 @@ include them.
111107

112108
- `AVFoundation` is not available on `tvOS`, `VideoToolbox` is not available on `tvOS` LTS releases
113109

114-
### 5. Versions
110+
### 7. Versions
115111

116112
`FFmpegKit` binaries generated use the same major and minor version numbers as the upstream `FFmpeg` project. The exact
117113
version number is obtained using `git describe --tags`. `dev` part in `FFmpeg` version number indicates that `FFmpeg`
@@ -122,7 +118,7 @@ source is cloned from the `FFmpeg` `master` branch.
122118
| [4.4](https://github.com/tanersener/ffmpeg-kit/releases/tag/v4.4) | 4.4-dev-3015 | Mar 03, 2021 |
123119
| [4.4.LTS](https://github.com/tanersener/ffmpeg-kit/releases/tag/v4.4.LTS) | 4.4-dev-3015 | Mar 03, 2021 |
124120

125-
### 6. LTS Releases
121+
### 8. LTS Releases
126122

127123
`FFmpegKit` binaries are published in two release variants: `Main Release` and `LTS Release`.
128124

@@ -147,12 +143,20 @@ This table shows the differences between two variants.
147143
| tvOS SDK | 10.2 | 9.2 |
148144
| tvOS Architectures | arm64<br/>x86-64<br/>arm64-simulator | arm64<br/>x86-64 |
149145

150-
### 7. License
146+
### 9. Test Applications
147+
148+
You can see how `FFmpegKit` is used inside an application by running test applications created under
149+
[FFmpegKit Test](https://github.com/tanersener/ffmpeg-kit-test) project.
150+
151+
All applications are identical and supports command execution, video encoding, accessing https urls, encoding audio,
152+
burning subtitles, video stabilisation, pipe operations, concurrent command execution.
153+
154+
### 10. License
151155

152156
`FFmpegKit` is licensed under the `LGPL v3.0`. However, if source code is built using the optional `--enable-gpl` flag
153157
or prebuilt binaries with `-gpl` postfix are used, then `FFmpegKit` is subject to the `GPL v3.0` license.
154158

155-
### 8. Patents
159+
### 11. Patents
156160

157161
It is not clearly explained in their documentation, but it is believed that `FFmpeg`, `kvazaar`, `x264` and `x265`
158162
include algorithms which are subject to software patents. If you live in a country where software algorithms are
@@ -163,15 +167,15 @@ that you seek legal advice first. See [FFmpeg Patent Mini-FAQ](https://ffmpeg.or
163167
distribute that library, then you are subject to pay MPEG LA licensing fees. Refer to
164168
[OpenH264 FAQ](https://www.openh264.org/faq.html) page for the details.
165169

166-
### 9. Contributing
170+
### 12. Contributing
167171

168172
Feel free to submit issues or pull requests.
169173

170174
Please note that `main` includes only the latest released source code. Changes planned for the next release are
171175
developed under the `development` branch. Therefore, if you want to create a pull request, please open it against
172176
the `development`.
173177

174-
### 10. See Also
178+
### 13. See Also
175179

176180
- [FFmpeg API Documentation](https://ffmpeg.org/doxygen/4.0/index.html)
177181
- [FFmpeg Wiki](https://trac.ffmpeg.org/wiki/WikiStart)

0 commit comments

Comments
 (0)