vvo / gifify Goto Github PK
View Code? Open in Web Editor NEWπ» Convert any video file to an optimized animated GIF.
License: ISC License
π» Convert any video file to an optimized animated GIF.
License: ISC License
When installing giflossy it says:
Could not find gifsicle. Is it installed?
More info: https://github.com/vvo/gifify#requirements
When installing gifsicle it say:
gifsicle needs lossy
Using cli interface and global installs.
Heya,
Getting this error while using gifify
[cw@pineserv ~]$ gifify watermelonpup.mp4 -o watermelonpup.gif
gifsicle:: empty file
[cw@pineserv ~]$ uname -a
Linux pineserv 3.10.65-4-pine64-longsleep #16 SMP PREEMPT Sun Apr 3 10:56:40 CEST 2016 aarch64 GNU/Linux
According to gifsicle Issue Tracker - kohler/gifsicle#33 - recommended to use -o and -b - Trying to understand how to do that while using gifify.
Appreciate any help.
I've tried using the --speed
option to speed up my gif but so far it hasn't worked. Specifically, I've tried using --speed 2
to try to get the gif to be twice as fast.
How is this option meant to be used?
The full command I used was
gifify in.mov --resize 730:-1 --speed 2 -o out.gif
I am running macOS 10.12.6 and followed https://github.com/vvo/gifify#requirements exactly.
β gifify movie.mp4 -o movie.gif
Could not find convert. Is it installed?
More info: https://github.com/vvo/gifify#requirements
Hi,
I keep getting this error when using gifify:
events.js:53
EventEmitter.prototype.emit = function emit(type) {
^
RangeError: Maximum call stack size exceeded
I'm running your get started example.
I think it has to do with the ffmpeg module dependency because when im trying to convert via shell I also get an error:
$ gifify inputs/mov.webm -o outputs/mov.gif --resize 800:-1
[Error: Could not find ffmpeg on your system]
Which is odd because i installed ffmpeg and I can require it.
How can i make it work?
Thank You!
gifsicle: unrecognized option β--lossy=80β
If I have a .mov file recorded via quicktime, which records at 60fps, and use gifify, it creates a gif at 10fps. If I run gifify with --fps 60
, it creates a gif 10x as long as the video, but slowed down.
Adding --speed 6
seems to have no effect.
I assumed that --fps
controlled the output fps, but had no effect on how often the frames were sampled. Is there a way to do what I'm trying to do using gifify?
if you try doing -o ~/Desktop/foo.gif
it won't work, it will put foo.gif
in the same folder as the movie
Hey there, trying to make a loop that goes through a folder of movies and converts them all, but I cant seem to figure out how to make it not start making a new gif before the last one finished.
I tried binding to the close callback on the write stream that the gifify command returns, but that doesnt seem to be all that is happening.
Loving gifify though! Any advice on this? Or way to achieve this @vvo?
what is the used programming language ? on what ide do i run this from and what OS system
Hey there.
I'm trying to convert using the following command:
gifify tide\ 1_.mov -o tide_backend.gif --resize '900:-1'
however I get the following error without anything else:
convert needs fontconfig
Any help please? Cheers
There is clearly an issue with the latest gifsicle build. It turns out that the --lossy and --colors are no longer supported in the cli. I found that the issue for gifify resides in index.js @ ln# 165. Not sure why you would publish a wrapper library that is suppose to support a forked version of gifsicle. Be more clear in your documentation.
function computeGifsicleArgs(opts) {
// Gifsicle options
// http://www.lcdf.org/gifsicle/man.html
// --lossy is not yet into master, kohler/gifsicle#16
var args = [
'-O3',
'--lossy ' + opts.compress * 2,
'--colors ' + opts.colors,
'--no-warnings'
];
I'm using Ubuntu 14.04 64 bits and after install all dependencies and gifify, de program is not working!
By not working I mean, when I type gifify it returns nothing. And the same thing happens when I use a real command line, trying to convert a file.
This behavior started after the installation of the module node, before this procedure, my attempts to run the program resulted in a error message ( "/usr/bin/env: node: File or folder not found").
I'll add bellow some informations of the installed programs in my system.
Thanks!
ffmpeg version 2.5.2 Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 25 2014 00:04:42 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
LCDF Gifsicle 1.82
Copyright (C) 1997-2014 Eddie Kohler
This is free software; see the source for copying conditions.
There is NO warranty, not even for merchantability or fitness for a
particular purpose.
$ sudo npm install -g gifify
npm http GET https://registry.npmjs.org/gifify
npm http 304 https://registry.npmjs.org/gifify
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/moment-duration-format
npm http GET https://registry.npmjs.org/moment
npm http GET https://registry.npmjs.org/promise
npm http GET https://registry.npmjs.org/whereis
npm http 304 https://registry.npmjs.org/commander
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/moment
npm http 304 https://registry.npmjs.org/promise
npm http 304 https://registry.npmjs.org/moment-duration-format
npm http 304 https://registry.npmjs.org/whereis
npm http GET https://registry.npmjs.org/ms/0.6.2
npm http GET https://registry.npmjs.org/asap
npm http 304 https://registry.npmjs.org/ms/0.6.2
npm http 304 https://registry.npmjs.org/asap
/usr/local/bin/gifify -> /usr/local/lib/node_modules/gifify/bin/gifify
[email protected] /usr/local/lib/node_modules/gifify
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected] ([email protected])
βββ [email protected] ([email protected])
And turn the programmatic API to non async
I'm working from an Ubuntu 14.04 installation that is using libav/avconv and I won't be able to install ffmpeg.
So I was able to symlink avconv to ffmpeg, and most of the basic functionality of giffify works, including:
gifify test.mp4 --resize:300:-1 --from 5 -o test.gif
However, when specifying the to
option, I get this error:
convert.im6: no decode delegate for this image format `/tmp/magick-d4kfVlVz' @ error/constitute.c/ReadImage/544.
convert.im6: no images defined `gif:-' @ error/convert.c/ConvertImageCommand/3044.
The error comes from imagemagick though, so maybe it has nothing to do with ffmpeg (ffmpeg is just my first guess, given my hack with libav)
avconv version 9.16-6:9.16-0ubuntu0.14.04.1
ImageMagick 6.7.7-10 2014-03-06 Q16
LCDF Gifsicle 1.82
i need a simple ex thx
As it seems that the --resize
option is a requirement (seen in my experience and #23) , maybe throw an error if the parameter is not present in command. Unless this is a bug? Gifify will continue to run indefinitely, and not create a write file in location, if not the --resize
option is not defined
The link just takes you to a page with a packaged download, but downloading and running the Mac OSX script did not work. I ended up cloning the repo and running ./configure
and make install
and all was well.
Maybe we can make this more clear in the README?
just trying to run a simple `gifify vid.mp4 -o screencast.gif and ran into
gifsicle: unrecognized option β--lossy=80β
Usage: gifsicle [OPTION | FILE | FRAME]...
Not sure why...
Is it or can it be possible to get a progress bar when converting a video to gif?
Hello,
I just tried to use gifify to extract a gif
from a mp4
video I downloaded from YouTube, and got the following error:
$ gifify input.mp4 -o output.gif --from 257 --to 279 --resize 250:-1
convert.im6: no decode delegate for this image format `/tmp/magick-Ij8cWq6S' @ error/constitute.c/ReadImage/544.
convert.im6: no images defined `gif:-' @ error/convert.c/ConvertImageCommand/3044.
I'm on Ubuntu, with the following dependency versions:
$ fffmpeg -version
ffmpeg version 0.10.12-7:0.10.12-1~saucy1
built on Apr 26 2014 09:54:16 with gcc 4.8.1
configuration: --arch=amd64 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~saucy1' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
libavutil 51. 35.100 / 51. 35.100
libavcodec 53. 61.100 / 53. 61.100
libavformat 53. 32.100 / 53. 32.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 61.100 / 2. 61.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
$ convert --version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
$ gifsicle --version
LCDF Gifsicle 1.82
Copyright (C) 1997-2014 Eddie Kohler
This is free software; see the source for copying conditions.
There is NO warranty, not even for merchantability or fitness for a
particular purpose.
Note that I've installed gifsicle
from the giflossy
repository. I'm not sure where the issue lies.
Fresh install:
npm install -g gifify
Results in:
$ gifify vidz.mov -o delete-invitations.gif
/usr/local/lib/node_modules/gifify/node_modules/moment-duration-format/lib/moment-duration-format.js:202
moment.duration.fn.format = function () {
^
TypeError: Cannot set property 'format' of undefined
at /usr/local/lib/node_modules/gifify/node_modules/moment-duration-format/lib/moment-duration-format.js:202:28
at Object.<anonymous> (/usr/local/lib/node_modules/gifify/node_modules/moment-duration-format/lib/moment-duration-format.js:482:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/usr/local/lib/node_modules/gifify/index.js:4:1)
at Module._compile (module.js:456:26)
I'm trying to convert part of .mp4 file but I get the following error:
convert: no decode delegate for this image format ' @ error/constitute.c/ReadImage/504. convert: no images defined
gif:-' @ error/convert.c/ConvertImageCommand/3257.
Reinstalled everything from the readme but still getting the same error message, any advice?
I've tried across different source videos and different configurations, the gif does start from the defined start time, however, doesn't end based on the "to" value passed. The final gif goes all the way till the end of the video which is the default setting.
Hi, outstanding work. Is it possible to add video cropping?
Hi,
I tried to mix a subtitles with my gif, and somehow it didn't work
gifify video.mp4 -o mygif.gif --subtitles subtitles.ass --resize 600:-1 --compress 0 --fps 8 --colors 160 --speed 1
convert.im6: no decode delegate for this image format `/tmp/magick-dmhxdNv4' @ error/constitute.c/ReadImage/544.
convert.im6: no images defined `gif:-' @ error/convert.c/ConvertImageCommand/3044.
My imagemagick supports lots of format by default :
$ identify -list format
Format Module Mode Description
-------------------------------------------------------------------------------
3FR DNG r-- Hasselblad CFV/H3D39II
A* RAW rw+ Raw alpha samples
AAI* AAI rw+ AAI Dune image
AI PDF rw- Adobe Illustrator CS2
ART* ART rw- PFS: 1st Publisher Clip Art
ARW DNG r-- Sony Alpha Raw Image Format
AVI MPEG r-- Microsoft Audio/Visual Interleaved
AVS* AVS rw+ AVS X image
B* RAW rw+ Raw blue samples
BGR* BGR rw+ Raw blue, green, and red samples
BGRA* BGR rw+ Raw blue, green, red, and alpha samples
BIE* JBIG rw- Joint Bi-level Image experts Group interchange format (2.0)
BMP* BMP rw- Microsoft Windows bitmap image
BMP2* BMP -w- Microsoft Windows bitmap image (V2)
BMP3* BMP -w- Microsoft Windows bitmap image (V3)
BRF* BRAILLE -w- BRF ASCII Braille format
C* RAW rw+ Raw cyan samples
CAL* CALS rw- Continuous Acquisition and Life-cycle Support Type 1
Specified in MIL-R-28002 and MIL-PRF-28002
CALS* CALS rw- Continuous Acquisition and Life-cycle Support Type 1
Specified in MIL-R-28002 and MIL-PRF-28002
CANVAS* XC r-- Constant image uniform color
CAPTION* CAPTION r-- Caption
CIN* CIN rw- Cineon Image File
CIP* CIP -w- Cisco IP phone image format
CLIP* CLIP -w+ Image Clip Mask
CMYK* CMYK rw+ Raw cyan, magenta, yellow, and black samples
CMYKA* CMYK rw+ Raw cyan, magenta, yellow, black, and alpha samples
CR2 DNG r-- Canon Digital Camera Raw Image Format
CRW DNG r-- Canon Digital Camera Raw Image Format
CUR* CUR rw- Microsoft icon
CUT* CUT r-- DR Halo
DCM* DCM r-- Digital Imaging and Communications in Medicine image
DICOM is used by the medical community for images like X-rays. The
specification, "Digital Imaging and Communications in Medicine
(DICOM)", is available at http://medical.nema.org/. In particular,
see part 5 which describes the image encoding (RLE, JPEG, JPEG-LS),
and supplement 61 which adds JPEG-2000 encoding.
DCR DNG r-- Kodak Digital Camera Raw Image File
DCX* PCX rw+ ZSoft IBM PC multi-page Paintbrush
DDS* DDS r-- Microsoft DirectDraw Surface
DFONT* TTF r-- Multi-face font package (Freetype 2.5.2)
DJVU* DJVU r-- DοΏ½jοΏ½ vu
See http://www.djvuzone.org/ for details about the DJVU format. The
DJVU 1.2 specification is available there and at
ftp://swrinde.nde.swri.edu/pub/djvu/documents/.
DNG DNG r-- Digital Negative
DOT DOT --- Graphviz
DPX* DPX rw- SMPTE 268M-2003 (DPX 2.0)
Digital Moving Picture Exchange Bitmap, Version 2.0.
See SMPTE 268M-2003 specification at http://www.smtpe.org
EPDF PDF rw- Encapsulated Portable Document Format
EPI PS rw- Encapsulated PostScript Interchange format
EPS PS rw- Encapsulated PostScript
EPS2* PS2 -w- Level II Encapsulated PostScript
EPS3* PS3 -w+ Level III Encapsulated PostScript
EPSF PS rw- Encapsulated PostScript
EPSI PS rw- Encapsulated PostScript Interchange format
EPT EPT rw- Encapsulated PostScript with TIFF preview
EPT2 EPT rw- Encapsulated PostScript Level II with TIFF preview
EPT3 EPT rw+ Encapsulated PostScript Level III with TIFF preview
ERF DNG r-- Epson RAW Format
EXR EXR rw- High Dynamic-range (HDR)
FAX* FAX rw+ Group 3 FAX
FAX machines use non-square pixels which are 1.5 times wider than
they are tall but computer displays use square pixels, therefore
FAX images may appear to be narrow unless they are explicitly
resized using a geometry of "150x100%".
FITS* FITS rw- Flexible Image Transport System
FRACTAL* PLASMA r-- Plasma fractal image
FTS* FTS rw- Flexible Image Transport System
G* RAW rw+ Raw green samples
G3* FAX rw- Group 3 FAX
GIF* GIF rw+ CompuServe graphics interchange format
GIF87* GIF rw- CompuServe graphics interchange format (version 87a)
GRADIENT* GRADIENT r-- Gradual linear passing from one shade to another
GRAY* GRAY rw+ Raw gray samples
GROUP4* TIFF rw- Raw CCITT Group4
HALD* r-- Identity Hald color lookup table image
HDR* HDR rw+ Radiance RGBE image format
HISTOGRAM* HISTOGRAM -w- Histogram of the image
HRZ* HRZ rw- Slow Scan TeleVision
HTM* HTML -w- Hypertext Markup Language and a client-side image map
HTML* HTML -w- Hypertext Markup Language and a client-side image map
ICB* TGA rw- Truevision Targa image
ICO* ICON rw+ Microsoft icon
ICON* ICON rw- Microsoft icon
INFO INFO -w+ The image format and characteristics
INLINE* INLINE r-- Base64-encoded inline images
IPL* IPL rw+ IPL Image Sequence
ISOBRL* BRAILLE -w- ISO/TR 11548-1 format
J2C* JP2 rw- JPEG-2000 Code Stream Syntax
J2K* JP2 rw- JPEG-2000 Code Stream Syntax
JBG* JBIG rw+ Joint Bi-level Image experts Group interchange format (2.0)
JBIG* JBIG rw+ Joint Bi-level Image experts Group interchange format (2.0)
JNG* PNG rw- JPEG Network Graphics
See http://www.libpng.org/pub/mng/ for details about the JNG
format.
JP2* JP2 rw- JPEG-2000 File Format Syntax
JPC* JP2 rw- JPEG-2000 Code Stream Syntax
JPEG* JPEG rw- Joint Photographic Experts Group JFIF format (80)
JPG* JPEG rw- Joint Photographic Experts Group JFIF format (80)
JPX* JP2 rw- JPEG-2000 File Format Syntax
K* RAW rw+ Raw black samples
K25 DNG r-- Kodak Digital Camera Raw Image Format
KDC DNG r-- Kodak Digital Camera Raw Image Format
LABEL* LABEL r-- Image label
M* RAW rw+ Raw magenta samples
M2V MPEG rw+ MPEG Video Stream
M4V MPEG rw+ Raw MPEG-4 Video
MAC* MAC r-- MAC Paint
MAP* MAP rw- Colormap intensities and indices
MAT MAT rw+ MATLAB level 5 image format
MATTE* MATTE -w+ MATTE format
MEF DNG r-- Mamiya Raw Image File
MIFF* MIFF rw+ Magick Image File Format
MNG* PNG rw+ Multiple-image Network Graphics (libpng 1.2.50)
See http://www.libpng.org/pub/mng/ for details about the MNG
format.
MONO* MONO rw- Raw bi-level bitmap
MOV MPEG rw+ MPEG Video Stream
MP4 MPEG rw+ MPEG-4 Video Stream
MPC* MPC rw+ Magick Persistent Cache image format
MPEG MPEG rw+ MPEG Video Stream
MPG MPEG rw+ MPEG Video Stream
MRW DNG r-- Sony (Minolta) Raw Image File
MSL* MSL rw+ Magick Scripting Language
MSVG SVG rw+ ImageMagick's own SVG internal renderer
MTV* MTV rw+ MTV Raytracing image format
MVG* MVG rw- Magick Vector Graphics
NEF DNG r-- Nikon Digital SLR Camera Raw Image File
NRW DNG r-- Nikon Digital SLR Camera Raw Image File
NULL* NULL rw- Constant image of uniform color
O* RAW rw+ Raw opacity samples
ORF DNG r-- Olympus Digital Camera Raw Image File
OTB* OTB rw- On-the-air bitmap
OTF* TTF r-- Open Type font (Freetype 2.5.2)
PAL* UYVY rw- 16bit/pixel interleaved YUV
PALM* PALM rw+ Palm pixmap
PAM* PNM rw+ Common 2-dimensional bitmap format
PANGO* PANGO r-- Pango Markup Language (Pangocairo 1.36.1)
PATTERN* PATTERN r-- Predefined pattern
PBM* PNM rw+ Portable bitmap format (black and white)
PCD* PCD rw- Photo CD
PCDS* PCD rw- Photo CD
PCL PCL rw+ Printer Control Language
PCT* PICT rw- Apple Macintosh QuickDraw/PICT
PCX* PCX rw- ZSoft IBM PC Paintbrush
PDB* PDB rw+ Palm Database ImageViewer Format
PDF PDF rw+ Portable Document Format
PDFA PDF rw+ Portable Document Archive Format
PEF DNG r-- Pentax Electronic File
PES* PES r-- Embrid Embroidery Format
PFA* TTF r-- Postscript Type 1 font (ASCII) (Freetype 2.5.2)
PFB* TTF r-- Postscript Type 1 font (binary) (Freetype 2.5.2)
PFM* PFM rw+ Portable float format
PGM* PNM rw+ Portable graymap format (gray scale)
PGX* JP2 r-- JPEG-2000 VM Format
PICON* XPM rw- Personal Icon
PICT* PICT rw- Apple Macintosh QuickDraw/PICT
PIX* PIX r-- Alias/Wavefront RLE image format
PJPEG* JPEG rw- Joint Photographic Experts Group JFIF format (80)
PLASMA* PLASMA r-- Plasma fractal image
PNG* PNG rw- Portable Network Graphics (libpng 1.2.50)
See http://www.libpng.org/ for details about the PNG format.
PNG24* PNG rw- opaque 24-bit RGB (zlib 1.2.8)
PNG32* PNG rw- opaque or transparent 32-bit RGBA
PNG8* PNG rw- 8-bit indexed with optional binary transparency
PNM* PNM rw+ Portable anymap
PPM* PNM rw+ Portable pixmap format (color)
PREVIEW* PREVIEW -w- Show a preview an image enhancement, effect, or f/x
PS PS rw+ PostScript
PS2* PS2 -w+ Level II PostScript
PS3* PS3 -w+ Level III PostScript
PSB* PSD rw+ Adobe Large Document Format
PSD* PSD rw+ Adobe Photoshop bitmap
PTIF* TIFF rw+ Pyramid encoded TIFF
PWP* PWP r-- Seattle Film Works
R* RAW rw+ Raw red samples
RADIAL-GRADIENT* GRADIENT r-- Gradual radial passing from one shade to another
RAF DNG r-- Fuji CCD-RAW Graphic File
RAS* SUN rw+ SUN Rasterfile
RGB* RGB rw+ Raw red, green, and blue samples
RGBA* RGB rw+ Raw red, green, blue, and alpha samples
RGBO* RGB rw+ Raw red, green, blue, and opacity samples
RLA* RLA r-- Alias/Wavefront image
RLE* RLE r-- Utah Run length encoded image
SCR* SCR r-- ZX-Spectrum SCREEN$
SCT* SCT r-- Scitex HandShake
SFW* SFW r-- Seattle Film Works
SGI* SGI rw+ Irix RGB image
SHTML* HTML -w- Hypertext Markup Language and a client-side image map
SR2 DNG r-- Sony Raw Format 2
SRF DNG r-- Sony Raw Format
STEGANO* STEGANO r-- Steganographic image
SUN* SUN rw+ SUN Rasterfile
SVG SVG rw+ Scalable Vector Graphics (RSVG 2.40.1)
SVGZ SVG rw+ Compressed Scalable Vector Graphics (RSVG 2.40.1)
TEXT* TXT rw+ Text
TGA* TGA rw- Truevision Targa image
THUMBNAIL* THUMBNAIL -w+ EXIF Profile Thumbnail
TIFF* TIFF rw+ Tagged Image File Format (LIBTIFF, Version 4.0.3)
TIFF64* TIFF rw- Tagged Image File Format (64-bit) (LIBTIFF, Version 4.0.3)
TILE* TILE r-- Tile image with a texture
TIM* TIM r-- PSX TIM
TTC* TTF r-- TrueType font collection (Freetype 2.5.2)
TTF* TTF r-- TrueType font (Freetype 2.5.2)
TXT* TXT rw+ Text
UBRL* BRAILLE -w- Unicode Text format
UIL* UIL -w- X-Motif UIL table
UYVY* UYVY rw- 16bit/pixel interleaved YUV
VDA* TGA rw- Truevision Targa image
VICAR* VICAR rw- VICAR rasterfile format
VID* VID rw+ Visual Image Directory
VIFF* VIFF rw+ Khoros Visualization image
VST* TGA rw- Truevision Targa image
WBMP* WBMP rw- Wireless Bitmap (level 0) image
WMF* WMF r-- Windows Meta File
WMV MPEG rw+ Windows Media Video
WMZ* WMZ r-- Compressed Windows Meta File
WPG* WPG r-- Word Perfect Graphics
X* X rw+ X Image
X3F DNG r-- Sigma Camera RAW Picture File
XBM* XBM rw- X Windows system bitmap (black and white)
XC* XC r-- Constant image uniform color
XCF* XCF r-- GIMP image
XPM* XPM rw- X Windows system pixmap (color)
XPS XPS r-- Microsoft XML Paper Specification
XV* VIFF rw+ Khoros Visualization image
XWD* XWD rw- X Windows system window dump (color)
Y* RAW rw+ Raw yellow samples
YCbCr* YCbCr rw+ Raw Y, Cb, and Cr samples
YCbCrA* YCbCr rw+ Raw Y, Cb, Cr, and alpha samples
YUV* YUV rw- CCIR 601 4:1:1 or 4:2:2
* native blob support
r read support
w write support
+ support for multiple images
i'm doing
gifify slurp.mp4 -o slurp.gif
it creates the slurp.gif
but with 0 bytes and no activity on the command line. I'm using version 2.1.1
on osx maveriks.
Is there any way to get progress or stdout activity?
The file is on github
If I do
outputFileStream = fs.createWriteStream('out.gif');
gifify('blah.gif', { ... }).pipe(outputFileStream);
it works, but if I do
inputFileStream = fs.createReadStream('blah.gif');
outputFileStream = fs.createWriteStream('out.gif');
gifify(inputFileStream, { ... }).pipe(outputFileStream);
it fails with the following
Error: Uncaught, unspecified "error" event. (convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
convert: no images defined `gif:-' @ error/convert.c/ConvertImageCommand/3210.
)
at Socket.emit (events.js:163:17)
at Socket.gotSomeErrors (/home/farhan/projects/ReverseGifRedditBot/node_modules/gifify/index.js:53:23)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at Pipe.onread (net.js:551:20)
Thanks
voilΓ voilΓ
I see this error when I try to use gifify on my OS X 10.10
convert needs fontconfig
I have imagemagick installed via homebrew:
imagemagick: stable 6.9.0-9 (bottled), HEAD
β¦
==> Dependencies
β¦
Optional: fontconfig β, β¦
And also
$ brew install fontconfig
Warning: fontconfig-2.11.1 already installed
What am I missing?
const get = require('request').get
const readStream = get(someURL)
const gif = require('fs').createWriteStream(`${this.params.id}.gif`)
gifify(readStream, {}).pipe(gif)
yields
Error: Uncaught, unspecified "error" event. (convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
convert: no images defined `gif:-' @ error/convert.c/ConvertImageCommand/3257.
)
at Socket.emit (events.js:157:17)
at Socket.gotSomeErrors (/.../node_modules/gifify/index.js:53:23)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at readableAddChunk (_stream_readable.js:153:18)
at Socket.Readable.push (_stream_readable.js:111:10)
at Pipe.onread (net.js:534:20)
using:
here's what I get from a .mov recorded with Quicktime:
gifify recording.mov -o recording.gif
looking at the original gifify gist, I noticed theres the --good
option which does this:
ffmpeg -i $1 -r 10 -vcodec png out-static-%05d.png
time convert -verbose +dither -layers Optimize -resize 600x600\> out-static*.png GIF:- | gifsicle --colors 128 --delay=5 --loop --optimize=3 --multifile - > $1.gif
rm out-static*.png
I'm just curious, does this module do a similar trick? I'm asking because I just made this gif with gifify and it has lotsa weird artifacts
OS: Debian 8 x64
Node: v8.1.0
NPM: v5.0.3
Receiving this error:
RangeError: Maximum call stack size exceeded
at emitOne (events.js:113:17)
at ChildProcess.emit (events.js:210:7)
at emitOne (events.js:115:13)
at ChildProcess.emit (events.js:210:7)
at emitOne (events.js:115:13)
at ChildProcess.emit (events.js:210:7)
at emitOne (events.js:115:13)
at ChildProcess.emit (events.js:210:7)
at emitOne (events.js:115:13)
at ChildProcess.emit (events.js:210:7)
With this code:
const express = require('express');
const ydl = require('youtube-dl');
const gifify = require('gifify');
const fs = require('fs');
const app = express();
app.listen(80);
const video = ydl('https://www.youtube.com/watch?v=o-qK3u97iB0');
app.get('/', (req, res) => {
gifify(video, { fps: 29.97 }).pipe(res);
});
Running:
$ gifify movie.mp4 -o movie.gif
Generates the error:
gifsicle: unrecognized option β--lossy=80β
Usage: gifsicle [OPTION | FILE | FRAME]...
Try 'gifsicle --help' for more information.
FFmpeg ππππ ($ brew install fmpeg --with-libass --with-fontconfig)
Should be
FFmpeg ππππ ($ brew install ffmpeg --with-libass --with-fontconfig)
I get this error
gifsicle: unrecognized option β--lossy=80β
Usage: gifsicle [OPTION | FILE | FRAME]...
Try 'gifsicle --help' for more information.
whenever I try to use this.
I installed all the dependencies.
How come I get this error? Do I need a different brew install formula?
gifify background-small.mp4 > out.gif
Original mp4 https://cl.ly/go8i
Generated gif: http://i.imgur.com/WDeM4eu.gif (lasts 5 seconds)
It looks like version 2.3.0 of gifify is broken when you try to install it via npm or yarn.
$ npm i gifify -d
:
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info attempt registry request try #1 at 1:13:35 PM
npm http request GET https://registry.npmjs.org/gifify
npm http 304 https://registry.npmjs.org/gifify
npm info addNameTag [ 'gifify', 'latest' ]
npm ERR! cb() never called!
$ yarn add gifify
:
yarn add v0.21.3
info No lockfile found.
[1/4] π Resolving packages...
[2/4] π Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/gifify/-/gifify-2.3.0.tgz: invalid tar file".
info If you think this is a bug, please open a bug report with the information provided in "/Users/keith/Desktop/t/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
I downloaded versions 2.2.2 and 2.3.0 and extracted the archives manually to see if I could find the problem and it looks like the only difference between the 2 versions (other than the src code) is a missing yarn.lock file and .npmignore.
2.2.2
:
2.2.2
βββ .npmignore <---
βββ HISTORY.md
βββ LICENSE.md
βββ README.md
βββ bin
βΒ Β βββ gifify
βββ index.js
βββ package.json
βββ yarn.lock <---
1 directory, 8 files
2.3.0
:
2.3.0
βββ HISTORY.md
βββ LICENSE.md
βββ README.md
βββ bin
βΒ Β βββ gifify
βββ index.js
βββ package.json
1 directory, 6 files
I found this reported issue on yarn's github repo: yarnpkg/yarn#2764.
It looks like publishing via yarn breaks things for some reason currently and it can be fixed by deleting the old yarn file and regenerating it (yarnpkg/yarn#2764 (comment))
Say you want to cut "hasta la vista, baby" from Terminator 2.
It will be very long because gifify will create a read stream from the movie and pipe it to ffmpeg.
If the sentence is at 1,2gb of the movie then we pipe 1.2gb for nothing.
I expect ffmpeg to be more clever when dealing with the file itself, so we should do that, give the file to
ffmpeg input as -i file
.
We will not be able to do so when the user does this: cat movie | gifify
but that's not the main usage.
const get = require('request').get
const readStream = get(someURL)
const gif = require('fs').createWriteStream(`${this.params.id}.gif`)
gifify(readStream, {}).pipe(gif)
throws
events.js:159
throw err;
^
Error: Uncaught, unspecified "error" event. (gifsicle: unrecognized option β--lossy=80β
Usage: gifsicle [OPTION | FILE | FRAME]...
Try 'gifsicle --help' for more information.
)
at Socket.emit (events.js:157:17)
at Socket.gotSomeErrors (/.../node_modules/gifify/index.js:53:23)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at readableAddChunk (_stream_readable.js:153:18)
at Socket.Readable.push (_stream_readable.js:111:10)
at Pipe.onread (net.js:534:20)
Using this video http://techslides.com/demos/sample-videos/small.mp4
You will get this error:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x21f80a0] stream 0, offset 0xa8: partial file
The problem explained: http://superuser.com/a/479064/35651
User solution:
Run mp4box -hint
on the movie file before passing it to gifify.
Gifify solution, if the user gives us the movie file on the command line (gifify movie.mp4), then we
should pass it to ffmpeg as -i file
instead of piping it to ffmpeg.
Two benefits:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.