Você conhece alguma ferramenta (de preferência linha de comando) para otimizar JPEGs de forma automática e sem perdas que eu possa integrar em nosso ambiente de construção? Para PNGs, estou usando PNGOUT e geralmente economiza cerca de 40% da largura de banda / tamanho da imagem.
No mínimo, eu gostaria de uma ferramenta que pudesse retirar metadados dos JPGs - notei um caso estranho em que tentei fazer a miniatura de uma fotografia e não consegui ficar menor que 34 kB. Depois de investigar mais, descobri que os dados EXIF ainda faziam parte da imagem e a miniatura tinha 3 kB após a remoção dos metadados.
E além disso - é possível otimizar ainda mais JPGs sem perdas? O otimizador PNG tenta diferentes estratégias de compressão, inicialização aleatória da codificação Huffmann etc.
Estou ciente de que a maioria das economias vem do parâmetro de qualidade JPEG e que é uma medida bastante subjetiva. Estou apenas procurando uma ferramenta que possa ser executada como uma etapa de construção e que comprima alguns bytes das imagens sem perdas.
fonte
Respostas:
Eu uso libjpeg para operações sem perdas. Ele contém uma ferramenta de linha de comando jpegtran que pode fazer tudo o que você quiser. Com a opção de linha de comando,
-copy none
todos os metadados são removidos e-optimize
faz uma otimização sem perdas da compressão Huffmann. Você também pode converter as imagens para o modo progressivo com-progressive
, mas isso pode causar problemas de compatibilidade (alguém sabe mais sobre isso?)fonte
Eu escrevi uma GUI para todas as ferramentas de otimização de imagem que pude encontrar , incluindo MozJPEG e
jpegoptim
que otimizam tabelas Huffman, varreduras progressivas e (opcionalmente) removem metadados invisíveis.Se você não tem um Mac, também tenho uma interface web básica que funciona em qualquer plataforma.
fonte
[SOMENTE WINDOWS]
RIOT (Radical Image Optimization Tool) Esta é a maior ferramenta de otimização de imagem que encontrei!
http://luci.criosweb.ro/riot/
Você pode facilmente obter uma imagem de 10 MB até 800 KB por meio de subamostragem. Suporta PNG, GIF e JPEG. Ele ainda se integra a menus de contexto para que você possa enviar fotos diretamente para lá. Permite girar, redimensionar, compactar para KBs especificados e muito mais. Também possui plug-ins para GIMP e IrfanView e outras coisas.
Também existe uma DLL disponível se você quiser incorporá-la em seus próprios programas ou programa java script / c ++.
Outra alternativa é http://pnggauntlet.com/ PNGGAUNTLET leva uma eternidade, mas faz um ótimo trabalho.
[SOMENTE WINDOWS]
fonte
Um novo serviço chamado JPEGmini produz resultados incríveis.
Uma pena que seja apenas online.Editar : está disponível para Windows e Mac agorafonte
Experimentei várias das sugestões acima - pessoalmente, estava atrás da compressão sem perdas.
Minha imagem de amostra tinha um tamanho original de 67.737 bytes.
Usando kraken.io, caiu para 64.718 Usando jpegtran, caiu para 64.718 Usando yahoo smush-it, caiu para 61.746 Usando imagemagick (-strip), caiu para 65.312
A opção smush.py parece promissora, mas a instalação era muito complexa para eu fazer rapidamente
jpegrescan parece promissor também, mas parece ser unix e estou usando windows
jpegmini NÃO é sem perdas, mas não consigo ver a diferença (até 22.172)
O aplicativo Altrasoft jpegstripper do plinth não funciona no meu windows 7
jpegoptim não é windows - não é bom para mim
A Riot (mantendo a qualidade em 100%) baixou para 63.416 e com subamostragem de croma definida para alto, baixou para 61.912 - não sei se isso é sem perdas ou não, e acho que parece mais leve que o original .
Então, meu veredicto é yahoo smushit se deve ser sem perdas
fonte
Eu tentaria Imagemagick. Ele tem várias opções de linha de comando, é gratuito e tem uma licença legal. http://www.imagemagick.org
Parece haver uma opção chamada Strip que pode ajudá-lo: http://www.imagemagick.org/script/command-line-options.php#strip
fonte
ImageOptim é realmente inteligente. A opção de linha de comando postada pelo autor irá preencher a GUI e mostrar o progresso. Usei jpegtran para otimizar e converter para progressivo, depois ImageOptim para otimizações progressivas adicionais e para outros tipos de arquivo.
Reutilização de código de script também encontrada neste fórum (todos os arquivos substituídos no local):
jpegtran
ImageOptim
fonte
Caso alguém esteja procurando, escrevi uma versão offline do Smush.it do Yahoo. Ele otimizará pngs, jpgs e gifs (animados e estáticos) sem perdas:
http://github.com/thebeansgroup/smush.py
fonte
Você pode usar jpegoptim, que otimizará arquivos jpeg sem perdas por padrão. A
--strip-all
opção remove todas as informações extras incorporadas. Você também pode especificar um modo com perdas com o--max
chave, o que é útil quando você tem imagens salvas com uma configuração de qualidade muito alta, que não é necessária, por exemplo. conteúdo web.Você obtém uma otimização semelhante à do jpegtran (veja a resposta de OutOfMemory), mas o jpegoptim não pode salvar em jpegs progressivos.
fonte
Eu escrevi uma ferramenta de linha de comando chamada 'picopt' (semelhante ao ImageOptim) que usa programas externos para otimizar JPEGs, PNGs, GIFS, GIFS animados e até mesmo conteúdo de arquivo de quadrinhos (CBR / CBZ).
É adequado para uso com homebrew em sistemas OS X ou Linux onde você instalou ferramentas como jpegrescan, jpegtran, optipng, gifsicle, etc.
https://github.com/ajslater/picopt
fonte
Eu também recomendaria ImageMagick . Tem uma opção de linha de comando para remover metadados EXIF
Existem muitas outras ferramentas por aí que fazem a mesma coisa.
No que diz respeito à recompactação de JPEGs, não faça isso. No início, os JPEGs apresentam perdas, portanto, qualquer forma de recompressão prejudicará a qualidade da imagem. No entanto, se você tiver imagens codificadas sem perdas, alguns codificadores fazem um trabalho melhor do que outros. Percebi que JPEGs feitos com Photoshop têm uma aparência melhor do que quando codificados com ImageMagick (apesar do mesmo tamanho de arquivo) por motivos complicados . Além disso (e isso é relevante para você), eu sei que pelo menos o Photoshop pode salvar JPEGs como otimizados, o que significa que eles perdem a compatibilidade com algumas coisas que você provavelmente não se importa para salvar alguns KB. Além disso, certifique-se de não ter nenhum perfil de cor incorporado e você poderá salvar mais alguns KB.
fonte
Eu recomendaria usar http://kraken.io. É um webapp ultrarrápido que otimizará seus arquivos PNG e JPEG muito melhor do que o smush.it.
fonte
Recomendo usar JpegOptim, é grátis e muito legal, você pode especificar a qualidade, o tamanho que quiser ... E fácil de usar na linha de comando.
JpegOptim
fonte
Posso recomendar isso para quase transparência:
Ele usa imagemagick 's
convert
ejpeg-recompress
de jpeg-archive .Ambos são de código aberto e funcionam em Windows, Mac e Linux. Você pode querer ajustar as opções acima para diferentes expectativas de qualidade.
fonte