Need help with Regift?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

matthewpalmer
490 Stars 79 Forks MIT License 136 Commits 12 Opened issues

Description

Easily convert a video to a GIF on iOS.

Services available

!
?

Need anything else?

Contributors list

# 152,097
Swift
Objecti...
carthag...
Xcode
37 commits
# 62,303
Swift
HTML
Shell
25 commits
# 270,275
Swift
C
Vim
react-r...
11 commits
# 144,698
Objecti...
C++
iphone
iOS
6 commits
# 38,375
Swift
ios11
Haskell
haptic
6 commits
# 190,966
Swift
GraphQL
carthag...
cocoapo...
3 commits
# 209,395
Swift
iOS
voice-c...
Raspber...
3 commits
# 246,558
Swift
HTML
2 commits
# 77,464
Objecti...
Swift
gzip
spm
1 commit
# 432,882
Shell
C
C++
1 commit
# 70,104
Swift
python-...
osx
swift3
1 commit

Regift

Easily convert a video to a GIF on iOS and OSX.

Travis Version License Platform Carthage compatible




🚀

I also make Rocket, an app that gives you Slack-style emoji everywhere on your Mac.


Demo image of Rocket





Requirements

  • Xcode 10+
  • iOS 11.1+ / macOS 10.12+
  • Swfit 5.0+

Installation

Cocoapods

Regift is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Regift"

Carthage

Regift is available through Carthage.

github 'matthewpalmer/Regift'

Quick Start

import Regift

Synchronous GIF creation:

let videoURL   = ...
let frameCount = 16
let delayTime  = Float(0.2)
let loopCount  = 0    // 0 means loop forever

let regift = Regift(sourceFileURL: videoURL, frameCount: frameCount, delayTime: delayTime, loopCount: loopCount) print("Gif saved to (regift.createGif())")

let startTime = Float(30) let duration = Float(15) let frameRate = 15

let trimmedRegift = Regift(sourceFileURL: URL, startTime: startTime, duration: duration, frameRate: frameRate, loopCount: loopCount) print("Gif saved to (trimmedRegift.createGif())")

Asynchronous GIF creation:

let videoURL   = ...
let frameCount = 16
let delayTime  = Float(0.2)
let loopCount  = 0    // 0 means loop forever

Regift.createGIFFromSource(videoURL, frameCount: frameCount, delayTime: delayTime) { (result) in print("Gif saved to (result)") }

let startTime = Float(30) let duration = Float(15) let frameRate = 15

Regift.createGIFFromSource(videoURL, startTime: startTime, duration: duration, frameRate: frameRate) { (result) in print("Gif saved to (result)") }

Acknowledgements

Thanks to Rob Mayoff's Gist, without which this library wouldn't exist.

My personal thanks to all of Regift’s contributors:

  • caughtinflux
  • samuelbeek
  • sebyddd
  • nakajijapan
  • dbburgess

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.