FFmpeg-iOS

这个 Swift 包使你能够在你的 iOS、Mac Catalyst 和 tvOS 应用程序中使用 FFmpeg 库。

安装

.package(url: "https://github.com/kewlbear/FFmpeg-iOS.git", from: "0.0.6-b")

用法

import FFmpegSupport

ffmpeg(["ffmpeg", "-i", "in.webm", "out.mp4"])

请参阅 https://github.com/kewlbear/YoutubeDL-iOS

构建库

你可以安装构建工具

Mint

$ mint install kewlbear/FFmpeg-iOS

或者从源代码运行。

Swift Package Manager

git clone https://github.com/kewlbear/FFmpeg-iOS.git
cd FFmpeg-iOS

如果你安装了构建工具,你应该从以下命令中省略 "swift run" 。

下载 FFmpeg 源代码并构建 .xcframeworks

$ swift run ffmpeg-ios

构建胖库 (fat libraries)

$ swift run ffmpeg-ios --disable-xcframework 

下载 x264 源代码并构建胖库 (fat libraries)

$ swift run ffmpeg-ios x264 --disable-xcframework

对于其他用法

$ swift run ffmpeg-ios -h
OVERVIEW: Build FFmpeg libraries for iOS as xcframeworks

USAGE: ffmpeg-ios <subcommand>

OPTIONS:
 -h, --help              Show help information.

SUBCOMMANDS:
 build (default)         Build framework module
 framework               Create .xcframework
 module                  Enable modules to allow import from Swift
 fat                     Create fat library
 dep                     Install build dependency
 source                  Download library source code

 See 'ffmpeg-ios help <subcommand>' for detailed help.
 $ swift run ffmpeg-ios build -h
 OVERVIEW: Build framework module

 USAGE: ffmpeg-ios build <options>

 ARGUMENTS:
   <lib>                   ffmpeg, fdk-aac, lame or x264 (default: ffmpeg)

 OPTIONS:
   --enable-libfdk-aac     enable AAC de/encoding via libfdk-aac 
   --enable-libx264        enable H.264 encoding via x264 
   --enable-libmp3lame     enable MP3 encoding via libmp3lame 
   --disable-xcframework   Create fat library instead of .xcframework 
   --disable-module
   --source-directory <source-directory>
                           Library source directory (default: ./<lib>) 
   --build-directory <build-directory>
                           directory to contain build artifacts (default: ./build)
   --arch <arch>           architectures to include (default: arm64, x86_64)
   --library <library>     libraries to include (default: avcodec, avdevice, avfilter, avformat, avutil, swresample, swscale)
   --deployment-target <deployment-target>
                           (default: 12.0)
   --extra-options <extra-options>
                           additional options for configure script 
   --release <release>     FFmpeg release (default: snapshot)
   --url <url>
   --frameworks <frameworks>
                           (default: ./Frameworks)
   --output <output>       default: <lib>-fat 
   --fdk-aac-source <fdk-aac-source>
                           (default: ./fdk-aac-2.0.1)
   --x264-source <x264-source>
                           (default: ./x264-master)
   --lame-source <lame-source>
                           (default: ./lame-3.100)
   -h, --help              Show help information.

$

许可

LGPL v2.1+