1. GIF의 한계와 더 나은 변환을 향한 여정

git commit -m “궁극의 GIF 만들기 여정 1”

내가 더 잘 만들지도?

블로그 좀 하는 사람이라면 동영상 GIF 변환 프로그램을 종종 쓸 것입니다. 저도 자주 사용하는 사람 중 하나인데, 썩 맘에 드는 GIF 변환 프로그램이 없었습니다.

ezgif, covertgif는 색감과 화질이 아쉽고, 네이버 블로그 GIF는 색감은 좋지만 3초 까지만 만들 수 있다는 제약이 있고, 화질이 너무 안 좋습니다.

왜 이럴까? 그렇게 GIF를 향한 짧은 여정은 시작됐습니다.

GIF의 한계

일단, GIF 파일 형식은 ‘원래 색감이 구린 것’ 이었습니다. ^^;

💡 참고: GIF 파일이란? GIF 파일 구조, LZW 압축 방식 - GIF에 대해 간단히 정리한 글

왜냐하면 GIF에는 기술적 제약이 있는데, 바로 최대 256가지 색상만 표현 가능하다는 점입니다.

수십만 가지 색이 존재하는 24bit 영상을 단 256가지 색만 있는 8bit 이미지로 변환해야 한다는 것. 이 과정에서 색감이 많이 먹힙니다. 그러니 GIF의 색감이 원본보다 탁해 보일 수밖에 없습니다.

256색의 한계

24bit 트루컬러 영상: 16,777,216가지 색상
↓ (변환)
8bit GIF: 256가지 색상만 사용 가능

이 엄청난 색상 손실이 GIF가 원본보다 탁해 보이는 근본적인 이유입니다.

네이버 블로그의 비밀

참고로 네이버 블로그로 생성한 GIF는 색감이 꽤 예쁜데, GIF 관련 기술로 톤 보정을 했을 가능성이 큽니다. 이게 힌트! 이 기술은 3편 정도에 자세히 설명해봅니다.

일단 GIF 색감에 대한 추측은 그렇게 끝났고, 그럼 어떻게 하면 더 부드러운 GIF를 만들 수 있을까요?

ezgif 클론 코딩

움직임이 부드러운 GIF에 대해 알아보기 위해 ezgif 사이트 (GIF 변환 기능) 클론 코딩을 해보았습니다.

사용해본 사람은 알겠지만, 생성하는데 시간이 좀 걸리고 화질이 아쉽습니다. 😢

ezgif 분석 결과

분석 결과 ezgif는 서버 사이드 서비스이고, ‘FFmpeg’를 사용하는 것으로 보였습니다.

왜냐하면, ezgif 사이트 하단 설명 중 다음과 같은 문구가 있었기 때문입니다:

“Frame rate (fps)… smoother animation… increasing perceived quality but greatly increases the file size.”

“If you want to change the dimensions of the GIF or crop out only part of the video, you can use our resize and crop tools…”

이는 FFmpeg의 palettegen, paletteuse, scale 필터 체인에서 자주 사용하는 방식 그대로였습니다.

그렇군! FFmpeg로 변환하는구나!

근데 FFmpeg가 뭐지? 🤔

이어서 FFmpeg에 대해 알아봅니다. 다음 편에서 FFmpeg를 직접 사용해 고품질 GIF를 만드는 방법을 상세히 다뤄보겠습니다!


다음 편 예고: FFmpeg 설치부터 팔레트 생성, 색공간 변환까지 실전 GIF 제작 과정을 단계별로 살펴봅니다.


P.S.
이 서비스가 마음에 드신다면, 주변 분들에게도 추천해주세요.

여러분의 파일을 안전하게 지키면서 멋진 GIF를 만들 수 있는 도구입니다.


💬 댓글

자유롭게 의견을 나눠주세요