The Gifcurry package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Warnings:

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


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.1.0, 2.0.0.0, 2.0.0.1, 2.0.0.2, 2.1.0.0, 2.1.1.0, 2.2.0.0, 2.3.0.0, 2.3.0.0
Change logCHANGELOG.md
Dependenciesbase (>=4.7 && <5), cmdargs (==0.10.*), directory (==1.3.*), filepath (==1.4.*), gi-gdk (==3.0.*), gi-glib (==2.0.*), gi-gobject (==2.0.*), gi-gtk (==3.0.*), haskell-gi-base (==0.20.*), process (>=1.2 && <=1.4.4), temporary (==1.2.*), text (==1.2.*) [details]
LicenseBSD3
Copyright(C) 2016 David Lettier
AuthorLettier
MaintainerLettier
CategoryApplication , Library , Graphics
Home pagehttps://github.com/lettier/gifcurry
Source repositoryhead: git clone https://github.com/lettier/gifcurry
Executablesgifcurry_cli, gifcurry_gui
UploadedThu Oct 19 04:20:34 UTC 2017 by lettier

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for Gifcurry-2.3.0.0

[back to package description]

Gifcurry

Gifcurry

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

Screenshots

GUI

Sample GIF

Caminandes 3: Llamigos (2016) - Blender Foundation
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

AppImage (GUI Only)

# 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

Hackage

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

Github

# 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