목록 보기
영상 최적화의 대상은 영상만이 아니었다
프론트엔드

영상 최적화의 대상은 영상만이 아니었다

버즈빌
버즈빌
2026년 10월 15일

두줄요약

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의 스프라이트 경로를 자동화 검사와 대상 기기에서 확인

다음 읽기

#WebView 주제를 이어서 읽기

프리로드 API 없는 광고 SDK에 프리로딩을 적용하며 배운 것

프리로드 API 없는 광고 SDK를 hidden 세션으로 선실행해 반복 대기 시간을 줄이는 구조를 설계했습니다.\n우선순위 병합, 노출 신호 보류, 세션 정리와 폴백·관측 기준을 정리했습니다.

버즈빌
버즈빌
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...