-
Notifications
You must be signed in to change notification settings - Fork 570
Libraries
The following table shows the types of the libraries created by FFmpegKit
build scripts and published in the FFmpegKit
releases.
Notes:
- On
Apple
platforms, the primary bundle format isxcframeworks
/frameworks
. Library types listed below are used to create them - On
Linux
,FFmpeg
is linked with two types of External Libraries. First, with static external libraries that are downloaded and built byFFmpegKit
build scripts. And secondly, with shared external libraries that are installed manually on the host system. The table below shows only the former - Supplementary Libraries are libraries that are required to build External Libraries
FFmpegKit | FFmpeg | External Libraries | Supplementary Libraries | |||
---|---|---|---|---|---|---|
Android | shared (.so) | shared (.so) | static (.a) | static (.a) | ||
Apple (iOS, macOS, tvOS) |
>= v4.5.1 | shared (.dylib) | >= v4.5.1 | shared (.dylib) | static (.a) | static (.a) |
< v4.5.1 | static (.a) | < v4.5.1 | static (.a) | |||
Linux | shared (.so) | shared (.so) | static (.a) | static (.a) |
Below you can see how they are linked.
FFmpegKit | FFmpeg | External Libraries | External Libraries On The Host | Supplementary Libraries | |||
---|---|---|---|---|---|---|---|
Android | Dynamically linked to FFmpeg | Statically linked to External Libraries | Statically linked to Supplementary Libraries | - | - | ||
Apple (iOS, macOS, tvOS) |
>= v4.5.1 | Dynamically linked to FFmpeg | >= v4.5.1 | Dynamically linked to External Libraries | Statically linked to Supplementary Libraries | - | - |
< v4.5.1 | Statically linked to FFmpeg | < v4.5.1 | Statically linked to External Libraries | ||||
Linux | Dynamically linked to FFmpeg | Statically linked to External Libraries | Statically linked to Supplementary Libraries | - | - | ||
Dynamically linked to External Libraries on the Host |
And, the following table shows the library files included in FFmpegKit
bundles.
Notice that when FFmpeg
is built as shared libraries, External and Supplementary Libraries are not put inside the bundles. Because, on all platforms except Linux, they are statically linked and their object code is already inside the FFmpeg
libraries. And, on Linux, the source code of libraries that are statically linked is already inside FFmpeg
libraries. And the ones that are dynamically linked are installed manually. Thus, we do not include them in FFmpegKit
bundles on Linux
.
FFmpegKit | FFmpeg | External Libraries | Supplementary Libraries | |||
---|---|---|---|---|---|---|
Android | x | x | - | - | ||
Apple (iOS, macOS, tvOS) |
x | x | >= v4.5.1 | - | >= v4.5.1 | - |
< v4.5.1 | x | < v4.5.1 | x | |||
Linux | x | x | - | - |
Copyright (c) 2021-2024 FFmpegKit
- Status
- Versions
- Changelog
- Project Layout
- API
- Using
- Building
- External Libraries
- Patents
- License