`프론트엔드 개발자` 개형이의 벽돌집

이미지 사이즈를 줄여보자. 웹 이미지 사이즈 최적화 🖼️ 본문

최적화

이미지 사이즈를 줄여보자. 웹 이미지 사이즈 최적화 🖼️

개형이 2023. 1. 7. 16:19

 

 

❗️ 이미지의 크기를 줄이고 용량을 낮추면 이미지를 좀 더 빠르게 로드할 수 있을텐데…

➡️ 큰 사이즈의 이미지를 더 낮은 용량의 이미지로 변환해보자!

 

 

 

 

🧐 JPG, PNG보다 WEBP, AVIF?!

 

WEBP

WEBP는 구글에서 개발한 이미지 포맷이다. 

WebP를 사용하면 JPG는 기존 대비 25~34%, PNG는 비손실의 경우 평균 26%(손실 방식의 경우 60~70%) 정도 기존 파일 대비 작아진다고 한다. 

 

AVIF

WEBP와 마찬가지로 GIF, JPG, PNG등의 전통적인 이미지 포맷을 대체하기 위해 출시되었고 뛰어난 압축 효율을 보이고 있다. WEBP보다 무려 9년이나 뒤에 나온 포맷이기 때문에 성능은 더 좋지만 범용성 측면에서는 문제가 있을 수 있다.

 

 

 

 

🧐 이미지를 변환해보자!

➡️ Squoosh 여기서 쉽게 다른 포맷의 이미지로 변환할 수 있다.

단, WEBP나 AVIF의 경우 지원하지 않는 브라우저가 있다. 이는 분기를 통해 지원할 경우 WEBP, AVIF로, 지원안할 경우 다른 포맷으로 적용되게 할 수 있다. 

 

<picture>
  {/* 브라우저가 avif를 지원하지 않으면 <source> 요소는 스킵된다. 지원할 경우 avif 형식 이미지 로드 */}
  <source srcset="photo.avif" type="image/avif" />
  {/* 브라우저가 webp를 지원하지 않으면 <source> 요소는 스킵된다. 지원할 경우 webp 형식 이미지 로드 */}
  <source srcset="photo.webp" type="image/webp">
  <img src="photo.png" alt="photo">
</picture>

 

 

 

🧐 동영상의 경우도 유사한 방식으로 최적화가 가능하다!

➡️ 동영상 컨버터 사이트: medio.io 링크에서 동영상 압축 가능 (ex. mp4, webm)

단, WEBM의 경우 지원하지 않는 브라우저가 있다. 이는 분기를 통해 지원할 경우 WEBM, 지원안할 경우 MP4 적용되게 할 수 있다.

 

<video controls width="250">
  <source src="/media/cc0-videos/flower.webm" type="video/webm">
  <source src="/media/cc0-videos/flower.mp4" type="video/mp4">
  Sorry, your browser doesn't support embedded videos.
</video>

 

 

 

 

참고: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture
참고: https://developer.mozilla.org/ko/docs/Web/HTML/Element/Video
참고: https://kr.bandisoft.com/honeycam/webp/what-is-webp/
Comments