Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

What's Your Plan! 의 이미지 처리를 담당하는 서비스입니다.

Notifications You must be signed in to change notification settings

What-s-Your-Plan/wypl-image

Repository files navigation

What's Your Plan! - Image Server Project

wypl-logo

Java Spring Boot DockerImage AWS S3 ImageMagick

해당 서버는 이미지를 업로드 및 확장자 변환, 압축을 담당합니다.

Quick Starter

해당 서버를 동작하기 위해서는 반드시 Docker가 필요합니다.

해당 서버는 ImageMagick를 사용하여 이미지를 변환하고 있는데 도커 이미지를 빌드할 때 프로그램을 설치하여 동작합니다.

#!/bin/bash

sh ./script/quick-starter.sh

주요 기능

이미지를 변환 및 압축하는 이유는 AWS S3에 이미지를 업로드하여 사용하는데 이미지의 크기가 크다면 이미지 응답 속도가 느려지며 AWS 비용도 많이 나오게 됩니다. 이를 해결하기 위해서 서버에 들어오는 모든 이미지를 .avif확장자로 변환 및 압축하여 이미지를 저장합니다.

.avif를 선택한 이유는 데이터 통신량이 많은 기업들을 중심으로 고효율 AV1 코덱을 개발하였고 이를 확장하여 2019년에 나온 최신 포맷입니다. 이는 전통적인 이미지 포맷을 대체하기 출시되었으며 다른 포맷에 비해 뛰어난 압축 효율을 보이며 사용권에서 벗어나므로 택하였습니다.

ImageMagick

image-magick

이미지를 변환 및 압축하기 위한 도구로 ImageMagick을 선택하였습니다. 자유롭게 사용할 수 있으며, 설치만 하면 명령어를 통해 간단하게 사용할 수 있습니다.

이미지매직은 그래픽 이미지를 새로 만들거나, 고치는 데 사용되는 자유-오픈 소스 소프트웨어이다. 이미지 매직은 대부분의 이미지 형식을 읽고, 변환하거나 쓸 수 있다. 출처: 위키백과

.jpg VS .avif

original jpg image convert jpg image convert avif image
original jpg image convert jpg image convert avif image
287KB (100%) 37KB (12.9%) 24KB (8.4%)

기본적으로 이미지의 큰 화질 차이는 없지만 이미지의 용량에서 차이점이 보입니다. 퀄리티를 50으로 조정한 뒤 변환한 결과 jpg to jpg는 기존 이미지에 비해 37KB(12.9%)의 용량을 차지하지만 jpg to avif는 24KB(8.4%)로 jpg보다 더욱 뛰어난 압축률을 보입니다.

원본 이미지와 .avif 이미지의 차이점을 하이라이트로 비교해본 결과 큰 차이가 없다는 것을 확인할 수 있습니다.

image-diff

이미지 비교는 diffchecker 에서 진행하였습니다.

4K image

추가로 4K 이미지를 사용하여 비교하였습니다.

original 4k image convert jpg image convert avif image
original jpg image convert jpg image convert avif image
3.4MB (100%) 1.1MB (32.6%) 773KB (22.2%)

이미지 업로드 프로세스

image-upload-sequence

About

What's Your Plan! 의 이미지 처리를 담당하는 서비스입니다.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published