Live data from Hacker News

High quality GIF with FFmpeg

blog.pkh.me

51–60 of 131 posts

Re: High quality GIF with FFmpeg

#51

Earlier quoted context omitted.

I wish I had NSA-level overview of the internets to see how much bandwidth is wasted on poorly compressed file formats and protocols. Its weird we're talking about gif in the age of h.264 and png. So much for the "burn your gifs" patent protest from a few years ago. Seems to me, social media sites like Facebook and Reddit have revitalized the gif for cheesy animations and memes. Its only fairly recently that hosts li…

Imgur, popular on Reddit, actually recognized the problem and invented GIFV (which is HTML-wrapped mp4/webm) http://imgur.com/blog/2014/10/09/introducing-gifv/ Unfortunately Facebook doesn't allow easy video embeds.

I hate the "invention" of Gifv with every ounce of my soul. If it's a Webm or a MP4 file then say so. There are HTML5 tags for them and their looping. The least the Internet needs is a redundant file extension for what has been done by Gfycat and 4chan/8chan for years now.

Re: High quality GIF with FFmpeg

#52

Earlier quoted context omitted.

I would like to go back in time to 1993 and make Tim Berners-Lee add video support to the element so that we could do things like this today: If this had happened no one would need to use GIFs. :(

Marc Adreessen came up with [1], not TimBL. [1] http://1997.webhistory.org/www.lists/www-talk.1993q1/0182.ht...

Besides, it's easy today to frown upon the choices made at a time where common image formats included XBM, a plain text subset of C!

One day, people will be sad that we didn't anticipate 3d models in . It makes no sense to add support with the current state of technology.

Re: High quality GIF with FFmpeg

#53

So it's using a simple Median Cut quantization... which is okay, but you can get great results using an octree quantizer, and without dithering. Dithering kills your compression savings in GIF so you'd want to avoid it if possible. In any case, you can see the difference a better quantizer makes here: http://www.leptonica.com/color-quantization.html

> Dithering kills your compression savings in GIF

Not as much as err-diff if you use custom-palette ordered dithering, since the ordering stays the same from frame to frame the transparent-pixel optimization applies, unlike error diffusion dithering.

It's what photoshop uses to create optimized gif, although their particular approach is patented alternative algorithms exist, e.g. http://bisqwit.iki.fi/story/howto/dither/jy/

Re: High quality GIF with FFmpeg

#55

ffmpeg is downright magical - just don't get caught using the one in the Ubuntu/Debian repositories. Compile your own ffmpeg if you have any need to do serious work; the Libav fork just isn't as capable. The reasons are obvious if you look into the development philosophies of the two projects. https://github.com/mpv-player/mpv/wiki/FFmpeg-versus-Libav

Use the version at http://deb-multimedia.org

    echo "deb http://www.deb-multimedia.org stable main non-free" > /etc/apt/sources.list.d/deb-multimedia.org.list
    apt-get -q update; apt-get -qy dist-upgrade
    apt-get -qqy install ffmpeg

Re: High quality GIF with FFmpeg

#56
post #48
post #47

Earlier quoted context omitted.

Maybe someone who cares about this should submit patches? All of the major browser engines are open-source.

This would probably cause regressions with other GIFs that neglect to specify a delay but are supposed to have one. It's hard to imagine this universal behavior is accidental. It's probably like everything else on the Web — a hack to keep things that shouldn't work from actually not working.

I'm fairly sure that the reason for this universal behaviour is that there are plenty of broken, looping gifs out there with inter-frame delays of 0. I used a version of Konqueror which would spin at 100% of a core when it encountered one of these.

A better hack (but it's still a hack) might be to wait one frame (or longer) before returning to the beginning of a looping gif. Given that this would be significantly harder than the current approach (which is apparently either delay = max(delay, 16ms) or if(delay < 16) delay = 100) and the only reason for it would be to support this pretty-niche multi-palette composited-frame thing, it seems like it would be hard to argue for.

Re: High quality GIF with FFmpeg

#57
post #50

Earlier quoted context omitted.

If only iOS (and Android?) allowed you to play inline videos the way you can on the desktop, and the way they play animated GIF's inline. Besides allowing us to adopt video throughout and save on bandwidth and have better video quality, this will be a huge productivity boost to developers: we can finally stop having the GIF vis JIF pronunciation debate.

Unless somebody's producing ads, why would he insist on having the video "inline like on the desktop" on the small screen of the mobile phone?

live screenshot demos?

Re: High quality GIF with FFmpeg

#58

Earlier quoted context omitted.

I wish I had NSA-level overview of the internets to see how much bandwidth is wasted on poorly compressed file formats and protocols. Its weird we're talking about gif in the age of h.264 and png. So much for the "burn your gifs" patent protest from a few years ago. Seems to me, social media sites like Facebook and Reddit have revitalized the gif for cheesy animations and memes. Its only fairly recently that hosts li…

Imgur, popular on Reddit, actually recognized the problem and invented GIFV (which is HTML-wrapped mp4/webm) http://imgur.com/blog/2014/10/09/introducing-gifv/ Unfortunately Facebook doesn't allow easy video embeds.

> invented

I think 4chan introduced silent, looping, control-less webms for the same purpose (gif replacements) before imgur.

Re: High quality GIF with FFmpeg

#59
post #50

Earlier quoted context omitted.

If only iOS (and Android?) allowed you to play inline videos the way you can on the desktop, and the way they play animated GIF's inline. Besides allowing us to adopt video throughout and save on bandwidth and have better video quality, this will be a huge productivity boost to developers: we can finally stop having the GIF vis JIF pronunciation debate.

Unless somebody's producing ads, why would he insist on having the video "inline like on the desktop" on the small screen of the mobile phone?

Because gifs already work that way on phones, and that's how users want it.

Re: High quality GIF with FFmpeg

#60

Earlier quoted context omitted.

Imgur, popular on Reddit, actually recognized the problem and invented GIFV (which is HTML-wrapped mp4/webm) http://imgur.com/blog/2014/10/09/introducing-gifv/ Unfortunately Facebook doesn't allow easy video embeds.

I hate the "invention" of Gifv with every ounce of my soul. If it's a Webm or a MP4 file then say so. There are HTML5 tags for them and their looping. The least the Internet needs is a redundant file extension for what has been done by Gfycat and 4chan/8chan for years now.

Unfortunately a VERY large chunk of the web still can't see webm. http://caniuse.com/#feat=webm
Post reply on HN