GIF 용량 줄이기

"3MB 이하로" 같은 조건을 맞춰야 하는데 어느 값을 건드려야 할지 모르겠다면. 손대는 순서만 알면 화질을 훨씬 덜 잃습니다.

최종 수정

GIF 는 왜 무거운가

GIF 는 1987년에 나온 형식입니다. 요즘 영상 코덱이 쓰는 기법이 거의 없습니다.

  • 프레임 사이의 시간 압축이 사실상 없습니다. MP4 는 "앞 프레임과 달라진 부분" 만 저장하는데, GIF 는 프레임마다 그림을 거의 통째로 들고 있습니다. 그래서 프레임 수가 곧 용량입니다.
  • 색이 256개로 제한됩니다. 원본의 수백만 색을 256개로 줄여 담아야 해서, 부드러운 그라데이션에 얼룩이 생깁니다.
  • 손실 압축이 기본이 아닙니다. 화질을 조금 버려 용량을 크게 줄이는 방법을 원래는 안 씁니다(이 도구는 gifsicle 의 손실 압축을 따로 걸 수 있게 해 두었습니다).

그래서 GIF 를 다루는 요령은 압축을 잘하는 게 아니라 애초에 담을 것을 줄이는 것 입니다.

손대는 순서

순서무엇을효과화질 손해
1길이(구간)거의 정비례. 절반으로 줄이면 용량도 절반 근처없음
2가로 폭큼. 0.8배 하면 화소 수는 0.64배작은 화면에서는 거의 안 보임
3fps중간. 12 → 8 이면 프레임 수 2/3움직임이 끊겨 보임
4색상 수 · 손실 압축중간색이 뭉개지고 얼룩이 생김

1번이 압도적입니다

10초를 4초로 줄이면 용량은 절반 아래로 떨어지는데 화질은 하나도 안 잃습니다. 화질 옵션을 만지기 전에 "이거 정말 다 보여 줘야 하나" 부터 확인하세요. 상세페이지 GIF 는 2~4초, 동작 하나면 충분합니다.

찍을 때 이미 정해지는 것

  • 화면 전체가 움직이면 최악입니다. 손으로 든 영상은 미세한 흔들림 때문에 매 프레임이 전부 달라집니다. 삼각대에 올리거나 고정된 곳에 두고 찍으면 결과 용량이 몇 배씩 차이 납니다.
  • 배경이 단순할수록 가볍습니다. 색이 적고 무늬가 없는 배경은 256색 안에 쉽게 들어옵니다.
  • 화면 전환·플래시·자막 이동을 피하세요. 전부 "프레임 전체가 바뀌는" 사건입니다.

자동 맞춤은 어떻게 동작하나

목표 용량을 정해 두면 만들어 보고 → 크면 값을 한 단계 낮춰 다시 만들기를 반복합니다. 최대 여섯 번 까지 시도하고, 아래 순서로 내려갑니다.

단계손실 압축색상 수fps가로 폭
0고른 값 그대로그대로그대로그대로
160———
2120———
3120—10—
41201288—
51201286×0.8 (최소 480)
6120646×0.8 (최소 480)

값은 나빠지는 방향으로만 움직입니다. 이미 더 낮게 잡아 두었다면 그 값을 그대로 지킵니다. 여섯 단계를 다 써도 목표에 못 미치면 가장 작은 결과를 돌려주면서 구간을 끝에서 10% 자르라는 제안 을 띄웁니다(마음대로 자르지는 않습니다).

자동 맞춤이 만능은 아닙니다

단계가 내려갈수록 화질이 떨어집니다. 결과가 마음에 안 든다면 목표를 올릴 게 아니라 구간을 줄이세요. 길이가 짧아지면 같은 목표 안에서 낮은 단계로 통과하게 되고, 그만큼 화질이 남습니다.

색이 뭉개졌을 때

색상 수
32~256. 올리면 색이 살아나고 용량이 늘어납니다. 실사 영상은 128 이상이 무난합니다.
손실 압축
0~200. 올리면 용량이 확 줄지만 얼룩이 생깁니다. 0 이 무손실입니다.
디더링
256색으로 줄일 때 생기는 색 경계를 섞어 흐리는 방식입니다. Floyd–Steinberg 가 가장 곱지만 용량이 늘고, Bayer 는 규칙적인 무늬가 보이는 대신 가볍습니다. 없음 은 색 경계가 띠처럼 보입니다.
fps
6~24. 낮추면 프레임 수가 그대로 줄어듭니다. 8 아래로 내려가면 움직임이 눈에 띄게 끊깁니다.

올릴 곳이 WebM 을 받는다면

형식만 바꿔도 같은 화질에서 용량이 1/5 ~ 1/8 로 떨어집니다. 여기서 설명한 고민의 대부분이 사라집니다. 다만 GIF 만 받는 곳에는 못 올립니다.

목표 용량 정해서 변환하기

변환기 열기

이어서 읽기