JPEG 최적화 도구? [닫은]


114

빌드 환경에 통합 할 수있는 JPEG를 자동으로 무손실 최적화하는 도구 (가급적이면 명령 줄)를 알고 있습니까? PNG의 경우 현재 PNGOUT을 사용 하고 있으며 일반적으로 약 40 %의 대역폭 / 이미지 크기를 절약합니다.

최소한 JPG에서 메타 데이터를 제거 할 수있는 도구가 필요합니다. 사진에서 썸네일을 만들려고했지만 34kB보다 작게 만들 수없는 이상한 경우를 발견했습니다. 자세히 조사한 결과 EXIF ​​데이터가 여전히 이미지의 일부이고 메타 데이터를 제거한 후 썸네일이 3KB라는 것을 알았습니다.

그리고 그 이상으로 JPG를 무손실로 최적화 할 수 있습니까? PNG 최적화 프로그램은 다양한 압축 전략, Huffmann 인코딩의 임의 초기화 등을 시도합니다.

대부분의 절감 효과는 JPEG 품질 매개 변수에서 비롯되며 다소 주관적인 측정이라는 것을 알고 있습니다. 빌드 단계로 실행할 수 있고 이미지에서 몇 바이트를 무손실로 압축하는 도구 만 찾고 있습니다.


EXIF가 제거되기 전에 최적화 된 JPG에 약 10KB 상당의 EXIF가 있었다는 말입니까?!?!?! 그 안에 무엇이 있는지 궁금합니다!
netrox 2009

그것은 모든 작은 사진에 대한 세부 사항 (노출, 셔터 시간 등)를 포함하여 디지털 카메라에서 전체 EXIF 블록이었다
chris166

@netrox chris166 이러한 세부 사항은 많은 공간을 차지하지 않으며 많은 공간을 차지하는 것은 미리보기 (이진 데이터)입니다.
Ariel

1
아래 나열된 유틸리티를 나열한 두 가지 흥미로운 비교 기사 : JPEG 무손실 압축 도구 비교, 2014 년 6 월 ; JPEG 최적화 도구 벤치 마크, 2013 년 2 월 .
dma_k

@Ariel : ICC 프로필도 큰 공간을 차지하는 경향이 있습니다. 500KB 이상의 ICC 프로필 바이너리 데이터를 보았습니다.
saurabheights

답변:


68

무손실 작업을 위해 libjpeg를 사용합니다. 여기에는 원하는 모든 작업을 수행 할 수 있는 명령 줄 도구 jpegtran 이 포함되어 있습니다 . 명령 줄 옵션을 사용하면 -copy none모든 메타 데이터가 제거 -optimize되고 Huffmann 압축의 무손실 최적화를 수행합니다. 을 사용하여 이미지를 프로그레시브 모드로 변환 할 수도 -progressive있지만 이로 인해 호환성 문제가 발생할 수 있습니다 (아는 사람이 있습니까?).


5
와, 유망한 것 같네요. 관심이 있으시면
chris166

나는 이것을 위해 갈 것이다. 프로그레시브 모드에서 배경 이미지를 62kB에서 49kB로 줄입니다. 다른 이미지 (27kB)는 23kB로 축소되었습니다. 이는 품질 손실없이 15-20 % 절감입니다!
chris166 09-06-12

2
프로그레시브는 기본적으로 모든 부분에서 잘 작동하지만 유일한 단점은 디코딩하는 데 더 많은 CPU를 사용한다는 것입니다 (문제에 대한 추가 정보가 충분하지 않음).
Ariel

1
프로그레시브는 9k 미만 파일의 경우 종종 기준선보다 클 수 있습니다.
Collin Anderson

3
프로그레시브는 디코딩하는 데 더 많은 메모리가 필요합니다. 일반 jpeg는 스트리밍 할 수 있습니다. 작은 섹션에서만 디코딩하면됩니다. 프로그레시브 jpg를 디코딩하려면 압축 해제 된 전체 이미지를 메모리에 한 번에 보관해야합니다.
jcupitt 2010 년

72

내가 쓴 내가 찾을 수있는 모든 이미지 최적화 도구 GUI 를 포함 MozJPEGjpegoptim그 최적화 허프만 테이블, 프로그레시브 스캔 (선택 사항) 제거 보이지 않는 메타 데이터를.

ImageOptim 스무 싱

Mac이없는 경우 모든 플랫폼에서 작동 하는 기본 웹 인터페이스 도 있습니다.


5
우수한! 당신은 Flattr 버튼이 필요합니다. 또는 Gittip에 가입하세요.
Thilo

2
ImageOptim 및 ImageAlpha는 훌륭합니다!
Jon z

훌륭한 도구-사소한 제안. JPEGoptim을 80 % 품질로 제한하는 이유-큰 배경 이미지는 종종 60 % 이하로 설정해야합니다. thx
niico 2014 년

EXIF 데이터를 제거하는 이유는 무엇입니까? : /
Adrien Be

@AdrienBe 1. 개인 정보 보호. 인터넷상의 모든 사람이 GPS 위치를 알기를 원하지 않을 수도 있습니다. 2. Photoshop에서 저장 한 파일에는 메가 바이트 의 XML 쓰레기가 파일에 포함될 .
Kornel

12

[WINDOWS 만 해당]

RIOT (Radical Image Optimization Tool) 이것은 제가 찾은 최고의 이미지 최적화 도구입니다!

http://luci.criosweb.ro/riot/

서브 샘플링을 통해 10MB 이미지를 800KB까지 쉽게 얻을 수 있습니다. PNG, GIF 및 JPEG를 지원합니다. 상황에 맞는 메뉴에 통합되어 바로 사진을 보낼 수 있습니다. 회전, 크기 조정, 지정된 KB로 압축하는 등의 작업을 수행 할 수 있습니다. 또한 김프 및 IrfanView 및 기타 사항에 대한 플러그인이 있습니다.

자체 프로그램이나 자바 스크립트 / C ++ 프로그램에 통합하려는 경우 사용할 수있는 DLL도 있습니다.

또 다른 대안은 http://pnggauntlet.com/입니다. PNGGAUNTLET은 영원히 걸리지 만 꽤 잘 작동합니다.

[WINDOWS 만 해당]


7
경고 : RIOT는 괜찮아 보이지만 묻지 않고 TuneUp을 설치하고 똥을 설치합니다. .. 이걸 악성 코드로 분류하겠습니다.
Daniel W.

1
@DanFromGermany가 맞습니다. 여기 리뷰를 참조하십시오 download.cnet.com/RIOT/3000-12511_4-10911908.html#summaryList
RNickMcCandless

1
최근까지 한 번도 없었습니다.
Ben

맬웨어 경고! 크롬 다운로드 관리자는 RIOT 악성 코드입니다 경고
ruhong

8
참고 : 어떤 종류의 맬웨어 나 설치 프로그램도 포함하지 않은 RIOT 용 휴대용 .zip 파일이 있습니다. 다운로드 페이지에서 아래로 스크롤하십시오. luci.criosweb.ro/riot/download
Goyuix

12

JPEGmini 라는 새로운 서비스 는 놀라운 결과를 제공합니다. 온라인 전용이라는 점이 아쉽습니다. 편집 : 이제 Windows 및 Mac에서 사용할 수 있습니다.


이제 Mac 앱을 사용할 수 있습니다 (공개 : 개발 팀에 있음)
DanJ

4
당신이 저자인지 아닌지는 모르겠지만 그 앱은 사용자를 오도합니다. "미니"이미지에서 jpegquality.c 를 실행 하여 압축 량을 감지 한 다음 동일한 품질의 imagemagick로 원본을 압축하면 => 두 이미지에서 동일한 결과, 동일한 JPEG 아티팩트를 얻을 수 있습니다. Imagemagick은 오픈 소스 일 수 있지만 그렇다고해서 사용하는 것이 좋지 않고 새로운 압축 기술을 개발했다고 주장합니다
nice ass

@onetrickpony : 나는 그들과 어떤 식 으로든 관계가 없습니다.
Eduardo Molteni 2014 년

@niceass JPEGmini가 ImageMagick 코드를 사용하고 있다는 것을 어떻게 알 수 있습니까? 품질 요소를 아는 것은 IM의 출력이 증거가 아닙니다. 제 생각에는 약간의 필터링으로 품질 요소를 줄이면서 이미지를 다시 압축하고 중지 할 시점을 결정하기 위해 품질 메트릭을 사용합니다.
koan

ImageMagick에서 이전에 내 보낸 이미지에서 최신 JPEGmini를 실행했는데 JPEGmini가 이미 실행되었다고보고되었습니다. 기억이 나지 않습니다. 동일한 이미지에서 jpegtran -optimize -copy none을 실행하면 크기가 12KB 줄어 듭니다.
koan

10

위의 여러 제안을 시도했습니다. 저는 개인적으로 무손실 압축을 시도했습니다.

내 샘플 이미지의 원래 크기는 67,737 바이트입니다.

kraken.io를 사용하면 64,718 개로 감소했습니다 jpegtran을 사용하여 64,718 개로 감소했습니다 yahoo smush-it을 사용하여 61,746 개로 감소했습니다 imagemagick (-strip)를 사용하여 65,312 개로 감소했습니다.

smush.py 옵션은 유망 해 보이지만 설치가 너무 복잡해서 빨리 할 수 ​​없습니다.

jpegrescan도 유망 해 보이지만 유닉스 인 것 같고 Windows를 사용하고 있습니다.

jpegmini는 무손실이 아니지만 차이점을 구분할 수 없습니다 (22,172까지 감소).

plinth의 Altrasoft jpegstripper 앱이 Windows 7에서 작동하지 않습니다.

jpegoptim은 Windows가 아닙니다.

Riot (품질을 100 %로 유지)는 63,416으로 감소했고 크로마 서브 샘플링을 높게 설정하면 61,912로 감소했습니다. 무손실인지 아닌지는 모르겠지만 원본보다 가벼워 보입니다. .

그러니 내 평결은 무손실해야한다면 yahoo smushit


jpegrescan은 고집이 센 경우 Windows에서 작동합니다. 마술처럼 크기를 줄입니다 (품질 손실없이 5 ~ 15 %). 놀랍습니다. 왜냐하면 AFAIK를 순서대로 정렬하는 프로그레시브 스캔을 다시 정렬하기 때문입니다 (다른 프로그램에서도 동일하게 표시 될 수 있지만 Photoshop에서는 파일 크기가 약간 작아지는 경우도 있습니다). 명백한 이유없이 다른 수의 스캔을 선택하는 경우). 또한 x264를 만든 사람 중 한 사람이 만든 것으로 압축 분야에서 천재입니다.
Camilo Martin


7

ImageOptim은 정말 매끄 럽습니다. 작성자가 게시 한 명령 줄 옵션은 GUI를 채우고 진행 상황을 표시합니다. 저는 jpegtran을 사용하여 최적화하고 점진적으로 변환 한 다음 ImageOptim을 사용하여 추가 점진적 최적화 및 기타 파일 형식을 사용했습니다.

이 포럼에서도 찾을 수있는 스크립트 코드 재사용 (모든 파일이 제자리에 있음) :

jpegtran

for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.jpeg" -or -name "*.JPG" \)); do
    echo found $file for optimizing...
    jpegtran -copy comments -optimize -progressive -outfile $file $file
done

ImageOptim

for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.png" -or -name "*.gif" \)); do
do
    echo found $file for optimizing...
    open -a ImageOptim.app $file
done

4

누군가가 찾고 있다면 Yahoo의 Smush.it의 오프라인 버전을 작성했습니다. PNG, jpg 및 gif (애니메이션 및 정적)를 손실없이 최적화합니다.

http://github.com/thebeansgroup/smush.py


잘 작동하지만 png 압축에 문제가 있습니다 :(

4

기본적으로 jpeg 파일을 무손실로 최적화 하는 jpegoptim 을 사용할 수 있습니다 . 이 --strip-all옵션은 모든 추가 포함 된 정보를 제거합니다. 손실 모드를 지정할 수도 있습니다.--max예를 들어 필요하지 않은 매우 높은 품질 설정으로 이미지를 저장할 때 유용한 스위치 . 웹 컨텐츠.

jpegtran (OutOfMemory의 답변 참조) 과 유사한 최적화를 얻지 만 jpegoptim은 프로그레시브 jpeg에 저장할 수 없습니다.


4

필자는 외부 프로그램을 사용하여 JPEG, PNG, GIFS, 애니메이션 GIF 및 만화 아카이브 콘텐츠 (CBR / CBZ)를 최적화하는 'picopt'(ImageOptim과 유사)라는 명령 줄 도구를 작성했습니다.

이는 jpegrescan, jpegtran, optipng, gifsicle 등과 같은 도구를 설치 한 OS X 또는 Linux 시스템에서 homebrew와 함께 사용하기에 적합합니다.

https://github.com/ajslater/picopt


이것의 Windows 버전이 있습니까?
starbeamrainbowlabs

cygwin과 같은 Windows 환경에 posix 종속성을 설치할 수 있다면 그럴 수도 있습니다. 그래도 첫 번째로 테스트 할 수 있습니다.
AJ Slater

3

나도 ImageMagick 을 추천 합니다. EXIF 메타 데이터를 제거하는 명령 줄 옵션이 있습니다.

mogrify -strip image.jpg

동일한 작업을 수행하는 다른 도구가 많이 있습니다.

JPEG를 다시 압축하는 한 그렇게하지 마십시오. JPEG는 처음에는 손실이 많으므로 모든 형태의 재 압축은 이미지 품질을 저하시킬뿐입니다. 그러나 손실없이 인코딩 된 이미지가있는 경우 일부 인코더가 다른 인코더보다 더 잘 작동합니다. Photoshop에서 수행 한 JPEG는 복잡한 이유로 인해 ImageMagick (동일한 파일 크기에도 불구하고)으로 인코딩 할 때보 다 일관되게 더 좋아 보입니다 . 또한 (그리고 이것은 당신과 관련이 있습니다), 적어도 Photoshop은 JPEG를 최적화 된 것으로 저장할 수 있다는 것을 알고 있습니다. 즉 , 몇 KB를 저장하는 데 신경 쓰지 않는 일부 항목과의 호환성이 떨어짐을 의미합니다. 또한 포함 된 색상 프로필이 없는지 확인하고 추가로 몇 KB를 절약 할 수 있습니다.


흥미 롭군. 저는 항상 모든 이미지 도구에서 90 % 품질이 동일하다고 생각했습니다. Photoshop이 최적화 된 DCT 계수를 사용하는 유일한 도구입니까?
chris166 09-06-12

1
Photoshop과 Imagemagick에서 동일한 이미지를 저장하기 전까지는 다양한 도구에서 90 %가 동일 할 것이었지만. Photoshop의 Save for Web에서 약 70 %가 Imagemagick의 92 %와 거의 같은 크기의 파일을 만들었지 만 Photoshop 파일의 품질이 눈에 띄게 더 우수하다는 것을 발견했습니다. 다른 도구가 어떻게 작동하는지 모르겠습니다.
David Johnstone

PHP 버전의 ImageMagick을 사용하여 EXIF ​​메타 데이터 스트리핑을 수행하는 방법을 알고 있습니까?
Sonny

@Sonny 실제로는 아니지만이 기능에 관심이있을 수 있습니다. php.net/manual/en/function.imagick-stripimage.php
David Johnstone

고마워 데이비드, 그것이 내가 찾은 결과입니다. 내 스레드는 다음과 같습니다. stackoverflow.com/questions/2540068
Sonny

2

http://kraken.io를 사용하는 것이 좋습니다 . smush.it보다 훨씬 더 나은 PNG 및 JPEG 파일을 최적화 할 수있는 초고속 웹앱입니다.


2

JpegOptim을 사용하는 것이 좋습니다. 무료이며 정말 좋습니다. 품질, 원하는 크기를 지정할 수 있습니다. 명령 줄에서 사용하기 쉽습니다.

JpegOptim


1

거의 투명성을 위해 이것을 권장 할 수 있습니다.

convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg

그것은 사용 ImageMagick이 '들 convertjpeg-recompressJPEG 아카이브 .

둘 다 오픈 소스이며 Windows, Mac 및 Linux에서 작동합니다. 다른 품질 기대치를 위해 위의 옵션을 조정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.