FFmpegKit
is a collection of tools to use FFmpeg
in iOS
, macOS
, tvOS
applications.
It includes scripts to build FFmpeg
native libraries,
Custom FFmpeg
edit main.swift And run
swift run build-FFmpeg enable-openssl
{ "name": "FFmpegKit", "path": "/usr/src/package", "targets": [ { "name": "build-FFmpeg", "path": "Plugins/BuildFFmpeg", "type": "executable", "c99name": "build_FFmpeg", "sources": [ "main.swift" ], "module_type": "SwiftTarget", "product_memberships": [ "build-FFmpeg" ] }, { "name": "Libswscale", "path": "Sources/Libswscale.xcframework", "type": "binary", "c99name": "Libswscale", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libswscale" ] }, { "name": "Libswresample", "path": "Sources/Libswresample.xcframework", "type": "binary", "c99name": "Libswresample", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libswresample" ] }, { "name": "Libssl", "path": "Sources/Libssl.xcframework", "type": "binary", "c99name": "Libssl", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libssl" ] }, { "name": "Libcrypto", "path": "Sources/Libcrypto.xcframework", "type": "binary", "c99name": "Libcrypto", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libcrypto" ] }, { "name": "Libavutil", "path": "Sources/Libavutil.xcframework", "type": "binary", "c99name": "Libavutil", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libavutil" ] }, { "name": "Libavformat", "path": "Sources/Libavformat.xcframework", "type": "binary", "c99name": "Libavformat", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libavformat" ] }, { "name": "Libavfilter", "path": "Sources/Libavfilter.xcframework", "type": "binary", "c99name": "Libavfilter", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libavfilter" ] }, { "name": "Libavcodec", "path": "Sources/Libavcodec.xcframework", "type": "binary", "c99name": "Libavcodec", "sources": [], "module_type": "BinaryTarget", "product_memberships": [ "FFmpeg", "Libavcodec" ] }, { "name": "FFmpeg", "path": "Sources/FFmpeg", "type": "library", "c99name": "FFmpeg", "sources": [ "FFmpeg.c" ], "module_type": "ClangTarget", "product_memberships": [ "FFmpeg" ], "target_dependencies": [ "Libavcodec", "Libavfilter", "Libavformat", "Libavutil", "Libswresample", "Libswscale", "Libssl", "Libcrypto" ] } ], "products": [ { "name": "FFmpeg", "type": { "library": [ "static" ] }, "targets": [ "FFmpeg" ] }, { "name": "Libavcodec", "type": { "library": [ "automatic" ] }, "targets": [ "Libavcodec" ] }, { "name": "Libavfilter", "type": { "library": [ "automatic" ] }, "targets": [ "Libavfilter" ] }, { "name": "Libavformat", "type": { "library": [ "automatic" ] }, "targets": [ "Libavformat" ] }, { "name": "Libavutil", "type": { "library": [ "automatic" ] }, "targets": [ "Libavutil" ] }, { "name": "Libswresample", "type": { "library": [ "automatic" ] }, "targets": [ "Libswresample" ] }, { "name": "Libswscale", "type": { "library": [ "automatic" ] }, "targets": [ "Libswscale" ] }, { "name": "Libssl", "type": { "library": [ "automatic" ] }, "targets": [ "Libssl" ] }, { "name": "Libcrypto", "type": { "library": [ "automatic" ] }, "targets": [ "Libcrypto" ] }, { "name": "build-FFmpeg", "type": { "executable": null }, "targets": [ "build-FFmpeg" ] } ], "platforms": [ { "name": "macos", "version": "10.15" }, { "name": "ios", "version": "13.0" }, { "name": "tvos", "version": "13.0" } ], "dependencies": [], "tools_version": "5.7", "default_localization": "en", "manifest_display_name": "FFmpegKit" }
{ "name": "FFmpegKit", "targets": [ { "name": "FFmpeg", "type": "regular", "exclude": [], "settings": [ { "kind": { "linkedLibrary": { "_0": "bz2" } }, "tool": "linker" }, { "kind": { "linkedLibrary": { "_0": "iconv" } }, "tool": "linker" }, { "kind": { "linkedLibrary": { "_0": "xml2" } }, "tool": "linker" }, { "kind": { "linkedLibrary": { "_0": "z" } }, "tool": "linker" }, { "kind": { "linkedLibrary": { "_0": "c++" } }, "tool": "linker" } ], "resources": [], "dependencies": [ { "byName": [ "Libavcodec", null ] }, { "byName": [ "Libavfilter", null ] }, { "byName": [ "Libavformat", null ] }, { "byName": [ "Libavutil", null ] }, { "byName": [ "Libswresample", null ] }, { "byName": [ "Libswscale", null ] }, { "byName": [ "Libssl", null ] }, { "byName": [ "Libcrypto", null ] } ] }, { "name": "build-FFmpeg", "path": "Plugins/BuildFFmpeg", "type": "executable", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libavcodec", "path": "Sources/Libavcodec.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libavfilter", "path": "Sources/Libavfilter.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libavformat", "path": "Sources/Libavformat.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libavutil", "path": "Sources/Libavutil.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libswresample", "path": "Sources/Libswresample.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libswscale", "path": "Sources/Libswscale.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libssl", "path": "Sources/Libssl.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] }, { "name": "Libcrypto", "path": "Sources/Libcrypto.xcframework", "type": "binary", "exclude": [], "settings": [], "resources": [], "dependencies": [] } ], "products": [ { "name": "FFmpeg", "type": { "library": [ "static" ] }, "targets": [ "FFmpeg" ] }, { "name": "Libavcodec", "type": { "library": [ "automatic" ] }, "targets": [ "Libavcodec" ] }, { "name": "Libavfilter", "type": { "library": [ "automatic" ] }, "targets": [ "Libavfilter" ] }, { "name": "Libavformat", "type": { "library": [ "automatic" ] }, "targets": [ "Libavformat" ] }, { "name": "Libavutil", "type": { "library": [ "automatic" ] }, "targets": [ "Libavutil" ] }, { "name": "Libswresample", "type": { "library": [ "automatic" ] }, "targets": [ "Libswresample" ] }, { "name": "Libswscale", "type": { "library": [ "automatic" ] }, "targets": [ "Libswscale" ] }, { "name": "Libssl", "type": { "library": [ "automatic" ] }, "targets": [ "Libssl" ] }, { "name": "Libcrypto", "type": { "library": [ "automatic" ] }, "targets": [ "Libcrypto" ] } ], "pkgConfig": null, "platforms": [ { "options": [], "version": "10.15", "platformName": "macos" }, { "options": [], "version": "13.0", "platformName": "ios" }, { "options": [], "version": "13.0", "platformName": "tvos" } ], "providers": null, "packageKind": { "root": [ "/usr/src/package" ] }, "dependencies": [], "toolsVersion": { "_version": "5.7.0" }, "cLanguageStandard": null, "cxxLanguageStandard": null, "swiftLanguageVersions": null }
{ "url": "/usr/src/package", "name": "FFmpegKit", "path": "/usr/src/package", "version": "unspecified", "identity": "package", "dependencies": [] }