Currently, server side GIF thumbnailing on Wikimedia sites is disabled
entirely by setting $wgMediaHandlers['image/gif'] =
'BitmapHandler_ClientOnly';
This causes all GIF files to be send to the browser at original size
regardless of what size has been requested.
While most folks seem to have pretty much resigned to the fact that
animated GIFs can't be thumbnailed -- it never worked very well to begin
with -- the fact that even static GIFs are sent at full resolution
remains somewhat annoying, especially since people have uploaded some
extremely large bitmaps in GIF format in the past.
It seems to me that delivering *static* thumbnails of GIF images, either
in GIF or PNG format, would be a considerable improvement over the
current situation. And indeed, the code to do that seems to be already
in place: just set $wgMaxAnimatedGifArea = 0;
So, my questions would be:
1. Is there a reason we don't do this already?
2. If yes, and the reason is the GIF encoding causes too much load,
would thumbnailing GIFs to PNG be better? It should only take a few
lines of code to change the output format.
3. Alternatively, if the problem is ImageMagick taking too much time to
read animated GIFs even just to extract only the first frame, would some
other scaling program be better? Indeed, it should even be possible to
write a bit of PHP code to pull out just the first frame of a GIF file
and hand it off to ImageMagick for scaling.
Ps. I'd also like to take the opportunity to remind everyone of the
existence of
https://bugzilla.wikimedia.org/show_bug.cgi?id=16451 and of
the excellent-looking patch Werdna has written for it. We can do a
_lot_ better with GIfs that we're currently doing.
--
Ilmari Karonen