
영상 최적화의 대상은 영상만이 아니었다
두줄요약
WebView별 영상 재생 제약에 스틸 이미지·스프라이트 대체 경로를 설계했습니다. 해상도와 인코딩은 실기기 검증으로 사용자 흐름 중심으로 최적화했습니다.
구조와 흐름
- 스틸 이미지 커버를 먼저 노출하고
loadeddata·canplay·playing신호 뒤 영상 표시 - 최종
MediaError, 자동재생 거절, 다음 소스 탐색 중 상태를 분리한 대체 경로 - 인라인 재생 불가 WebView에서 스프라이트 시트, 에셋 부재 단계에서 스틸 이미지 적용
선택 이유
- 영상 자체보다 현재 상태와 다음 행동을 안내하는 캐릭터 UI의 연속성 우선
- 720×720과 1080×1080 실기기 비교 뒤 체감 차이 대비 파일 크기가 작은 720×720 채택
- 투명 영역 RGB 정리 후 Android WebM 13개 합계 용량 62.1% 감소
트레이드오프
- 스프라이트 시트의 인라인 움직임 유지와 파일 크기·메인 스레드 프레임 처리 비용의 교환
- WebP 대체 경로의 구현 단순성과 일부 저사양 iOS WebView 반복 재생 끊김 문제
- 적응형 2x·3x 선택 로직의 복잡성과 실제 체감 가치 부족에 따른 경로 제거
성능/운영 포인트
- 현재·다음 스프라이트만 사전 요청하고
requestAnimationFrame기준의 시간 추적형 프레임 전환 - 단위 테스트·파일 검사로 소스 선택과 에셋 존재 여부 검증, 투명도·경계·재생은 실기기 QA 분리
- 인라인 영상 안정 환경의 영상 경로와 문제 WebView의 스프라이트 경로를 자동화 검사와 대상 기기에서 확인



