Gifcurry-2.1.1.0: README.md

# Gifcurry
Create animated GIFs, optionally overlaid with text, from video files.
## Screenshots

## Sample GIF

Credit: [Caminandes 3: Llamigos (2016) - Blender Foundation](http://www.caminandes.com/)
## CLI Usage
```bash
gifcurry_cli \
-i inputFile \
-o outputFile \
-s startTime \
-d durationTime \
-w widthSize \
-q qualityPercent \
-f fontChoice \
-t topText \
-b bottomText
```
## CLI Example
```Bash
~/gifcurry ❯❯❯ ./gifcurry_cli \
-i ./03_caminandes_llamigos_1080p.mp4 \
-o ./out.gif \
-s 42 \
-d 4 \
-w 600 \
-q 100 \
-f 'Roboto Condensed Bold Italic' \
-t 'Download' \
-b 'Gifcurry'
_____ _ __
| __ (_)/ _|
| | \/_| |_ ___ _ _ _ __ _ __ _ _
| | __| | _/ __| | | | '__| '__| | | |
| |_\ \ | || (__| |_| | | | | | |_| |
\____/_|_| \___|\__,_|_| |_| \__, |
__/ |
|___/
Gifcurry 2.1.1.0
(C) 2016 David Lettier
lettier.com
Input file: ./03_caminandes_llamigos_1080p.mp4
Output file: ./out.gif
Start second: 42.000
Duration: 4.000 seconds
GIF width: 600px
Quality: 100.0%
Font Choice: Roboto Condensed Bold Italic
Top text: Download
Bottom text: Gifcurry
Writing temporary frames to... ./frames13465
Font matched: Roboto-Condensed-Bold-Italic
Writing your GIF to... ./out.gif
Done.
```
## Dependencies
* [Haskell](https://www.haskell.org/platform/)
* [alex](https://hackage.haskell.org/package/alex)
* [happy](https://hackage.haskell.org/package/happy)
* [gtk2hs-buildtools](https://hackage.haskell.org/package/gtk2hs-buildtools)
* [cmdargs](https://hackage.haskell.org/package/cmdargs)
* [System.IO.Temp (temporary)](https://hackage.haskell.org/package/temporary)
* [Graphics.UI.Gtk (gtk)](https://hackage.haskell.org/package/gtk3)
* [System.Directory (directory)](https://hackage.haskell.org/package/directory)
* [System.FilePath (filepath)](https://hackage.haskell.org/package/filepath)
* [FFmpeg](https://www.ffmpeg.org/download.html)
* [ImageMagick](http://www.imagemagick.org/script/download.php)
* [GTK+](http://www.gtk.org/download/index.php)
## Install & Run
### Ubuntu/Mint
```bash
# Install FFmpeg & ImageMagick
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg imagemagick
# Find the latest release at https://github.com/lettier/gifcurry/releases
wget https://github.com/lettier/gifcurry/releases/download/*/gifcurry-linux*.tar.gz
tar xvfz gifcurry-linux*.tar.gz
cd gifcurry-linux*/bin
./gifcurry_gui
./gifcurry_cli -?
```
### Arch Linux
```bash
# Install FFmpeg and ImageMagick
# Install yaourt (https://archlinux.fr/yaourt-en)
# AUR package: https://aur.archlinux.org/packages/gifcurry/
yaourt -S gifcurry
gifcurry_gui
gifcurry_cli -?
```
### macOS Sierra
#### Binaries
```bash
# If you don't have Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ffmpeg
brew install imagemagick
brew install ghostscript
brew install wget
brew install gnome-icon-theme
# Find the latest release at https://github.com/lettier/gifcurry/releases
wget https://github.com/lettier/gifcurry/releases/download/*/gifcurry-macosx*.tar.gz
tar xvfz gifcurry-macosx*.tar.gz
cd gifcurry-macosx*/bin
./gifcurry_gui
./gifcurry_cli -?
```
#### Compile
```bash
# If you don't have Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install xcode
brew install git
brew install ghc
sudo chown -R $(whoami):admin /usr/local/bin
brew link ghc
brew install cabal-install
brew install pkg-config
brew install glib
brew install gtk+3
brew install cairo
brew install pango
brew install ffmpeg
brew install imagemagick
brew install ghostscript
brew install gnome-icon-theme
mkdir gifcurry
cd gifcurry
cabal sandbox init
cabal update
cabal install alex happy -j
cabal install gtk2hs-buildtools -j
cabal install gifcurry -j
cd .cabal-sandbox/bin/
./gifcurry_gui
./gifcurry_cli -?
```
### Hackage
```bash
# Install ghc and cabal-install
# Install ffmpeg and imagemagick
cabal update
cabal install alex happy -j
cabal install gtk2hs-buildtools -j
cabal install gifcurry -j
cd ~/.cabal/bin
./gifcurry_gui
./gifcurry_cli -?
```
### Github
```bash
# Install ghc and cabal-install
# Install ffmpeg and imagemagick
# Install GNU Make
git clone git@github.com:lettier/gifcurry.git
cd gifcurry/
make
make run_gui
make run_cli CLI_ARGS='-?'
# Or you can do
# Install ghc and cabal-install
# Install ffmpeg and imagemagick
git clone git@github.com:lettier/gifcurry.git
cd gifcurry/
cabal sandbox init
cabal update
cabal install alex happy -j
cabal install gtk2hs-buildtools -j
cabal install -j --dependencies-only
cabal configure
cabal build -j
cabal install -j --enable-relocatable
./.cabal-sandbox/bin/gifcurry_gui
./.cabal-sandbox/bin/gifcurry_cli -?
```
## License
For license information, see [LICENSE](LICENSE).
## Copyright
_(C) 2016 David Lettier_
[lettier.com](http://www.lettier.com/)