블로그에 올릴 이미지/동영상 용량 줄이기 (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가 되었다고 합니다.