update lists
This commit is contained in:
371
terminal/gif
371
terminal/gif
@@ -1,41 +1,354 @@
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4mawesome-gif[0m
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome GIF [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge-flat.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re)[0m
|
||||
|
||||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mA curated list of awesome gif's resources.[39m
|
||||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mA curated list of awesome [39m[38;5;14m[1mGIF[0m[38;5;12m (https://en.wikipedia.org/wiki/GIF) resources.[39m
|
||||
|
||||
[38;5;12m![39m[38;5;12m (header.gif)[39m
|
||||
[38;5;12mA list of tools, scripts, libraries, examples & other resources related to the Graphics Interchange Format (GIF).[39m
|
||||
|
||||
[38;2;255;187;0m[4mGeneral[0m
|
||||
[38;2;255;187;0m[4mContents[0m
|
||||
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mgiphy.com[0m[38;5;12m (http://giphy.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mgifme.io[0m[38;5;12m (http://gifme.io)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1m9gag.com/gif[0m[38;5;12m (http://9gag.com/gif)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreddit.com/r/gifs[0m[38;5;12m (https://www.reddit.com/r/gifs/)[39m
|
||||
|
||||
[38;2;255;187;0m[4mReactions[0m
|
||||
[38;5;12m- [39m[38;5;14m[1mGeneral Tools[0m[38;5;12m (#general-tools)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mUtilities[0m[38;5;12m (#utilities)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mLibraries[0m[38;5;12m (#libraries)[39m
|
||||
[48;5;235m[38;5;249m- **ActionScript** (#actionscript)[49m[39m
|
||||
[48;5;235m[38;5;249m- **C++** (#c)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **C#** (#c-sharp)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Haxe** (#haxe)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Java** (#java)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **JavaScript** (#javascript)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **PHP** (#php)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Objective-C** (#objective-c)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Swift** (#swift)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGUI[0m[38;5;12m (#gui)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mHosting[0m[38;5;12m (#hosting)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOnline Tools[0m[38;5;12m (#online-tools)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCommunity[0m[38;5;12m (#community)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mScripts[0m[38;5;12m (#scripts)[39m
|
||||
[48;5;235m[38;5;249m- **Frames to GIF** (#frames-to-gif)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **GIF to frames** (#gif-to-frames)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **High quality GIF** (#high-quality-gif)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Optimize GIF** (#optimize-gif)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Lossy GIF Compressor** (#lossy-gif-compressor)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Making GIF from video** (#making-gif-from-video)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Cinemagraphs** (#cinemagraphs)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Perfect loop** (#perfect-loop)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **YouTube video to GIF** (#youtube-video-to-gif)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m- **Grabbing each frame of an HTML5 canvas** (#grabbing-each-frame-of-an-html5-canvas)[49m[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mMiscellaneous[0m[38;5;12m (#miscellaneous)[39m
|
||||
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreactiongifs.com[0m[38;5;12m (http://www.reactiongifs.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreactiongifs.me[0m[38;5;12m (http://reactiongifs.me)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreactions @ giphy[0m[38;5;12m (http://giphy.com/categories/reactions)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreactions @ reddit[0m[38;5;12m (https://www.reddit.com/r/reactiongifs)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreactions @ imgur[0m[38;5;12m (https://reactiongifsarchive.imgur.com) [39m[38;5;12m2[39m[38;5;14m[1m (https://imgur.com/r/reactiongifs)[0m[38;5;12m [39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mfuckyeahreactions[0m[38;5;12m (http://fuckyeahreactions.tumblr.com/)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mreplygif.net[0m[38;5;12m (http://replygif.net/)[39m
|
||||
[38;2;255;187;0m[4mGeneral Tools[0m
|
||||
|
||||
[38;2;255;187;0m[4mNerd[0m
|
||||
[38;5;12m- [39m[38;5;14m[1mFFmpeg[0m[38;5;12m (https://www.ffmpeg.org)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mImageMagick[0m[38;5;12m (http://www.imagemagick.org/script/index.php)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGraphicsMagick[0m[38;5;12m (http://www.graphicsmagick.org/) - GraphicsMagick is usually faster than ImageMagick.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mMoviePy[0m[38;5;12m (https://zulko.github.io/moviepy/) - Python module for video editing.[39m
|
||||
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1msecurityreactions[0m[38;5;12m (http://securityreactions.tumblr.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdevopsreactions[0m[38;5;12m (http://devopsreactions.tumblr.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mlifeofasoftwareengineer[0m[38;5;12m (http://lifeofasoftwareengineer.tumblr.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcoderfacts.com[0m[38;5;12m (http://coderfacts.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1misexinternreactions[0m[38;5;12m (http://isexinternreactions.tumblr.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mthecodinglove.com[0m[38;5;12m (http://thecodinglove.com)[39m
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPictures[0m[38;5;14m[1m [0m[38;5;14m[1mfrom[0m[38;5;14m[1m [0m[38;5;14m[1ma[0m[38;5;14m[1m [0m[38;5;14m[1mdeveloper's[0m[38;5;14m[1m [0m[38;5;14m[1mlife[0m[38;5;12m [39m[38;5;12m(http://martinvalasek.com/blog/pictures-from-a-developers-life)[39m[38;5;12m [39m[38;5;12m2[39m[38;5;14m[1m [0m[38;5;14m[1m(http://martinvalasek.com/blog/pictures-from-a-developers-life-part-2)[0m[38;5;12m [39m[38;5;12m3[39m[38;5;14m[1m [0m
|
||||
[38;5;14m[1m(http://martinvalasek.com/blog/pictures-from-a-developers-life-part-3)[0m[38;5;12m [39m
|
||||
[38;2;255;187;0m[4mUtilities[0m
|
||||
|
||||
[38;2;255;187;0m[4mMake GIF's[0m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifgen[0m[38;5;12m (https://github.com/lukechilds/gifgen) - Simple high quality GIF encoding.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifify[0m[38;5;12m (https://github.com/jclem/gifify) - Convert screen recording into GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifs[0m[38;5;12m (https://github.com/jglovier/gifs) - Storage place for GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifshot[0m[38;5;12m (https://github.com/yahoo/gifshot) - Create animated GIFs from media by Yahoo. ([39m[38;5;14m[1mdemo[0m[38;5;12m (http://yahoo.github.io/gifshot/))[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifsockets[0m[38;5;12m (https://github.com/videlalvaro/gifsockets) - Real Time communication library using Animated GIFs as a transport.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mX-gif[0m[38;5;12m (https://github.com/geelen/x-gif) - A web component for flexible GIF playback.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifW00t[0m[38;5;12m (https://github.com/yaronn/GifW00t) - JavaScript web recorder.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mgif-machine[0m[38;5;12m (https://github.com/lelandbatey/gif-machine) - GIF creation from YouTube videos.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mgifstreaming[0m[38;5;12m (https://github.com/jbochi/gifstreaming) - Live video streaming server.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mScreengif[0m[38;5;12m (https://github.com/dergachev/screengif) - Create animated GIF screencasts.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mvnc-over-gif[0m[38;5;12m (https://github.com/sidorares/vnc-over-gif) - Serves screen updates as animated GIF over http.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mgifdeck[0m[38;5;12m (https://github.com/jaipandya/gifdeck) - Convert your SlideShares into animated GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifbot[0m[38;5;12m (https://github.com/schuyler/gifbot) - GIF search for Slack.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGif-camera[0m[38;5;12m (https://github.com/FuzzyWobble/GIF-Camera) - Create animated GIFs using webcam.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifline[0m[38;5;12m (https://github.com/zehfernandes/gifline) - Chrome extension to put GIFs in your emails.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifdrop[0m[38;5;12m (https://github.com/markjaquith/gifdrop) - Create a repository for your collection of GIF images.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGh-gif[0m[38;5;12m (https://github.com/node-gh/gh-gif) - NodeGH plugin for commenting on pull requests/issues using GIF reactions.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTty2gif[0m[38;5;12m (https://github.com/z24/tty2gif) - Record scripts and their outputs into both binary and GIF formats.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGiftoppr[0m[38;5;12m (https://github.com/desktoppr/giftoppr) - Sync your favourite GIFs with Dropbox.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifit[0m[38;5;12m (https://github.com/Fauntleroy/GIFit) - Chrome extension to make a GIF from a YouTube video.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mCcapture.js[0m[38;5;12m (https://github.com/spite/ccapture.js) - Capture animations created with HTML5 canvas.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mKap[0m[38;5;12m (https://getkap.co/) - Beautiful open-source app to capture your screen and export to GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifit (the other one)[0m[38;5;12m (https://github.com/rotblauer/gifit) - Get a search resulting giphy GIF in markdown in stdout, ala [39m[48;5;235m[38;5;249m$ gifit kittens[49m[39m[38;5;12m.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mgifski[0m[38;5;12m (https://github.com/ImageOptim/gifski) - High-quality GIF encoder based on libimagequant.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifcurry[0m[38;5;12m (https://github.com/lettier/gifcurry) - Open-source, Haskell-built editor for GIF makers.[39m
|
||||
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mgiflr.com[0m[38;5;12m (https://giflr.com)[39m
|
||||
[38;2;255;187;0m[4mLibraries[0m
|
||||
|
||||
[38;2;255;187;0m[4mLicense[0m
|
||||
[38;2;255;187;0m[4mActionScript[0m
|
||||
|
||||
[38;5;14m[1m![0m[38;5;12mCreative Commons License[39m[38;5;14m[1m (http://i.creativecommons.org/l/by/4.0/88x31.png)[0m[38;5;12m (http://creativecommons.org/licenses/by/4.0/)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mFlash Animated GIF Library[0m[38;5;12m (https://github.com/theturtle32/Flash-Animated-GIF-Library) - AS3 library for playing Animated GIFs in Flash.[39m
|
||||
|
||||
[38;2;255;187;0m[4mC++[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mNode-gif[0m[38;5;12m (https://github.com/pkrumins/node-gif) - C++ library to make GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGif-h[0m[38;5;12m (https://github.com/charlietangora/gif-h) - C++ one-header library for the creation of animated GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mmsf_gif[0m[38;5;12m (https://github.com/notnullnotvoid/msf_gif) - C/C++ single-header library for creating animated GIFs.[39m
|
||||
|
||||
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mdot-screencap[0m[38;5;12m (https://github.com/Speiser/dot-screencap) - A simple libary to record your screen and save it as animated GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mWpfAnimatedGif[0m[38;5;12m (https://github.com/XamlAnimatedGif/WpfAnimatedGif) - A simple library to display animated GIF images in WPF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mXamlAnimatedGif[0m[38;5;12m (https://github.com/XamlAnimatedGif/XamlAnimatedGif) - A simple library to display animated GIF images in XAML apps (WPF, WinRT, Windows Phone).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAnimatedGif[0m[38;5;12m (https://github.com/mrousavy/AnimatedGif) - A high performance .NET library for reading and creating animated GIFs.[39m
|
||||
|
||||
[38;2;255;187;0m[4mHaxe[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mGif[0m[38;5;12m (https://github.com/snowkit/gif) - Haxe GIF encoder.[39m
|
||||
|
||||
[38;2;255;187;0m[4mJava[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mAndroid-gif-drawable[0m[38;5;12m (https://github.com/koral--/android-gif-drawable) - Views and Drawable for displaying animated GIFs on Android.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mgifanimateddrawable[0m[38;5;12m (https://github.com/Hipmob/gifanimateddrawable) - Use an animated GIF as an Android Drawable.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifView[0m[38;5;12m (https://github.com/RoiSoleil/GifView) - Android library to deal with GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGif Movie View[0m[38;5;12m (https://github.com/sbakhtiarov/gif-movie-view) - Android View widget for displaying GIF animations.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifImageView[0m[38;5;12m (https://github.com/felipecsl/GifImageView) - Android ImageView that handles animated GIF images.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGif-animation[0m[38;5;12m (https://github.com/extrapixel/gif-animation) - Processing library to play and export GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAndroid-gif-encoder[0m[38;5;12m (https://github.com/nbadal/android-gif-encoder) - Animated GIF encoder for Android.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGIFDroid[0m[38;5;12m (https://github.com/curtislarson/GIFDroid) - Android video to GIF converter.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAndroid-GifStitch[0m[38;5;12m (https://github.com/CaptPhunkosis/Android-GifStitch) - Create and share animated GIFs.[39m
|
||||
|
||||
[38;2;255;187;0m[4mJavaScript[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mGif.js[0m[38;5;12m (https://github.com/jnordberg/gif.js) - Create GIF from the DOM.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOmggif[0m[38;5;12m (https://github.com/deanm/omggif) - GIF 89a encoder and decoder.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAnimated_GIF[0m[38;5;12m (https://github.com/sole/Animated_GIF) - JavaScript library for creating animated GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifffer[0m[38;5;12m (https://github.com/krasimir/gifffer) - JavaScript library that prevents the autoplaying of the animated GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifplayer[0m[38;5;12m (https://github.com/rubentd/gifplayer) - JQuery plugin to play and stop animated GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mJsgif[0m[38;5;12m (https://github.com/shachaf/jsgif) - JavaScript GIF parser and player.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mnode-gify[0m[38;5;12m (https://github.com/tj/node-gify) - JavaScript convert videos to GIFs using ffmpeg and gifsicle.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifencoder[0m[38;5;12m (https://github.com/eugeneware/gifencoder) - Server side animated GIF generation for Node.js.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGif-video[0m[38;5;12m (https://github.com/hughsk/gif-video) - JavaScript Convert a GIF image into an HTML5-ready video.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGif-player[0m[38;5;12m (https://github.com/apankrat/gif-player) - On-demand GIF loader/player in JavaScript.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifgifLab-face[0m[38;5;12m (https://github.com/Viral-MediaLab/gifgifLab-face) - Facial-emotion detectors.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mnode-youtube[0m[38;5;12m (https://github.com/javascipt/node-youtube) - YouTube to snapshots and GIFs.[39m
|
||||
|
||||
[38;2;255;187;0m[4mPHP[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mGifCreator[0m[38;5;12m (https://github.com/Sybio/GifCreator) - PHP class that creates animated GIF from multiple images.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSpacer.gif[0m[38;5;12m (https://github.com/msng/spacer.gif) - PHP script offering spacer.gif 1x1.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifFrameExtractor[0m[38;5;12m (https://github.com/Sybio/GifFrameExtractor) - PHP class that separates all the frames of an animated GIF.[39m
|
||||
|
||||
[38;2;255;187;0m[4mObjective-C[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mUIimage from GIF[0m[38;5;12m (https://github.com/mayoff/uiimage-from-animated-gif) - UIImage category that loads animated GIFs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGIFRefreshControl[0m[38;5;12m (https://github.com/cyndibaby905/GIFRefreshControl) - "Twitter music" and "Yahoo! Weather" like pull-to-refresh control.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mUIImageView-PlayGIF[0m[38;5;12m (https://github.com/yfme/UIImageView-PlayGIF) - UIImageView category/subclass for playing GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mFLAnimatedImage[0m[38;5;12m (https://github.com/Flipboard/FLAnimatedImage) - GIF engine for iOS by FlipBoard.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAnimated-GIF-iPhone[0m[38;5;12m (https://github.com/arturogutierrez/Animated-GIF-iPhone) - Support for Animated GIF on iOS.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mUzysAnimatedGifPullToRefresh[0m[38;5;12m (https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - PullToRefresh using animated GIF to any scrollView.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSvGifView[0m[38;5;12m (https://github.com/smileEvday/SvGifView) - iOS load and display GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifHUD[0m[38;5;12m (https://github.com/cemolcay/GiFHUD) - iOS progress hud for displaying only animated GIF images.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mVideo-Background GIF[0m[38;5;12m (https://github.com/ElvinJin/Video-Background-GIF) - iOS Video Background GIF.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAnimatedGifExample[0m[38;5;12m (https://github.com/kasatani/AnimatedGifExample) - iOS animated and transparent GIFs.[39m
|
||||
|
||||
[38;2;255;187;0m[4mSwift[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mSwiftyGif[0m[38;5;12m (https://github.com/kirualex/SwiftyGif) - High performance & easy to use Gif engine.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifu[0m[38;5;12m (https://github.com/kaishin/gifu) - Animated GIF support for iOS in Swift.[39m
|
||||
|
||||
[38;2;255;187;0m[4mGUI[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mGlyph[0m[38;5;12m (http://www.glyph.video/) - Tool for generating seamlessly looping GIFs and cinemagraphs from videos.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mQgifer[0m[38;5;12m (https://sourceforge.net/projects/qgifer/)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGifPro[0m[38;5;12m (https://github.com/unixpickle/GifPro) - GIF encoder for Mac.[39m
|
||||
|
||||
[38;2;255;187;0m[4mHosting[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mGfycat[0m[38;5;12m (https://gfycat.com) - Maximum GIF/video length: 15 seconds. Maximum file upload is 300Mb.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mImgur[0m[38;5;12m (https://imgur.com) - Maximum file upload is 50MB.[39m
|
||||
|
||||
[38;2;255;187;0m[4mOnline Tools[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mVid2gif[0m[38;5;12m (https://imgur.com/vidgif) - Video to GIF by imgur.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mEzGif[0m[38;5;12m (https://ezgif.com/) - Online GIF maker and image editor.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mGiflr[0m[38;5;12m (https://giflr.com/) - A web app for making or remixing animated GIFs.[39m
|
||||
|
||||
[38;2;255;187;0m[4mCommunity[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mGiphy.com[0m[38;5;12m (https://giphy.com)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1m/r/educationalgifs[0m[38;5;12m (https://www.reddit.com/r/educationalgifs/)[39m
|
||||
|
||||
[38;2;255;187;0m[4mScripts[0m
|
||||
|
||||
[38;2;255;187;0m[4mFrames to GIF[0m
|
||||
|
||||
[38;5;12mFFmpeg[39m
|
||||
[48;5;235m[38;5;249mffmpeg -f image2 -i image%d.jpg animated.gif[49m[39m
|
||||
|
||||
[38;5;12mImagemagick[39m
|
||||
[48;5;235m[38;5;249mconvert -delay 20 -loop 0 frames*.png animated.gif[49m[39m
|
||||
[38;5;12mBash script ([39m[48;5;235m[38;5;249mframes2gif.sh[49m[39m[38;5;12m) for GraphicsMagick, ImageMagick, FFmpeg[39m
|
||||
[48;5;235m[38;5;249m#!/bin/bash[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mif ** $# -ne 5 ** ; then[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m echo "please provide the moviename and directory where to store the frames"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m echo "./frames2gif.sh **directory** **movie.mp4** **filename.gif** **gm|im|ffmpeg** **png|jpg** "[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m exit 1[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mfi[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m if ** "png" == "$5" ** ; then[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m suffix="png"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m else[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m suffix="jpg"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m fi[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m CONVERT=$(which convert)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m GM=$(which gm)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m FFMPEG=$(which ffmpeg)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m FFPROBE=$(which ffprobe)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m FPS=$($FFPROBE -show_streams -select_streams v -i "$2" 2>/dev/null | grep "r_frame_rate" | cut -d'=' -f2 | cut -d'/' -f1)[49m[39m
|
||||
[48;5;235m[38;5;249m echo "FPS: ${FPS}"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mif ** "im" == "$4" ** ; then # use imagemagick[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m FPS=$(echo "1 / ${FPS} * 100" |bc -l)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m $CONVERT "$1/*.${suffix}" -delay ${FPS} -loop 0 "$3"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249melif ** "gm" == "$4" ** ; then # use graphicsmagick[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m FPS=$(echo "1 / ${FPS} * 100" |bc -l)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m $GM convert "$1/*.${suffix}" -delay ${FPS} -loop 0 "$3"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249melse # use crappy gif-algorithm from ffmpeg[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m $FFMPEG -f image2 -framerate ${FPS} -i "$1/%08d.${suffix}" "$3"[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mfi[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[38;5;12mFrom [39m[38;5;14m[1mDeepDreamVideo[0m[38;5;12m (https://github.com/graphific/DeepDreamVideo), [39m[38;5;14m[1msource[0m[38;5;12m (https://github.com/graphific/DeepDreamVideo/blob/master/frames2gif.sh)[39m
|
||||
|
||||
|
||||
[38;2;255;187;0m[4mGIF to frames[0m
|
||||
|
||||
[48;5;235m[38;5;249mffmpeg -i video.mpg image%d.jpg[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mconvert -coalesce animated.gif image%05d.png[49m[39m
|
||||
|
||||
[38;2;255;187;0m[4mHigh quality GIF[0m
|
||||
|
||||
[38;5;12mwith ffmpeg / based on this [39m[38;5;14m[1marticle[0m[38;5;12m (http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html)[39m
|
||||
|
||||
[38;5;12m- Generate a palette :[39m
|
||||
|
||||
[48;5;235m[38;5;249m#!/bin/sh[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mstart_time=30[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mduration=3[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mffmpeg -y -ss $start_time -t $duration -i input.avi \[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m-vf fps=10,scale=320:-1:flags=lanczos,palettegen palette.png[49m[39m
|
||||
[38;5;12m- Output the GIF using the palette :[39m
|
||||
|
||||
[48;5;235m[38;5;249m#!/bin/sh[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mstart_time=30[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mduration=3[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mffmpeg -ss $start_time -t $duration -i input.avi -i palette.png -filter_complex \[49m[39m
|
||||
[48;5;235m[38;5;249m"fps=10,scale=320:-1:flags=lanczos**x** ;**x** **1:v** paletteuse" output.gif[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
[38;2;255;187;0m[4mOptimize GIF[0m
|
||||
|
||||
[48;5;235m[38;5;249mconvert -layers Optimize output.gif output_optimized.gif[49m[39m
|
||||
|
||||
[38;2;255;187;0m[4mLossy GIF Compressor[0m
|
||||
|
||||
[48;5;235m[38;5;249m./gifsicle -O3 --lossy=80 -o lossy-compressed.gif input.gif[49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[38;5;14m[1mLossy Gif[0m[38;5;12m (https://kornel.ski/lossygif)[39m
|
||||
|
||||
|
||||
[38;2;255;187;0m[4mMaking GIF from video[0m
|
||||
|
||||
[48;5;235m[38;5;249mfrom moviepy.editor import *[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mclip = (VideoFileClip("input.avi")[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m .subclip((4,00.00),(5,00.00))[49m[39m
|
||||
[48;5;235m[38;5;249m .resize(0.3))[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mclip.write_gif("output.gif")[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
[38;5;14m[1marticle[0m[38;5;12m (http://zulko.github.io/blog/2014/01/23/making-animated-gifs-from-video-files-with-python/#converting-a-video-excerpt-into-a-gif)[39m
|
||||
|
||||
[38;2;255;187;0m[4mCinemagraphs[0m
|
||||
|
||||
[38;5;12mFreezing a region[39m
|
||||
|
||||
[48;5;235m[38;5;249mfrom moviepy.editor import *[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mclip = (VideoFileClip("input.avi")[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m .subclip((4,00.00),(5,00.00))[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m .resize(0.3)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m .fx(vfx.freeze_region, outside_region=(170, 230, 380, 320)))[49m[39m
|
||||
[48;5;235m[38;5;249mclip.write_gif("output.gif", fps=15)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
[38;5;14m[1marticle[0m[38;5;12m (http://zulko.github.io/blog/2014/01/23/making-animated-gifs-from-video-files-with-python/#freezing-a-region)[39m
|
||||
|
||||
[48;5;235m[38;5;249mffmpeg \[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m-ss ${starttime} -t ${duration} -i ${vidfile} `# body of loop` \[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m-ss TODO ${starttime} MINUS ${duration} -t ${fadetime} -i ${vidfile} `# lead-in for crossfade` \[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m-loop 1 -i ${stillfile} `# masked still image` \[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m-filter_complex "[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m **0:v** setpts=PTS-STARTPTS**vid** ; `# speed adjustment - not needed here, so noop`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m color=white,scale=3840x2160,fade=in:st=0:d=${fadetime}**alpha** ; `# crossfade alpha, double length ahead of speed change`[49m[39m
|
||||
[48;5;235m[38;5;249m **1:v** **alpha** alphamerge**am** ; `# apply alpha to lead-in`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m **am** setpts=PTS+(${duration}-${fadetime})/TB**layer2** ; `# speed adjustment and offset for lead-in`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m **vid** **layer2** overlay**oo** ; `# overlay for crossfade`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m **oo** **2:v** overlay=shortest=1**out1** ; `# overlay still image`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m **out1** crop=w=${cropfactor}*iw:h=${cropfactor}*ih:y=${yoffset}*ih,scale=${outputwidth}:-1, `# crop and scale`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m eq=gamma=${gamma}:contrast=${contrast}:saturation=${saturation},unsharp `# final adjustments`[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m" -an output.mp4[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
[38;2;255;187;0m[4mPerfect Loop[0m
|
||||
|
||||
[48;5;235m[38;5;249mimport moviepy.editor as mp[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mfrom moviepy.video.tools.cuts import FramesMatches[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mclip = mp.VideoFileClip("input.avi").resize(0.3)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mscenes = FramesMatches.from_clip(clip, 10, 3)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mselected_scenes = scenes.select_scenes(2, 1, 4, 0.5)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mselected_scenes.write_gifs(clip.resize(width=450), "./outputs_directory")[49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[38;5;14m[1marticle[0m[38;5;12m (http://zulko.github.io/blog/2015/02/01/extracting-perfectly-looping-gifs-from-videos-with-python-and-moviepy/)[39m
|
||||
|
||||
[38;2;255;187;0m[4mYouTube video to GIF[0m
|
||||
|
||||
[38;5;12m- Download it via youtube-dl and then convert it.[39m
|
||||
|
||||
[48;5;235m[38;5;249myoutube-dl https://www.youtube.com/watch?v=V2XpsaLqXc8[49m[39m
|
||||
|
||||
[38;5;14m[1mYoutube-dl[0m[38;5;12m (https://rg3.github.io/youtube-dl/)[39m
|
||||
|
||||
[38;2;255;187;0m[4mGrabbing each frame of an HTML5 Canvas[0m
|
||||
|
||||
[38;5;12mUsing [39m[38;5;14m[1mPhantomJS[0m[38;5;12m (https://phantomjs.org).[39m
|
||||
|
||||
[38;5;12mExample with this [39m[38;5;14m[1mcanvas[0m[38;5;12m (http://www.effectgames.com/demos/canvascycle/?sound=0).[39m
|
||||
|
||||
[48;5;235m[38;5;249mvar webPage = require('webpage');[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mvar fs = require('fs');[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mvar page = webPage.create();[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mvar NB_FRAME = 100;[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mvar current = 0;[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mpage.open('http://www.effectgames.com/demos/canvascycle/?sound=0',[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249mfunction(status) {[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m if (status === "success") {[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m var current = 0;[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m var grabber = setInterval(function () {[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m var frame = page.evaluate(function() {[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m return document.getElementById('mycanvas').toDataURL("image/png").split(",")**1** ;[49m[39m
|
||||
[48;5;235m[38;5;249m });[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m fs.write("./frame-" + current + ".png",atob(frame), 'wb');[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m if (++current === NB_FRAME) {[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m window.clearInterval(grabber);[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m phantom.exit(0);[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m }[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m }, 1000);[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m }[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
[48;5;235m[38;5;249m});[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||||
|
||||
[38;2;255;187;0m[4mMiscellaneous[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mWhy is the GIF I created so slow?[0m[38;5;12m (https://superuser.com/questions/569924/why-is-the-gif-i-created-so-slow/569967) - Using ImageMagick to solve problems concerning GIF speed.[39m
|
||||
|
||||
[38;2;255;187;0m[4mUse[0m
|
||||
|
||||
[38;5;12mThe best ways to use this list are:[39m
|
||||
|
||||
[38;5;12m- By browing the [39m[38;5;14m[1mcontents[0m[38;5;12m (#contents).[39m
|
||||
[38;5;12m- By using to search the contents[39m
|
||||
|
||||
[38;2;255;187;0m[4mCredits[0m
|
||||
|
||||
[38;5;12mBy [39m[38;5;14m[1mCraig Davison[0m[38;5;12m (https://davison.io) and contributors.[39m
|
||||
|
||||
[38;5;12mBased on a [39m[38;5;14m[1mrecovered list[0m[38;5;12m (https://github.com/sindresorhus/awesome/issues/872) by [39m[38;5;14m[1mIsmail Baaj[0m[38;5;12m (https://ismailbaaj.fr).[39m
|
||||
|
||||
[38;5;12mgif Github: https://github.com/davisonio/awesome-gif[39m
|
||||
|
||||
Reference in New Issue
Block a user