I have a parchment animation at singingdays.co.uk that is a rather large file of about 80mb which obviously is taking a long time to download. I have managed to compress it down to about 60mb using convert and decreasing the colourmap for all the images down to 256 colours, but would like to compress it more without losing the quality. If I could somehow only dispose of part of the background, so that I'm only disposing the part of the background where the parchment is unfurling and keep the top part after the rolled up animation and shadow has passed I think that would help, but must admit that it is boggling my head trying to work it out, if you can even do that with convert, let alone figure it out. If you can do it with convert could you work out the command line and pass it on? If not could you recommend something else? I am working on linux.
1$\begingroup$ Is there a reason you wouldn't want to try with MPEG4? It's much better quality than GIF and can be streamed (a.k.a. sent to the users at a specific/sufficient rate instead of all at once like a GIF, in other words, throttle the sending of that data file so it can still be played back full speed). $\endgroup$– Alexis WilkeApr 21, 2018 at 5:47
GIF animation compressors normally do this automatically, using transparency in a given frame to avoid storing what has not changed from the previous frame.
The reason it's not working in your case is that your input is bad. The flat part of the parchment is not really static. It is moving slowly upwards, at a rate of about 1 pixel every 20 frames. Fix your animation so the non moving parts are perfectly identical between frames and you should get a much smaller file.
You would also get a smaller file if you avoided the noise in the unfurling part (most visible in the shadow). Such noise barely compresses at all. This looks like it came out of some 3D software so crank up the quality settings until the input is noise free.
If dithering, which is really added noise, is used when producing the images, make sure it does not change from frame to frame. Or just turn it off entirely. You might get a little banding but the file will be smaller. You'll need to decide which you prefer.
$\begingroup$ Yeah, the dithering is going to happen when you convert from RGB to paletted, unless you make sure to only use a predefined 256 colors to start with... $\endgroup$ Apr 21, 2018 at 5:46