lettier / gifcurry Goto Github PK
View Code? Open in Web Editor NEW😎 The open-source, Haskell-built video editor for GIF makers.
Home Page: https://lettier.github.io/gifcurry
License: BSD 3-Clause "New" or "Revised" License
😎 The open-source, Haskell-built video editor for GIF makers.
Home Page: https://lettier.github.io/gifcurry
License: BSD 3-Clause "New" or "Revised" License
Hopefully you can help me resolve this "cache resources exhausted" error. Perhaps there is an option I can pass to imagemagick to increase the amount of cache available? Currently, I'm using gifcurry from the GUI, but using the CLI is no problem for me.
Thanks in advance!
[INFO] Here are your settings.
- FILE IO:
- Input File: /home/peter/Downloads/My Video.mp4
- Output File: /home/peter/Downloads/mygif.gif
- Save As Video: No
- TIME:
- Start Second: 0.000
- End Second: 32.000
- OUTPUT FILE SIZE:
- Width: 500px
- FPS: 20
- Color Count: 256
- Dither: False
- CROP:
- Left: 0.000
- Right: 0.000
- Top: 0.000
- Bottom: 0.000
[INFO] Writing the temporary frames to: /home/peter/.cache/gifcurry/gifcurry-frames10700
[INFO] Saving your GIF to: /home/peter/Downloads/mygif.gif
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/peter/.cache/gifcurry/gifcurry-frames10700/extracted-frames_0000000377.png' @ error/cache.c/OpenPixelCache/3984.
...
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/peter/.cache/gifcurry/gifcurry-frames10700/extracted-frames_0000000440.png' @ error/cache.c/OpenPixelCache/3984.
convert-im6.q16: too many exceptions (exception processing suspended).
[ERROR] Something went wrong with ImageMagick.
I want to use GIFcurry
I installed using the AUR when I open the program I get:
Error message
gtksink not found. No video preview available. Install all GStreamer 1.0 plugins
I am on arch and have the dependencies installed
❯ pacman -Q | grep -i gst
gst-libav 1.16.2-1
gst-plugins-bad 1.16.2-7
gst-plugins-bad-libs 1.16.2-7
gst-plugins-base 1.16.2-1
gst-plugins-base-libs 1.16.2-1
gst-plugins-good 1.16.2-3
gst-plugins-ugly 1.16.2-3
gst-python 1.16.2-2
gst-python2 1.16.2-1
gstreamer 1.16.2-1
phonon-qt5-gstreamer 4.10.0-1
How can this be resolved?
Hey,
just tried to compile with the Github instructions, but got an error, which I can't figure out myself. Looks like the QuickCheck dependence on base==4.9.0.0 (which is installed) is the problem.
Here is the full output
01:45 ~/gifcurry cabal install -j
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: QuickCheck-2.9.2/installed-Azb... (user goal)
next goal: Gifcurry (user goal)
rejecting: Gifcurry-2.0.0.0 (conflict: QuickCheck =>
base==4.9.0.0/installed-4.9..., Gifcurry => base>=4.7 && <4.9)
rejecting: Gifcurry-0.1.1.0, Gifcurry-0.1.0.6, Gifcurry-0.1.0.5,
Gifcurry-0.1.0.4, Gifcurry-0.1.0.3, Gifcurry-0.1.0.2, Gifcurry-0.1.0.1,
Gifcurry-0.1.0.0 (constraint from user target requires ==2.0.0.0)
Dependency tree exhaustively searched.
Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.
Diagnosed on an up-to-date 64Bit Arch Linux machine
Do you support online video conversion? For example, the m3u8 online format
Hi, your app looks great - unfortunately I can not use it right now.
I am running Ubuntu 18.04, and I have tried to install it from GNOME Software and from Snappy. Both results are the same:
I get the following errors when running from a shell:
(gst-plugin-scanner:5693): GStreamer-WARNING **: Failed to load plugin '/snap/gifcurry/6/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstassrender.so': libass.so.5: cannot open shared object file: No such file or directory
(gst-plugin-scanner:5693): GStreamer-WARNING **: Failed to load plugin '/snap/gifcurry/6/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopenexr.so': libIlmImf-2_2.so.22: cannot open shared object file: No such file or directory
(gst-plugin-scanner:5693): GStreamer-WARNING **: Failed to load plugin '/snap/gifcurry/6/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstassrender.so': libass.so.5: cannot open shared object file: No such file or directory
(gst-plugin-scanner:5693): GStreamer-WARNING **: Failed to load plugin '/snap/gifcurry/6/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopenexr.so': libIlmImf-2_2.so.22: cannot open shared object file: No such file or directory
(gifcurry_gui:5247): GLib-GIO-WARNING **: Error creating IO channel for /proc/mounts: Permission denied (g-file-error-quark, 2)
(gifcurry_gui:5247): Gtk-WARNING **: Theme parsing error: <data>:97:17: The :insensitive pseudo-class is deprecated. Use :disabled instead.
(gifcurry_gui:5247): Gtk-WARNING **: Theme parsing error: <data>:98:20: The :insensitive pseudo-class is deprecated. Use :disabled instead.
(gifcurry_gui:5247): Gtk-WARNING **: Theme parsing error: <data>:102:18: The :insensitive pseudo-class is deprecated. Use :disabled instead.
(gifcurry_gui:5247): Gtk-WARNING **: Theme parsing error: <data>:103:21: The :insensitive pseudo-class is deprecated. Use :disabled instead.
(gifcurry_gui:5247): Gtk-WARNING **: Theme parsing error: <data>:713:25: The style property GtkPaned:handle-size is deprecated and shouldn't be used anymore. It will be removed in a future version
And the following error when I try to open a (valid) .mp4 file:
/home/user/20180117_004623.mp4: Invalid data found when processing input
Please let me know how I can help.
Aloha!
Not a coder here.
Sent here from the gifcurry website page.
In a fresh install of ubuntu 20.04, I can get neither the appimage to open (executing file as a program; gifcurry-6.0.0.0-x86_64.AppImage)
nor can i get gifcurry function as an installed app through "ubuntu software" ("FFmpeg is missing decoders. Cannot make GIFs for some videos)
Can anyone help me get gifcurry to work in any way at all?
Cheers!
-Dale
SRT Subtitle files do not work on the CLI (no error reported). Tried with multiple SRT files that work fine when used in VLC.
When "Uploading" an SRT file in the GUI the following GTK error appears in the console:
(<unknown>:47434): Gtk-CRITICAL **: 12:41:12.927: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
Hello,
I get the following error message when I launch gifcurry gui 6.0.0 snap from the command line on ubuntu 20.04 wayland and it doesn't launch. It works fine on X
(gifcurry_gui:39816): Gdk-WARNING **: Wayland compositor does not support xdg_shell interface, not using Wayland display
(gifcurry_gui:39816): Gtk-WARNING **: cannot open display: :0
I think adding DISABLE_WAYLAND: 1
to the snapcraft.yaml environment to fallback to XWayland could fix it. I tried testing it but I'm having a lot of trouble getting the snap to build.
Thanks
When i trying to run gifcurry (gifcurry-6.0.0.0) from terminal there an error:
(gifcurry_gui:33207): GLib-GIO-ERROR **: 08:31:44.062: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'
Hello,
On Ubuntu 18.04, the snap gives me an error when I'm trying to open a video.
"FFmpeg is missing decoders. Cannot make gifs for some videos." FFmpeg is installed on the system, with extra codecs. I checked, OBS works well.
Thanks
When building the git clone
with stack build
, I get
Configuring haskell-gi-0.20.3...
Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2: The pkg-config package
'gobject-introspection-1.0' version >=1.32 is required but it could not be
found.
which is solved with sudo apt-get install libgirepository1.0-dev
on Ubuntu.
followed by
Did not find a GI repository for Gdk-3.0 in
["/usr/share/xubuntu/gir-1.0","/usr/share/xfce4/gir-1.0","/usr/local/share/gir-1.0","/usr/share/gir-1.0","/usr/share/gir-1.0"].
CallStack (from HasCallStack):
error, called at lib/Data/GI/GIR/Repository.hs:89:20 in
haskell-gi-0.20.3-GkK5Bv8ALzbESiQXUDFHfm:Data.GI.GIR.Repository
which is solved with sudo apt-get install libgtk-3-dev
on Ubuntu.
I'd send a PR against the README, but I didn't quite understand in what section of the build instruction list to put it ("github"? But then why are there both mac→compile and github compile instructions?)
The AppImage fails to run on Ubuntu 14.04:
(gifcurry_gui:4): Gtk-WARNING **: Could not load image 'icon.ico': Couldn't recognize the image file format for file '/run/firejail/appimage/.appimage-7088/usr/share/x86_64-linux-ghc-8.0.2/Gifcurry-2.2.0.0/data/icon.ico'
(gifcurry_gui:4): Gtk-WARNING **: Unknown property: GtkEntry.max-width-chars
(gifcurry_gui:4): GLib-GIO-ERROR **: No GSettings schemas are installed on the system
This currently prevents gifcurry from being added to the AppImageHub central directory of available AppImages.
Reference:
https://travis-ci.org/AppImage/appimage.github.io/builds/277156332#L706-L710
Using the app-image on fedora results a Segfault. gtk3-devel packages are installed.
Using Plasmashell(kde) desktop
[aenertia@kiorewha faceoffgif]$ ~/Downloads/gifcurry-6.0.0.0-x86_64.AppImage
(gifcurry_gui:485782): GLib-GIO-ERROR **: 10:30:38.086: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'
Trace/breakpoint trap (core dumped)
Please help !
Gifcurry looks great, but saving the gif always brings:
"Didn't work. Check your settings."
I use Ubuntu Linux 16.04.
Thanks
Hi again. Would you consider adding a way to add timing information for overlay text? For example if I'm making a gif of a single back-and-forth conversation, it would be nice to have the first line displayed for x seconds, then the second line is displayed for y seconds.
I was thinking a possible way to implement it in the gui, perhaps something like the attached file.
Labels 1 and 2 point to the fields --similar to how you implemented it for selecting clip start and duration-- for the displayed text.
Label 3, which points to the plus button, is saying if you want to add a second line of text with different timing. Perhaps hitting the plus button adds a similar field right below it, or pops up a dialogue, like for selecting fonts. I could mock that up too, if what I'm saying is not clear.
Maybe this adds too much complexity to the program and is beyond the intended scope, but if not, it would be a cool feature to add. Thanks again, lovely program to use.
Please rename gifcurry-linux-app-image-2.2.0.0
to gifcurry-2.2.0.0-x86_64.AppImage
to be more compliant with the standard naming scheme. This would also allow me to conduct an automated review for potential inclusion in the AppImageHub central directory of available AppImages.
Thank you.
As a long time Archer i would politely ask that you do not advise folk to install and use yaourt, if one must use an AUR wrapper then cower is the way to go, see here for my ( and arch communitys) reasoning.
thanks for the code and sorry for the noise
Regards
I am using the snap (4.0.0.0) provided in Software on Ubuntu 18.04, and I noticed that the "Permissions" menu shows "Play and record sound" twice, the first one off by default, the second one on by default (see screenshot). If I turn the first one on, it is back to off when I reopen the "Permissions" menu. If I turn the second one off, it is back to on when I reopen the "Permissions" menu.
Is this something weird with snaps, or does it need fixing in Gifcurry?
Cheers
UBUNTU 14.04 64 BIT
Unable to install the files provided via sudo git clone ""
When I run sudo make within the gifcurry directory my system outputs ..
makefile:10: *** missing separator. Stop
Please make it optionally possible to use dithering for GIFs.
Can animated gifs be added as an input? It's useful for times when you just need to add text to an existing gif.
ffmpeg can already support animated gifs as input which might remove some of the complexity in supporting it.
.............
gi-gio > [293 of 293] Compiling GI.Gio
gi-gio > ignoring (possibly broken) abi-depends field for packages
gi-gio > copy/register
gi-gio > Installing library in /Users/dseg/.stack/snapshots/x86_64-osx/a0f8ac41185163f0ec5615c93364ede844fbc37853c89b47e65ddbf9ccd85d51/8.4.3/lib/x86_64-osx-ghc-8.4.3/gi-gio-2.0.24-62ocVXj51dmLpZAJ9yC9U3
gi-gio > Registering library for gi-gio-2.0.24..
-- While building package gi-pango-1.0.21 using:
/private/var/folders/15/5tgph_8x12n_s3vd5lwc8ryr0000gp/T/stack26541/gi-pango-1.0.21/.stack-work/dist/x86_64-osx/Cabal-2.2.0.1/setup/setup --builddir=.stack-work/dist/x86_64-osx/Cabal-2.2.0.1 build --ghc-options " -fdiagnostics-color=always"
Process exited with code: ExitFailure 1
Progress 64/70
dseg@ MyMac:wrk$
Gifcurry displays the following warning when browsing for a input file:
gtksink not found. No video preview available. Install the gstreamer 1.0 bad plugins version 1.8 or higher.
apt-cache policy gstreamer1.0-plugins-bad
gstreamer1.0-plugins-bad:
Installed: 1.14.0-1ubuntu1
Candidate: 1.14.0-1ubuntu1
Version table:
*** 1.14.0-1ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
100 /var/lib/dpkg/status
I'm using the Appimage build.
Hello,
I think the "Width & Quality" section on the GUI can be improved in 2 points:
Would make the app even better imho.
Cheers!
Note: I use gifcurry-4.0.0.0-x86_64.AppImage on Ubuntu 18.04
Possible to make it compatible with windows?
I tried to convert a Video into a gif with the full duration of 59 seconds. It didn't work. So I tried to make the same thing with a shorter duration of fewer than 10 seconds and it works. But I need a "fake video" for a markdown file, so I need the full duration of the video. What should I do?
Thank in advance.
Ubuntu 20.04.
When i choose file with last binary from: https://github.com/lettier/gifcurry/releases/download/6.0.0.0/gifcurry-linux-6.0.0.0.tar.gz
There an error:
[ERROR] gst-inspect-1.0: readCreateProcessWithExitCode: runInteractiveProcess: exec: does not exist
gifcurry_gui: user error (file not found)
Any recommendations? solutions?
I'm using gifcurry-3.0.0.1 on an Ubuntu 16.04 system. I used both the pre-built binary, as well the AppImage, but received the same error as follows when trying to save a gif (opened the gui via the command line to see any generated error messages):
[INFO] Writing the temporary frames to: /home/iuqiddis/.cache/gifcurry/gifcurry-frames15716
Error opening filters!
[ERROR] Something went wrong with FFmpeg.
I tried 3 different files. All of them were 1080p x264-encoded h.264 files (mkv container).
I'm wondering if there is some way to troubleshoot the exact error? Thanks!
Hello,
it would be nice to have a new feature to pad videos (opposite of cropping).
The use case is making a gif with a white area on the top on which I'd add a text.
This can be useful also for making a video square, or to add a transparent padding.
System Info
Linux Antoine-Gaming 5.5.8-050508-generic #202003051633 SMP Thu Mar 5 16:37:27 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Distributor ID: Ubuntu
Description: Ubuntu Focal Fossa (development branch)
Release: 20.04
Codename: focal
$ ./gifcurry-6.0.0.0-x86_64.AppImage
(gifcurry_gui:7257): GLib-GIO-ERROR **: 10:48:52.526: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'
Trace/breakpoint trap (core dumped)
Hi,
as far as I can see, it's not possible to remove frames from a gif video using the gui. Can this be achieved from the cli or is it a missing feature all together?
Hi!, i would like to know if gifcurry need a specific version of FFMPEG, actually the main page says a version major or equal to 2.8.15, i have 4.1.3..., too far.
Thx.
don't run gifcurry
Ubuntu 16.04.4 - terminal command:
$ gifcurry
snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks
I'm using gifcurry appimage on an ubuntu 18.04. I'm trying to convert an mp4 file, which I can preview and save as video (webm format) but not as gif. syslog error shows this:
org.gnome.Nautilus[3527]: convert: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/556.
org.gnome.Nautilus[3527]: convert: no images defined `/home/robert/Documents/Desenvolupament/Presentacions/reveal.js/assets/devel/bcex.gif' @ error/convert.c/ConvertImageCommand/3300.
Any idea of what's going on?
Thanks
Can keyboard control be added to gifcurry to allow for more precise editing? Specifically, I want to be able to go forward and backwards in frames using the keyboard.
Most of the video editors that I've used use Left/Right, K/L or "."/"/" to do this:
https://www.openshot.org/static/files/user-guide/main_window.html
https://docs.blender.org/manual/en/latest/editors/vse/sequencer/editing.html
https://userbase.kde.org/Kdenlive/Manual/Useful_Information/Shortcuts
Can gifcurry implement this and other keyboard shortcuts?
Homebrew or Macports would be greatly appreciated so mac users can stay up to date.
If unwilling to maintain packages on that platform, perhaps post instructions here for someone else to take up the task?
Hi!, i think this option would be very nice, can the gif, speed up/down.
Thx!.
Hey, first thanks for this handy tool. very cool! 👍
One bug I found recently: in the current version (2.1.1.0), the size of the font settings effects only the top line, not the bottom line.
I'm trying to run the CLI version of Gifcurry and keep running into the following error: [WARNING] Could not parse the /PATH/TO/text-overlays.yaml YAML file!
Here is the file in question:
- text: This is a test.
fontFamily: Sans
fontStyle: 30
fontStretch: Normal
fontWeight: Normal
fontSize: 800
origin: NorthWest
xTranslation: 0.0
yTranslation: 0.0
rotation: 0
startTime: 1.000
durationTime: 8.000
outlineSize: 10
outlineColor: rgb(1,100,10)
fillColor: rgb(255,255,0)
Are there any obvious errors that jump out at you?
(FWIW, I think that including an example YAML file in the docs would be really helpful.)
Thanks for a cool package!
jingle@jingle:~/Downloads$ ./gifcurry-2.2.0.1-x86_64.AppImage
** (gifcurry_gui:22406): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
(gifcurry_gui:22406): Gtk-WARNING **: Could not load image 'gifcurry-icon.png': Couldn't recognize the image file format for file '/tmp/.mount_gifcurjx8MxN/usr/share/x86_64-linux-ghc-8.0.2/Gifcurry-2.2.0.1/data/gifcurry-icon.png'
(gifcurry_gui:22406): Gtk-WARNING **: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/image-missing.png.
This may indicate that pixbuf loaders or the mime database could not be found.
(gifcurry_gui:22406): Gtk-WARNING **: Could not find the icon 'document-open-recent-symbolic-ltr'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases
**
Gtk:ERROR:/build/gtk+3.0-NmdvYo/gtk+3.0-3.22.11/./gtk/gtkiconhelper.c:493:ensure_surface_for_gicon: assertion failed: (destination)
Aborted
jingle@jingle:~/Downloads$ uname -a
Linux jingle 4.9.0-deepin11-amd64 #1 SMP PREEMPT Deepin 4.9.40-2 (2017-08-12) x86_64 GNU/Linux
Hi,
When i try to go step by step on ArchLinux I got:
[257 of 295] Compiling GI.Gio.Interfaces.File ( GI/Gio/Interfaces/File.hs, dist/dist-sandbox-a7e8621a/build/GI/Gio/Interfaces/File.o )
ghc: panic! (the 'impossible' happened)
(GHC version 8.2.2 for x86_64-unknown-linux):
tcIfaceGlobal (local): not found
You are in a maze of twisty little passages, all alike.
While forcing the thunk for TyThing IsFile
which was lazily initialized by initIfaceCheck typecheckLoop,
I tried to tie the knot, but I couldn't find IsFile
in the current type environment.
If you are developing GHC, please read Note [Tying the knot]
and Note [Type-checking inside the knot].
Consider rebuilding GHC with profiling for a better stack trace.
Contents of current type environment: []
Call stack:
CallStack (from HasCallStack):
prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable
callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable
pprPanic, called at compiler/iface/TcIface.hs:1696:23 in ghc:TcIface
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
cabal: Leaving directory '/tmp/cabal-tmp-21053/gi-gio-2.0.14'
cabal: Error: some packages failed to install:
gi-gdk-3.0.14-2UWeXbeXddiJR6ytUd1GFl depends on gi-gdk-3.0.14 which failed to
install.
gi-gdkpixbuf-2.0.14-10Jx3qdJL7b3aEX0Wr16yN depends on gi-gdkpixbuf-2.0.14
which failed to install.
gi-gio-2.0.14-LM7WK7NCSjNGCbzq7t5cwc failed during the building phase. The
exception was:
ExitFailure 1
gi-gtk-3.0.18-1axBgPHA9tvJQZ2ovyeBy0 depends on gi-gtk-3.0.18 which failed to
install.
gi-pango-1.0.15-IZiiWsYKF681zKYSMOyXQn failed during the building phase. The
exception was:
ExitFailure 1
make: *** [makefile:74: arch_os_install_dependencies] Błąd 1
Hello,
I think a nice feature for this tool would be to let the user select the desired font for captions. Since you use ImageMagick to add the captions, this could just be specified as a parameter to IM.
Cheers!
It would be great if you could publish your app on AppCenter so users of elementaryOS can get to it easily (plus you can make money):
https://developer.elementary.io/
Thank you!
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.