앱 개발 과정에서 움직이는 이미지를 사용하는 경우가 많습니다. 특히 APNG(Animated PNG) 포맷은 고품질의 애니메이션을 지원하는 이미지 형식으로, 주로 iOS 환경에서 많이 사용됩니다. 하지만 파일 용량이 커질 수 있어 최적화가 필요합니다. 이번 글에서는 APNG 변환 방법과 함께 용량을 줄이는 효과적인 팁을 소개합니다.
APNG를 어떨때 사용하면 좋을까?
APNG는 고해상도의 움직이는 이미지를 필요로 하는 경우에 적합합니다. 경험상, 3~5초 길이의 짧은 영상에 이 포맷을 사용하는 것이 적합합니다. 특히, 4K 품질을 유지하면서 짧은 애니메이션을 구현할 때 유용하죠. 하지만 5초 이상의 긴 영상을 만들거나 앱 내에 삽입하려면 비효율적일 수 있습니다. 용량이 크게 늘어나 성능에 영향을 미칠 수 있기 때문입니다. 이러한 경우 다른 포맷을 고려하는 것을 권장합니다.
APNG와 WebP 차이점
APNG
- iOS 환경에서 주로 사용되며, 움직이는 이미지에 적합합니다.
- 고해상도와 투명도를 유지할 수 있지만, 파일 용량이 크기 때문에 드라마틱하게 줄어들지 않습니다.
WebP
- 안드로이드 환경에서 주로 사용되며, 움직이는 이미지 또는 정적인 이미지 모두에 적합합니다.
- 파일 용량이 크게 줄어들어 성능 최적화에 유리합니다.
APNG 변환 방법
APNG를 제작하려면 여러 가지 도구가 있지만, APNG Assembler라는 프로그램이 가장 많이 사용됩니다. 이 프로그램을 사용하면 쉽게 PNG 이미지 시퀀스를 APNG로 변환할 수 있습니다.
APNG 용량 줄이는 방법
- 동일 프레임 이미지 삭제
APNG에서 동일한 프레임이 반복될 경우, 해당 프레임을 삭제하고 딜레이 시간을 조정하는 것이 중요합니다. APNG Assembler에서 해당 프레임을 선택한 후, [Delays – Selected Frame] 옵션을 통해 딜레이 시간을 설정할 수 있습니다. - PNG 이미지 압축
APNG는 PNG 이미지를 기반으로 하므로, 각 프레임의 PNG 이미지를 압축하는 것이 필요합니다. PNG 이미지를 압축하는 여러가지 사이트가 있으나 그 중 ILoveIMG를 추천합니다. 이유는 한번에 30장씩 업로드가 가능하기 때문입니다. - 두 번 압축하기
한 번의 압축으로도 용량이 충분히 줄어들지 않는다면, 두 번 압축을 시도해보세요. 이미지 품질에 큰 손상이 없을 경우 이 방법이 유효할 수 있습니다. - 타이니PNG와 아이러브이미지 사용
타이니PNG는 고효율의 PNG 압축 도구이지만, 무료 버전에서 처리할 수 있는 이미지 수에 한계가 있습니다. 그래서 아이러브이미지에서 30장씩 압축하는 방법도 있지만, 압축 품질은 타이니PNG가 더 뛰어납니다. 가능하면 타이니PNG로 한 번 더 압축하는 것이 좋습니다. - 최종 확인 및 추가 압축
압축된 APNG를 다시 타이니PNG로 돌리면 추가적인 용량 절감이 가능합니다. 다만, 이미지가 눈에 띄게 깨지지 않는지 꼭 확인해야 합니다.
WebP로 압축하기
WebP는 안드로이드에서 효율적인 파일 형식으로, APNG 변환보다 용량이 훨씬 작아 성능 최적화에 유리합니다. 간단하게 WebP로 변환하는 방법은 많은 온라인 도구를 통해 가능합니다. 아래 사이트가 타 사이트보다 오류가 적어 사용하기 좋습니다. WebP는 압축 효율이 좋지만 이미지 퀄리티는 많이 떨어집니다.
https://converter.app/ko/mov-webp
MP4로 넣기
여러가지를 시도해 보았지만 가장 좋았던 것은 MP4 포맷으로 동영상을 압축하는 것이 가장 좋은 선택이었습니다. MP4는 대부분의 플랫폼에서 지원되며, 용량도 적고 고해상도 품질을 유지할 수 있습니다. 긴 애니메이션을 처리해야 하거나 파일 크기 최적화가 중요한 경우, MP4로 변환하는 것이 최선의 방법일 수 있습니다.
결론
APNG는 고품질 이미지를 제공하는 반면, 용량이 커서 앱의 성능에 영향을 미칠 수 있습니다. 그래서 주로 web에 많이 사용되고 있습니다. 어느정도 적절한 프레임 삭제와 PNG 압축을 통해 용량을 줄일 수 있으며, 필요 시 타이니PNG로 추가 압축하는 것도 고려해볼 만합니다. 하지만 더 긴 애니메이션이나 더 나은 성능을 원한다면 WebP 또는 MP4 포맷을 사용하는 것이 바람직합니다.