블로그에 올릴 이미지/동영상 용량 줄이기 (webp, ffmpeg)

배경

기술 블로그를 올리다보면 사진과 영상을 올리게 되는 경우가 많습니다.

올릴 때도 트래픽이 생기고, 많은 분들께서 글을 읽어주실수록 트래픽이 더 발생하게 됩니다.

그리고 너무 많은 트래픽이 생기면… 요금이 청구됩니다 흑흑

그리고 보시는 분들 입장에서 더 많은 데이터가 요구되기 때문에 싫어하실 수도 있습니다.

 

비슷한 유즈케이스로, GitHub에 사진이나 동영상을 올릴 때 10MB 용량제한이 있습니다.

애매하게 용량이 걸릴 때, 용량을 줄일 수 있는 방법을 찾게 됩니다.

 

동일한 내용을 보여줄 수 있다면 아무래도 용량이 적은게 더 좋습니다.

이번 글에서는 이미지/동영상의 품질을 최소한으로 줄이면서, 용량을 최대한으로 낮추는 방법에 대해 알아보겠습니다.

 

이미지 용량 줄이기

보통 이미지를 다룰 때 .png나 .jpeg를 많이 사용합니다.

하지만 .webp 에 대해 아시나요?

웹사이트에 올릴 때 저용량으로 올릴 수 있게 디자인된 파일 형식입니다.

webp로 변환해주는 것 만으로도 용량을 많이 아낄 수 있습니다.

구글에서도 26% 정도 더 적은 용량을 사용한다고 합니다.

변환을 쉽게 하려면 webp-converter를 사용하면 좋습니다.

간단하게 누가 만들어놓은 툴인데, 저도 이걸 사용해서 5분만에 이 블로그에 올라와있는 모든 사진을 webp로 변환했습니다.

그 결과, 전체 용량의 1/3를 다이어트 할 수 있었습니다.

사용 방법도 쉽습니다.

Pre-commit 같은거에 넣어두면 좋을 것 같습니다.

 

동영상 용량 줄이기

영상처리를 할게 아니고, 눈에 보기에만 좋으면 되는 영상들이 있습니다.

그런 영상들은 쪼끔 품질이 떨어지더라도, 눈에만 똑같아보이면 됩니다.

이건 ffmpeg를 사용해서 바로 할 수 있습니다.

ffmpeg를 처음 들어보신 분들께 간단히 소개를 드리자면, 동영상 코덱 및 압축 관련으로 가히 글로벌 1위 소프트웨어라고 할 수 있습니다. (거의 모든 동영상 소프트웨어는 ffmpeg 기반으로 돈다고 봐도 무방합니다)

ffmpeg -i input.mp4 -vcodec h264 -acodec mp2 output.mp4 를 통해서 동영상 코덱을 h264로 바꿔주면 굉장히 많이 압축할 수 있습니다. 5GB 영상이 700MB로 압축이 됩니다.

여기서 좀 더 압축을 하려면, 아웃풋 영상의 해상도도 작게 바꿔주면 됩니다. ffmpeg -i input.mp4 -s 1280x720 -acodec copy -y output.mp4. 직접 해본건 아니지만, 어떤 사람은 3.6GB 동영상이 50MB가 되었다고 합니다.