Gifcurry
Create animated GIFs, optionally overlaid with text, from video files.
Screenshots
Sample GIF
Credit: Caminandes 3: Llamigos (2016) - Blender Foundation
CLI Usage
gifcurry_cli [OPTIONS]
Common flags:
-i --inputfile=FILE The input video file path and name.
-o --outputfile=ITEM The output GIF file path and name.
-s --starttime=NUM The start time (in seconds) for the first frame.
-d --durationtime=NUM How long the GIF lasts (in seconds) from the start
time.
-w --widthsize=INT How wide the GIF needs to be. Height will scale to
match.
-q --qualitypercent=NUM Ranges from 0.0 to 100.0.
-f --fontchoice=ITEM Choose your desired font for the top and bottom
text.
-t --toptext=ITEM The text you wish to add to the top of the GIF.
-b --bottomtext=ITEM The text you wish to add to the bottom of the GIF.
-? --help Display help message
-V --version Print version information
--numeric-version Print just the version number
CLI Example
~/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.3.0.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
Run
Build
Install & Run
Linux
# Install FFmpeg (https://www.ffmpeg.org/download.html)
# Install ImageMagick (https://www.imagemagick.org/script/download.php)
# Install GNU Wget (https://www.gnu.org/software/wget/) or download the AppImage with your browser
# Find the latest release at https://github.com/lettier/gifcurry/releases
# * equals the version number
# Download gifcurry-*-x86_64.AppImage
# Right click on the AppImage and allow the file to be executed as a program
wget https://github.com/lettier/gifcurry/releases/download/*/gifcurry-*-x86_64.AppImage
chmod a+x gifcurry-*-x86_64.AppImage
./gifcurry-*-x86_64.AppImage
# If you would like to install the AppImage, you can run the following
cd
wget "https://raw.githubusercontent.com/lettier/gifcurry/master/packaging/linux/gifcurry-gui-install.sh" -O "gifcurry-gui-install.sh"
chmod +x "gifcurry-gui-install.sh"
./gifcurry-gui-install.sh
Ubuntu/Mint
# Install FFmpeg (https://www.ffmpeg.org/download.html)
# Install ImageMagick (https://www.imagemagick.org/script/download.php)
sudo add-apt-repository ppa:jonathonf/ffmpeg-3
sudo apt-get update
sudo apt-get install ffmpeg imagemagick
# Install GNU Wget (https://www.gnu.org/software/wget/)
# Find the latest release at https://github.com/lettier/gifcurry/releases
# * equals the version number
wget https://github.com/lettier/gifcurry/releases/download/*/gifcurry-linux-*.tar.gz
tar -xvfz gifcurry-linux*.tar.gz
cd gifcurry-linux-*/bin
./gifcurry_cli -?
./gifcurry_gui
Arch/Manjaro/Antergos
cd
# Install Git
sudo pacman -S git
# Install Gifcurry from AUR
mkdir -p build_gifcurry
cd build_gifcurry
git clone https://aur.archlinux.org/gifcurry.git
cd gifcurry
makepkg -sic
cd
rm -rf build_gifcurry
gifcurry_cli -?
gifcurry_gui
Mac
Binaries
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
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
# * equals the version number
wget https://github.com/lettier/gifcurry/releases/download/*/gifcurry-macosx-*.tar.gz
tar xvfz gifcurry-macosx-*.tar.gz
cd gifcurry-macosx-*/bin
./gifcurry_cli -?
./gifcurry_gui
Compile
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install xcode
brew install git
git clone git@github.com:lettier/gifcurry.git
cd gifcurry/
brew cask install haskell-platform
brew install pkg-config gobject-introspection cairo gdk-pixbuf gsettings-desktop-schemas \
gtk+3 gtk-mac-integration ffmpeg imagemagick ghostscript gnome-icon-theme
stack setup
stack install hsc2hs
stack install
export PATH=$PATH:"$HOME/.local/bin/"
gifcurry_cli -?
gifcurry_gui
Stack
# Install GNU Wget (https://www.gnu.org/software/wget/)
# Install FFmpeg (https://www.ffmpeg.org/download.html)
# Install ImageMagick (https://www.imagemagick.org/script/download.php)
# Install Haskell (https://www.haskell.org/platform/)
# Find the latest version number at https://hackage.haskell.org/package/Gifcurry
# * equals the version number
wget https://hackage.haskell.org/package/Gifcurry-*/Gifcurry-*.tar.gz
tar -xvzf Gifcurry-*.tar.gz
cd Gifcurry-*
stack setup
stack install
stack exec -- gifcurry_cli -?
stack exec -- gifcurry_gui
Cabal
# Install FFmpeg (https://www.ffmpeg.org/download.html)
# Install ImageMagick (https://www.imagemagick.org/script/download.php)
# Install Haskell (https://www.haskell.org/platform/)
cabal update
cabal install alex happy -j
cabal install gifcurry -j
cd ~/.cabal/bin
./gifcurry_cli -?
./gifcurry_gui
# Install GNU Make (https://www.gnu.org/software/make/)
# Install FFmpeg (https://www.ffmpeg.org/download.html)
# Install ImageMagick (https://www.imagemagick.org/script/download.php)
# Install Haskell (https://www.haskell.org/platform/)
git clone git@github.com:lettier/gifcurry.git
cd gifcurry/
make
make run_cli CLI_ARGS='-?'
make run_gui
License
For license information, see LICENSE.
Copyright
(C) 2016 David Lettier
lettier.com