All Projects → kewlbear → FFmpeg-iOS

kewlbear / FFmpeg-iOS

Licence: other
Swift package of FFmpeg libraries for iOS

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to FFmpeg-iOS

Rock
With Rock you can easily install CLIs built with Swift Package Manager. Prefer vknabel/Archery and yonaskolb/Mint instead
Stars: ✭ 13 (-84.71%)
Mutual labels:  swiftpm
Zewo
Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.
Stars: ✭ 1,856 (+2083.53%)
Mutual labels:  swiftpm
HyperSwift
A Swift DSL for generating HTML and CSS documents
Stars: ✭ 47 (-44.71%)
Mutual labels:  swiftpm
Scenekit Scnline
Draw a tube or thick line in SceneKit
Stars: ✭ 49 (-42.35%)
Mutual labels:  swiftpm
Materialactivityindicator
Material Activity Indicator
Stars: ✭ 109 (+28.24%)
Mutual labels:  swiftpm
Swipycell
Easy to use UITableViewCell implementing swiping to trigger actions.
Stars: ✭ 230 (+170.59%)
Mutual labels:  swiftpm
Imagescout
A Swift implementation of fastimage. Supports PNG, GIF, and JPEG.
Stars: ✭ 940 (+1005.88%)
Mutual labels:  swiftpm
Partial
Type-safe wrapper mirroring the wrapped type's properties, making each property optional
Stars: ✭ 61 (-28.24%)
Mutual labels:  swiftpm
Venice
Coroutines, structured concurrency and CSP for Swift on macOS and Linux.
Stars: ✭ 1,501 (+1665.88%)
Mutual labels:  swiftpm
swift-declarative-configuration
Declarative configuration for your objects
Stars: ✭ 46 (-45.88%)
Mutual labels:  swiftpm
Dikit
Dependency Injection Framework for Swift, inspired by KOIN.
Stars: ✭ 77 (-9.41%)
Mutual labels:  swiftpm
Swiftcrossplatformframework
Tutorial to create cross platform framework for Swift compatible with Carthage and SwiftPM
Stars: ✭ 98 (+15.29%)
Mutual labels:  swiftpm
SwiftCV
Minimal Swift for TensorFlow OpenCV bindings
Stars: ✭ 37 (-56.47%)
Mutual labels:  swiftpm
Scenekit Bezier Animations
Create animations over Bezier curves of any number of points
Stars: ✭ 35 (-58.82%)
Mutual labels:  swiftpm
swift-bundler
An Xcodeproj-less tool for creating cross-platform Swift apps.
Stars: ✭ 180 (+111.76%)
Mutual labels:  swiftpm
Sdwebimageswiftui
SwiftUI Image loading and Animation framework powered by SDWebImage
Stars: ✭ 844 (+892.94%)
Mutual labels:  swiftpm
Swift Docker
Build & test your swift packages using docker - `swift docker test`
Stars: ✭ 179 (+110.59%)
Mutual labels:  swiftpm
ConsoleUI
Rasterize SwiftUI views to images from macOS terminal
Stars: ✭ 52 (-38.82%)
Mutual labels:  swiftpm
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (-38.82%)
Mutual labels:  swiftpm
EggSeed
Command Line Tool for Starting Your Swift Packages with Continuous Integration
Stars: ✭ 21 (-75.29%)
Mutual labels:  swiftpm

FFmpeg-iOS

This swift package enables you to use FFmpeg libraries in your iOS, Mac Catalyst and tvOS apps.

Installation

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

Usage

import avformat

var ifmt_ctx: UnsafeMutablePointer<AVFormatContext>?
var ret = avformat_open_input(&ifmt_ctx, filename, nil, nil)

See https://github.com/kewlbear/YoutubeDL-iOS.

Building Libraries

You can install build tool

Mint

$ mint install kewlbear/FFmpeg-iOS

or run from source.

Swift Package Manager

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

You should omit "swift run" from following commands if you installed build tool.

To download FFmpeg source and build .xcframeworks:

$ swift run ffmpeg-ios

To build fat libraries:

$ swift run ffmpeg-ios --disable-xcframework 

To download x264 source and build fat libraries:

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

For other usages:

$ 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.

$

License

LGPL v2.1+

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].