5P by kunggom 2020-03-28 | favorite | 댓글 2개

파일 크기가 큰 png 파일을 특정 웹사이트의 업로드 제한에 맞추기 위해 용량을 줄여야 할 일이 있었습니다. 이러한 이미지 최적화를 지원하는 대표적인 온라인 도구로는 tinypng( https://tinypng.com/ ) 같은 곳이 있지만, 문제는 png 파일의 크기가 너무 커서 tinypng의 무료 서비스가 용인하는 최대 용량인 5 MB를 훌쩍 넘겼다는 것이죠. 그래서 좀 더 큰 용량 업로드가 가능한 유사 웹 서비스를 몇 군데 찾아보았고, 그 중 가장 결과물이 괜찮은(=시각적으로 거의 구분할 수 없는 사실상의 무손실이면서 가장 결과물 파일 크기가 작은) 곳을 찾았습니다. 그게 바로 위에 링크된 웹사이트입니다. 11 MiB가 넘던 png 파일의 크기를 약 2.7 MiB까지 줄여놓더군요. 그래서 여기에 소개합니다.

부가적인 소득도 꽤 있었습니다. 예를 들면, 유사한 웹 서비스를 제공하는 [compress-or-die]( https://compress-or-die.com/ )라는 곳에서는 이미지 파일 포맷과 관련된 각종 문서를 볼 수 있었습니다. 여러 이미지 최적화 웹사이트를 자기네 웹사이트와 벤치마크하면서 “우리 기술력이 최고다!”라고 자랑하는 글도 있던데, 정작 여기 결과물은 기본값 기준으로 최적화 결과물 용량이 3.1 MiB가 나와서 아쉽게(!) 2등이었습니다. 대신 여기서는 ‘전문가 옵션’을 제공하기 때문에, 원한다면 결과물을 좀 더 트윅할 여지는 있었습니다.

온라인에서 이미지 용량 최적화가 가능하다면, 로컬에서 안 될 이유도 없습니다. png 파일을 위해서라면 [pngquant]( https://pngquant.org/ )라는 CUI 도구 겸 라이브러리가 있는 것을 확인했습니다. Windows, Linux, macOS를 위한 바이너리를 모두 제공하더군요. 한편, 윈도우용 GUI 도구로는 [RIOT]( https://riot-optimizer.com/ )이라는 것이 있었습니다. 이런 도구의 장점은 파일 용량 제약에 구애받지 않는다는 것이 있겠습니다.

마지막으로, 위에 링크한 웹사이트는 들어가 보시면 아시겠지만 이미지 용량 최적화 말고도 웹 개발자 혹은 웹사이트 운영자가 간단하게 쓸 수 있는 다양한 온라인 도구들을 제공합니다. 웹사이트에 올라와 있는 robots.txt 파일을 분석하는 도구라던가, 단축 URL 등의 리다이렉트를 따라가는 도구라던가, 여러 URL을 한번에 열어주는 도구라던가, Lorem Ipsum을 원하는 만큼 만들어주는 도구라던가… 맥가이버 칼 같네요. 그래도 그 중 가장 유용해 보이는 것이 바로 이 이미지 크기 최적화 도구입니다.

말씀하신대로 효율이 너무 좋아서 아마도 눈으로 확인 못하는 손실압축이 아닐까 생각이 드네요.

비손실 PNG 압축 도구만 비교해 놓은 "Comparison of lossless PNG compression tools" http://www.olegkikin.com/png_optimizers/ 가 있는데,
여기 Pic4 를 가져다 해보니, 위 사이트의 결과물이 31KB 로 가장 작네요.
전 예전에 https://pngquant.org/ 기반 도구를 사용했었는데 얘는 36KB 가 나옵니다.

참고로 PNG의 압축이 어찌 되는지를 정리해 놓은 문서 하나
A guide to PNG optimization http://optipng.sourceforge.net/pngtech/optipng.html