Bionus / imgbrd-grabber

Very customizable imageboard/booru downloader with powerful filenaming features.
https://www.bionus.org/imgbrd-grabber/
Apache License 2.0
2.56k stars 219 forks source link

Add support for apng/animated png #1107

Closed Zekken01 closed 6 years ago

Zekken01 commented 7 years ago

http://apng.onevcat.com/demo/

47d82a58d1279b37d0fe847799f836c8

Bionus commented 7 years ago

Is there any source already using it, and, if so, do you have a link to such an image on that source?

Zekken01 commented 7 years ago

Search the tag "animated_png" I know e621 supports it and that the site sankaku has a bunch, I will post a link when home unless you search the tag.

Bionus commented 7 years ago

Indeed, I found a bunch on e621.

Seems like it will need the compilation and bundling in Grabber of an additional image plugin: https://github.com/Skycoder42/qapng Which itself only has a single star.

Hrxn commented 7 years ago

Not sure if it's already implemented there, but QtWebEngine might be the best way to support this in the future. Related: https://github.com/qutebrowser/qutebrowser/issues/1332

Edit:

QtWebEngine in Qt 5.10 seems to support APNG.

ghost commented 7 years ago

Never heard of such a thing, but that's a really cool format!

MasterPetrik commented 7 years ago

Never heard of such a thing, but that's a really cool format!

Apng is dead. For a long time. That's why you never heard about it. Only few sites still uses it. Made as substitution for GIF, APNG failed to become popular and died very soon. Few years after WEBM sucsessfully replaced GIF on many sites and became very-very popular, for example, almost all boorus and imageboards supports WEBM. Many other intresting formats like MNG, APNG, WEBP very bed supported by worldespread soft, so they are not very popular.

P.S. @Bionus does Grabber supports WEBP images? :thinking:

Bionus commented 7 years ago

Not sure if it's already implemented there, but QtWebEngine might be the best way to support this in the future.

Related: qutebrowser/qutebrowser#1332

Adding a dependency on QtWebEngine only to play a few images doesn't sound like a good deal, as we're talking about adding more than 20MB of DLLs. That's actually one of the reasons the video player was removed (there used to be one for a short time that used QtWebEngine).

P.S. @Bionus does Grabber supports WEBP images? 🤔

It should, through the qwebp plugin (see the imageformats directory in the installation folder).

Zekken01 commented 7 years ago

As I see it, there are sites using it. Dead it not we can't ignore that it is used. Thank you Barry.

Hrxn commented 7 years ago

Apng is dead. For a long time. [..]

Yeah, just like GIF is dead. No, wait. It isn't. It boggles my mind that we still use this 30 (!) years old format. We now have messenger apps, from Facebook etc., and communication apps like Slack and more with built-in GIF support, even better, prominently advertised as a top, must have feature. And as you pointed out, the increasing use of WebM, and sites like Gfycat, show the demand. This is nothing more as an abuse of a video format to work around the limitations of GIF. This is exactly where APNG would fit in.

Edit: @Bionus QuickViewer (https://github.com/kanryu/quickviewer) seems to support APNG and is also Qt-based, not sure what implementation is used there, but might be a viable alternative.

Bionus commented 7 years ago

QuickViewer (https://github.com/kanryu/quickviewer) seems to support APNG and is also Qt-based, not sure what implementation is used there, but might be a viable alternative.

Good find. Seems like they have a qapng2.dll file. If it's known to work and if I manage to find its origin, I'll gladly include it, as it's a much smaller file.

From what I can see, it seems to be: https://github.com/kanryu/qapng_Skycoder42

That project's README however recommend using the newest version instead (the one I linked earlier): https://github.com/Skycoder42/qapng The QuickViewer author seems to still have some remarks about it though: https://github.com/Skycoder42/qapng/issues/1.

I'll give a try to the Skycoder42/qapng project tonight (as it's the "original" and is recommended by the other one), and see if I can build it and put it in Grabber (thankfully it's a BSD-3 project).

Perhaps Grabber needs plugins for options like that for a video player or apng support as two examples.

That's an option I thought about before, but that would make the program more complicated and harder to maintain. Given how Grabber isn't really the cleanest and stablest of programs, I wouldn't really risk it in the short term. 😅