GIF 포맷이 세상에 나온지도 거의 30년이 되어간다.
특허 문제 등으로 시끄럽기도 했지만, 이제 관련 특허도 다 기간이 만료되고, 누구나 쓸 수 있는 포맷이 되었다.
시간이 지나면서 PNG가 GIF를 거의 대체할 수 있고, 유일하게 남은 Animated GIF 기능도 대체 포맷들이 많이 나왔다.
하지만, 그래도 GIF는 여전히 많이 쓰이고 있고, 파일의 크기를 더 줄일 수 있는 방법들도 연구되고 있다.
이러한 연구 중 가장 대표적인 프로젝트는 gifsicle이다.
gifsicle
특히 Animated GIF에 대해 프레임 간 압축시 이전 프레임과 겹치는 부분을 비움으로서 시간적 압축 개념을 추가한 것이다.
소스는 Gitub에 공개하고 있음.
여기에 화질을 조금 더 떨어뜨리는 기능을 추가해서 파일의 크기를 더 줄이는 프로젝트가 GIFLossy.
gifsicle을 기반으로 하여 --optimize 옵션을 추가한 것이다.
소스는 역시 Github에 공개하고 있음.
EZGIF.COM, GIFGIFs.com 등 GIF를 더 압축해주는 서비스들이 보이는데, 모두들 바로 이 GIFLossy를 온라인으로 서비스하는 것이다.
같은 소스를 기반으로 하기 때문에 지정할 수 있는 옵션도, 결과도 모두 100% 동일하다[...]
그런데, 막상 giflossy를 Visual Studio 2015에서 컴파일해보면 되지 않는다[...]
이를 안타깝게 여긴 한 능력자께서 컴파일 결과를 공유해주셨다.
티스토리는 10MB 이하의 이미지 파일만 올릴 수 있다.
아래 움짤은 giflossy를 이용해서 원래 18MB였던 파일을 9.8MB로 줄여서 올린 것이다.
-O3 --lossy=100 -o out.gif