kingslay / FFmpegKit

FFmpegKit is a collection of tools to use FFmpeg mpv library in iOS, macOS, tvOS, visionOS applications.
GNU General Public License v3.0
100 stars 46 forks source link

FFmpegKit GitHub release CocoaPods

FFmpegKit is a collection of tools to use FFmpeg in iOS, macOS, tvOS, xrOS, visionOS applications.

It includes scripts to build FFmpeg native libraries, three executable product ffplay/ffmpeg/ffprobe in macos

Features

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/kingslay/FFmpegKit.git", .branch("main"))
]

Build Scripts

swift package --disable-sandbox BuildFFmpeg

Executable product

swift run ffplay
swift run ffmpeg
swift run ffprobe

Help

swift package BuildFFmpeg -h
        Usage: swift package BuildFFmpeg [OPTION]...
        Default Build: swift package --disable-sandbox BuildFFmpeg enable-libshaderc enable-vulkan enable-lcms2 enable-libdav1d enable-libplacebo enable-gmp enable-nettle enable-gnutls enbale-readline enable-libsmbclient enable-libsrt enable-libzvbi enable-libfreetype enable-libfribidi enable-libharfbuzz enable-libass enable-FFmpeg enable-libmpv

        Options:
            h, -h, --help       display this help and exit
            notRecompile        If there is a library, then there is no need to recompile
            gitCloneAll         git clone not add --depth 1
            enable-debug,       build ffmpeg with debug information
            platforms=xros      deployment platform: macos,ios,isimulator,tvos,tvsimulator,xros,xrsimulator,maccatalyst,watchos,watchsimulator
            --xx                add ffmpeg Configuers

        Libraries:
            enable-libshaderc   build with libshaderc
            enable-vulkan       depend enable-libshaderc
            enable-libdav1d     build with libdav1d
            enable-libplacebo   depend enable-libshaderc enable-vulkan enable-lcms2 enable-libdav1d
            enable-nettle       depend enable-gmp
            enable-gnutls       depend enable-gmp enable-nettle
            enable-libsmbclient depend enable-gmp enable-nettle enable-gnutls enbale-readline
            enable-libsrt       depend enable-openssl or enable-gnutls
            enable-libfreetype  build with libfreetype
            enable-libharfbuzz  depend enable-libfreetype
            enable-libass       depend enable-libfreetype enable-libfribidi enable-libharfbuzz
            enable-libzvbi      build with libzvbi
            enable-FFmpeg       build with FFmpeg
            enable-libmpv       depend enable-libass enable-FFmpeg
            enable-openssl      build with openssl [no]

License

Because FFmpegKit includes libsmbclient by default, and the GPL is turned on when compiling FFmepg and mpv. So FFmpegKit uses the GPL license.

Additionally, there is a paid version that adopts the LGPL license (contact us).