toy / image_optim

Optimize images using multiple utilities
https://github.com/toy/image_optim
MIT License
1.52k stars 109 forks source link

system gifsicle not working #151

Open seb-sykio opened 7 years ago

seb-sykio commented 7 years ago

hi, when I use image_optim_pack, no problem, but when I want to use system gifsicle (ubuntu), i have this error : "Failed to manipulate with rmagick, maybe it is not an image?" I tried with default ubuntu version (1.78) and then with version I installed muself (1.83 and 1.89) but still same problem. I tried by installing it to /usr/local/bin first and then /usr/bin

I could use image_optim_pack but I notice a lot of random other issues on jpg and pnd (i could not reproduice, but users of my website told me) Last week I was still using image_optimizer gem and I didnt have any problem with system gifsicle

any idea ?

thank

toy commented 7 years ago

I suggest to try to optimise the gif that causes problems using the cli and check if the result is malformed. rmagick in the message suggests that the problem is in the pipeline after image_optim.

It would be great if you could find which issues are caused by image_optim_pack.

seb-sykio commented 7 years ago

hi,

thanks for answer. As I said, the same gif does not make any problem when I use image_optim_pack

toy commented 7 years ago

Yes, so try using image_optim --no-pack --verbose xxx.gif

seb-sykio commented 7 years ago
image_optim v0.25.0
config:
  pack: false
  verbose: true
  pngout: false
  svgo: false
  pngcrush: false
nice: 10
threads: 40
pack: false
skip_missing_workers: false
allow_lossy: false
cache_dir: 
cache_worker_digests: false
Resolved advpng 1.18 at /usr/bin/advpng
Resolved optipng 0.7.6 at /usr/bin/optipng
Resolved pngquant 2.0.1 at /usr/bin/pngquant
WARN: pngquant 2.0.1 at /usr/bin/pngquant (< 2.1) may be lossy even with quality `100-`
Resolved jhead 2.97 at /usr/bin/jhead
Resolved jpegtran 1.3.0 at /usr/bin/jpegtran
Resolved jpegoptim 1.3.0 at /usr/bin/jpegoptim
Resolved gifsicle 1.78 at /usr/bin/gifsicle
WARN: gifsicle 1.78 at /usr/bin/gifsicle (< 1.85) does not support removing extension blocks
Workers by format:
jpeg:
  jhead:
  jpegoptim:
    allow_lossy: false
    strip: ["all"]
    max_quality: 100
  jpegtran:
    copy_chunks: false
    progressive: true
    jpegrescan: false
png:
  optipng:
    level: 6
    interlace: false
    strip: true
  pngquant:
    allow_lossy: false
    max_colors: 256
    quality: 100..100
    speed: 3
  advpng:
    level: 4
gif:
  gifsicle:
    interlace: false
    level: 3
    careful: false
  gifsicle:
    interlace: true
    level: 3
    careful: false
argument is not a file or a directory or does not exist
optimizing: ......✓ 0.008146582s gifsicle --optimize\=3 --no-interlace --output\=/tmp/my_gif_file20170718-25588-6itexb.gif --no-comments --no-names --same-delay --same-loopcount --no-warnings -- my_gif_file.gif
✓ 0.00747005s gifsicle --optimize\=3 --interlace --output\=/tmp/my_gif_file20170718-25588-6itexb.gif --no-comments --no-names --same-delay --same-loopcount --no-warnings -- my_gif_file.gif
optimizing: 100.0% (elapsed: 0s)
------         my_gif_file.gif
Total: ------       
toy commented 7 years ago

By the output it looks like the gif can't be optimised further, so the image should not be changed

toy commented 7 years ago

May the problem be in how image_optim is added to the pipeline?

seb-sykio commented 7 years ago

sorry I dont understand what you mean. How can I check this ?

toy commented 7 years ago

How do you add image_optim to the pipeline?

seb-sykio commented 7 years ago

i'm using rails, not sure this answer your question

toy commented 7 years ago

By the error message it seems that you are using carrierwave, can you debug what happens with the image when you use system gifsicle?