Open Kristinita opened 4 years ago
Привет Саша,
This looks like an interesting use-case. However I am not sure if PngOptimizer is the best project for that, because since its creation the design goal has been to be a visually lossless tool.
Anyway, it would be interesting to implement your suggestion as a new project. Thank you for the links, they can be useful to avoid reinventing the wheel.
The use case of animated PNG files is that if you need to go back in and modify an animation, it's much easier. It's one of the reasons GIF files survived for so long -- basically the Internet wants to borrow from or change existing content. This isn't even an option with many video file types that become un-viewable junk by the 2nd or 3rd compression effort.
What might be a good balance is a reduced color level. GIF files are stuck at 256 colors, while PNG can have a 10,000 pixels all with different colors, making them 10x the size of the same poorly compressed GIF recording.
As such, I thought it might be a good balance between the two options to enable reduced color depth, which definitely qualifies as "lossy." This is not an original idea on my part https://en.wikipedia.org/wiki/Portable_Network_Graphics#Lossy_PNG_compression.
Unfortunately, I've noticed that some animations I've converted from animated GIF to animated PNG format using pngoptimizer are actually larger than when I just convert to native animated PNG. This has happened several times, usually with basic, animated screen recording demonstrations.
1. Summary
It would be nice, if PngOptimizerCL will compress
.apng
files 2 times or more.It's okay if with a loss of images quality.
2. Argumentation
2.1. Common cause
Using
.apng
files in real practice.2.2. Details
I pasted real
.apng
images on web forums, discussions and so on. Unfortunately, on May 2020 I can't use big.apng
files, because users, that don't have power computers, may have problems.No, I don't make
.apng
“Avatar”. See one my example: one 15 second.apng
file have 35.7 Mb size (.gif
— 7,6;.mp4
— 2.1). So usage.apng
on web currently is very limited.I agree, if my images would have the worst quality, but that they could be used in the web.
3. Example of expected behavior
For
.gif
seegiflossy
, that implemented to gifsicle as--lossy
option. See the table — it compressed original.gif
file 4 times (!) without serious quality loss.It would be nice to have similar behavior for
.apng
4. Example results
4.1. Data
my old 4
.apng
files, that I created by ScreenToGIF.4.2. Current behavior
4.3. Expected behavior
And user will get
50% of original size
or even less.5. It might help
See libimagequant
.png
library from giflossy author, that used in pngquant CLI utility.Unfortunately, it doesn't support
.apng
.Thanks.