Is there a good avi to gif software out there ? Or maybe there is a another animated images format other than gif that i'm not aware of ?? (gif is so 90's...)
Let me know please ! (virtualdub is not good for this)
+ Reply to Thread
Results 1 to 30 of 52
apng (animated png) is lossless, full 8bit / channel color palette (not crappy 256 colors), but only supported by a few browsers like firefox , opera (IE doesn't) . Obviously large filesizes compared to gif
For gif, photoshop is probably the one of the better ones . You have many options to adjust filesize vs. quality, dithering algorithms, compression . Unfortunately not free
Gimp can do it, with floyd steinberg dithering, but filesize is larger than photoshop produced gifs at similar quality
VirtualDub's GIF export uses a fixed color palette without dithering. That results in severe banding of smooth gradients. There's a trick you can use that will help though. First save the sequence you want as an uncompressed video file. Then use VirtualDub's Tools -> Create Palettized AVI to make another AVI of that sequence. That AVI will have an optimized palette and dithering. Then open that palettized AVI and export as GIF from VirtualDub. The dithering will be preserved.
Direct export as GIF:
Last edited by jagabo; 7th Jul 2014 at 18:23.
But vdub "create palletized AVI" creates a non selective, noisy dither . But at least it's not as bad as some, where the static backgroud has a alternating/flickering pattern as well,.
A single shade of "grey" - like the "grey" RGB 64,64,64 background shouldn't require dithering. Only when there are transitions or "shades" of grey or colors should be dithered. That non selectivity means excessively large filesizes
162KB vdub gif
322KB vdub palettized gif
259KB ps seletive pattern dither gif
Last edited by poisondeathray; 7th Jul 2014 at 20:59.
I was always partial to MS Gif Animator. It's free, can work with transparency and has custom palette support.
Photoshop. Outputs compressed and non-compressed AVI, layered Photoshop PSD, GIF, BMP, PNG (image, filmstrip or animated), JPEG, ICO (Windows icon files), ANI (Windows animated icons), and CUR (Windows cursor files).
Speaking of animated gifs, here's a little something I made in gimp using IWarp. Yes I know I'm a sick pup.....
Last edited by racer-x; 11th Jul 2014 at 14:10. Reason: Smoother versionGot my retirement plans all set. Looks like I only have to work another 5 years after I die........
haha racer-x GIF boob animations used to be so popular! But now with youtube, video embedding, broadband. GIF's are like the dodo bird ... The art of GIF making is lost
What makes or breaks a gif in terms of quality/filesize ratio is the processing options, pallete, dithering algorithms, optimizations used. What works well for some types of content might not be appropriate for others - so it's important to have options.
A free gif optimization program is gifsicle (commandline only). It can reduce the filesize of most gifs, but for already optimized ones like those produced in photoshop, the filesize actually gets larger
Here are some tests with an animation I did a few years ago (don't take the content too seriously, it was just for fun ) . It's primarily greyscale on a static gradient background, so predisposed to banding as you can see with vdub's default export. But because of those same factors it will also benefit from using a limited palette, adaptive dithering . Some programs like ffmpeg barely have any options , so they suffer immensely. Terrible GIF quality
gimp 128color, floyd-steinberg 990KB, gifsicle optimized =>961KB
photoshop 128color, adaptive 50% diffusion, lossy5 214KB
vdub default 241KB
Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
ahhhh so ffmpeg does have control over dither according to that 1st link by pandy with sws_dither
‘sws_dither’ Set the dithering algorithm. Accepts one of the following values. Default value is ‘auto’. ‘auto’ automatic choice ‘none’ no dithering ‘bayer’ bayer dither ‘ed’ error diffusion dither ‘a_dither’ arithmetic dither, based using addition ‘x_dither’ arithmetic dither, based using xor (more random/less apparent patterning that a_dither).
For reference, the other free gif utility , gifsicle link
Same animation with ffmpeg sws_dither options
Looks like "auto" used error diffusion , the default one posted above (the seizure inducing flickering POS )
These are still terrible for this type of animation IMO. At least the filesize is reduced substantially. But I'll check again if I did something wrong
@ffmpeg -i %1 -vf "pp=hb/vb/dr/al|f/tmpnoise|4|4|4,decimate=cycle=2,decimate=cycle=2,scale=w=640:h=-1:sws_dither=a_dither:sws_flags=bicubic+accurate_rnd+full_chroma_inp+full_chroma_int,format=pix_fmts=rgb8,setsar=sar=1/1" -y %1_a_dither.gif
Another great use for ffmpegCode:
-vf scale=1920:-1:sws_dither=a_ditherGot my retirement plans all set. Looks like I only have to work another 5 years after I die........
With a very recent update of FFmpeg (15 Feb 2015: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=9b964690e39928af616d88b3e8ab47a7d...f381231db5b7cd )
The above methods, and probably even my DGE2 plugin for AviUtl, and pngquant, may becomes obsolete.
The new options are:
as documented here: http://ffmpeg.org/ffmpeg-filters.html#palettegen-1
I don't know how the author did that, but the speed for color reduction and error dither are amazing...
Dither quality is much better than the old FFmpeg dither and doesn't look like using Median Cut for color quantization despite the source code comment said it is using the Median Cut method dated back to 1982.
The only deficiency is that not much optimization is done so the output file is still quite large. Nevertheless, the GIF can be further optimized by using gifsicle.
Nice find Mav
The quality is indeed very high, but the filesize also. You can reduce it somewhat by limiting max_colors in the palettegen, and a bit more with gifsicle like you said - but they are still rather larger. It would be awesome if ffmpeg could introduce a lossy scale in their GIF encoder, like -q 1-31 . -q:v or -q doesn't seem to affect it currently
(and Happy Lunar New Year to you )
Out of a deep reflection on my incapability on this Luna New Year...
I made these little batch files to help layman to quickly transcode any video supported by FFmpeg to GIF:
Basically, grab the essential binaries, drop them into the same folder as the scripts, then D&D your video(s) on to one of the VBS/batch files' icon.
There will be two output GIF in the source directory, one as raw output from FFmpeg, one is optimized by Gifsicle.
Further tests suggest the file size is not particularly large and optimization with gifsicle (with -U -O3) does not make a big difference.
The impression that the file being large is probably due to better quality, i.e. less clipping and more details being recorded.
The GIF demo in this post is 14MB, 128 colors bayer-dithered, 24fps @640x360
Last edited by MaverickTse; 20th Feb 2015 at 23:50.
Thanks Maverick. I downloaded your script v2 and it works fine. I don't really see the need for Gifsicle however. I tried with and without and didn't notice much difference. So I deleted Gifsicle.exe and edited the script to run without it. It works just fine for me.
In this example, the bubbles were animated in Aviutl using Particle Effect.Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
The size reduction by gifsicle, as percentage, is higher for smaller gif (those less than 1MB), but insignificant for large gif
No money for Adobe stuff
I've played with this for days and the best I can do is with MaverickTse's FFgif program. The second one (the first one did not work).
I've tried using just ffmpeg with different dithering methods and I tried using just gifsicle. I've tried ffmpeg as the encoder and gifsicle as the muxer but everything that I've tried has left me with a file that is the same size (9,747KB) and looks the same as the others. Well, ed_dither was a little bigger in file size (12,422KB). All of these encodes were using the external encoder in Virtualdub, using every single dithering method except for the error_dither.bat drag and drop encode which looks great. All of the other encodes show some king of artifacts.
The only way that I could get anything almost as good as (nothing was as good as) the drag and drop, optimized encode which was 22.6MB was by using Photoshop which produced a 17.1MB file. Virtualdub's built-in gif encoder was un-watchable.
01 error_dither.bat - Gunner Girls 002_optimized.gif
03 Photoshop - 0005.gif
What error did you get when using the VBScript version?
(P.S. On the first day I published FFgif, both archives are Batch file. I replaced the first one with VBScript on the next day)
No error but the GIF seems corrupted (the *_optimized.gif version)?
Last edited by MaverickTse; 24th Feb 2015 at 04:32.
From my perspective new functions are definitely progress but still far from this what can be squeezed from gif - Bayer dither is somehow incorrect with low CLUT (even with maximum strength), usually i always have better result with some default color palette than calculated one.
Sometimes 8 bit RGB (3:3:2) can give better results especially with a_dither.
big thanks to MaverickTse for hard work and pointing to new features in ffmpeg (btw very important from my perspective is tblend, finally frames can be blended together and later decimated to reduce fps - approach to introduce crude/naive motion blur : tblend=all_mode=average,decimate=cycle=2 ) .