원 질문은 다음과 같습니다.
|
{ |
|
"id": "video-preview-gif-001", |
|
"topic": "video", |
|
"tags": ["preview", "gif", "autoplay"], |
|
"difficulty": 1, |
|
"question": "제품 피드의 마우스오버 미리보기를 지금은 짧은 GIF로 내보내고 있다. 모바일 트래픽 비중이 높아지면서 미리보기가 피드 전체 전송량의 큰 몫을 차지하게 됐다. 같은 구간을 그대로 보여 주면서 전송량을 줄이는 실무 정답은?", |
|
"options": [ |
|
{ |
|
"text": "미리보기 이미지는 화면에 들어올 때만 내려받게 지연 로드하고 포맷은 GIF를 유지한다", |
|
"distractorType": "one-step-short", |
|
"why": "받는 시점을 미루는 것일 뿐 바이트당 비용이 수십 배인 포맷 자체는 그대로다." |
|
}, |
|
{ |
|
"text": "프레임 간 압축이 있는 무음 짧은 H.264 루프를 muted·playsinline 설정으로 자동재생하게 바꾼다", |
|
"correct": true, |
|
"why": "GIF는 프레임 간 압축이 없고 256색이라 같은 구간을 수십 배 무겁게 만든다. 무음 인라인 MP4는 모바일 자동재생 조건에 맞고 기존 인코더를 그대로 쓴다." |
|
}, |
|
{ |
|
"text": "GIF를 15fps·480px 폭으로 재인코딩하면 H.264와 파일 크기가 같아지니 규격만 줄인다", |
|
"distractorType": "plausible-number", |
|
"why": "해상도와 프레임을 낮춰도 프레임 간 압축이 없는 구조는 그대로라 크기 격차가 닫히지 않는다." |
|
}, |
|
{ |
|
"text": "GIF는 어떤 환경에서도 문제없이 열리는 안전한 기본값이므로 전송량은 서비스 비용으로 받아들인다", |
|
"distractorType": "outdated", |
|
"why": "과거의 호환 논리다. 무음 자동재생 MP4가 모바일 웹에서 통하는 지금은 GIF를 지킬 근거가 되지 못한다." |
|
} |
|
], |
|
"explanation": "GIF는 프레임 간 압축이 없고 팔레트가 256색이라 같은 구간의 H.264보다 수십 배 커지기 쉽다. 반면 무음·인라인 설정을 갖춘 짧은 MP4는 모바일 브라우저의 자동재생 정책을 통과하고 기존 인코딩 파이프라인을 그대로 쓴다. 지연 로드는 받는 시점의 문제지 바이트당 비용을 바꾸지 못하고, 규격 축소는 구조적 격차를 닫지 못한다. 수량이 많고 반복 노출되는 산출물일수록 포맷 선택이 전송 비용을 지배한다.", |
|
"source": "GIF89a 사양(프레임 간 압축 부재·256색 팔레트), MDN Web Docs 비디오 자동재생 가이드(muted·playsinline 조건)" |
|
}, |
하지만 WebKit 168985를 살펴보면 알 수 있듯, 절전 모드의 WebKit은 muted video를 자동 재생하지 않는 게 스펙입니다.
https://claude.ai/code/artifact/57aa07d2-eb56-4621-8d4e-9a6087d2dc13?via=auto_preview
그래서 iOS 기기에서 저전력 모드를 켜고 위 페이지에 접근할 경우 mp4 자동 재생이 되지 않는 문제가 있습니다.
Animated WebP, Animated AVIF를 고려해볼 수 있으나 이 역시 압축률이나 iOS 커버리지 범위가 달라질 거라, 추가적인 고려가 필요합니다.
원 질문은 다음과 같습니다.
cachehit/data/questions/video.json
Lines 560 to 590 in 5bed1bc
하지만 WebKit 168985를 살펴보면 알 수 있듯, 절전 모드의 WebKit은 muted video를 자동 재생하지 않는 게 스펙입니다.
https://claude.ai/code/artifact/57aa07d2-eb56-4621-8d4e-9a6087d2dc13?via=auto_preview
그래서 iOS 기기에서 저전력 모드를 켜고 위 페이지에 접근할 경우 mp4 자동 재생이 되지 않는 문제가 있습니다.
Animated WebP, Animated AVIF를 고려해볼 수 있으나 이 역시 압축률이나 iOS 커버리지 범위가 달라질 거라, 추가적인 고려가 필요합니다.