Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion data/questions.json

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions data/questions/image.json
Original file line number Diff line number Diff line change
Expand Up @@ -787,23 +787,23 @@
"why": "iOS Safari는 음소거·인라인 비디오의 제스처 없는 재생을 허용한다. iOS 정책을 반대 방향으로 기억하고 있다."
},
{
"text": "음소거에 인라인 속성을 붙인 비디오는 모바일 포함 제스처 없이 재생된다 — 차단 대상은 소리 있는 재생이다",
"text": "대체로 틀렸다 — 무음·인라인 비디오는 제스처 없이 재생된다. 단 iOS 저전력 모드에서는 그것도 차단되므로 정지 프레임 폴백을 함께 둔다",
"correct": true,
"why": "autoplay 제한의 본체는 소리다. 무음 루프 배너는 정확히 허용되는 범주에 있다."
"why": "autoplay 제한의 본체는 소리이므로 무음 루프는 허용 범주에 있다. 다만 iOS는 저전력 모드에서 무음 비디오의 자동재생까지 끄므로, 그 구간에 무엇이 보일지를 정해 둬야 한다."
},
{
"text": "autoplay 정책은 모든 모바일 브라우저에서 사용자 제스처 이후에만 풀린다 — 반대가 일반적으로 옳다",
"distractorType": "overgeneralized",
"why": "제스처 요건은 소리 있는 재생에 붙는 조건이다. 음소거 재생을 함께 묶은 과잉 일반화다."
"text": "반대는 틀렸다 — 무음에 인라인을 붙이면 모바일 어디서나 제스처 없이 재생되므로 폴백은 불필요하다",
"distractorType": "one-step-short",
"why": "차단 대상이 소리라는 것은 맞지만 예외가 하나 더 있다. iOS 저전력 모드에서는 무음 비디오의 자동재생도 꺼진다."
},
{
"text": "GIF는 이미지라 브라우저 캐시에 남지만 비디오는 캐시되지 않아 반복 노출에는 GIF가 이득이다",
"distractorType": "adjacent",
"why": "비디오도 HTTP 캐시 대상이다. 미디어 종류와 캐시 가능성은 연결되어 있지 않다."
}
],
"explanation": "모바일 autoplay 정책의 설계는 '소리 없는 재생은 허용한다'는 방향이다. 음소거(muted)에 playsinline을 붙인 비디오는 iOS Safari를 포함한 주류 모바일 브라우저에서 제스처 없이 재생된다. iOS가 인라인 재생을 제한하던 시절의 기억이 '모바일은 GIF여야 한다'는 믿음으로 남아 있는 것이다. 소리 없는 루프 콘텐츠라면 GIF 대신 비디오로 내는 것이 프레임 압축 구조상 수십 퍼센트 단위의 절감으로 이어진다.",
"source": "WebKit 공식 블로그 «New <video> Policies for iOS», MDN «Autoplay guide»(음소거 재생 허용)"
"explanation": "모바일 autoplay 정책의 설계는 소리 없는 재생은 허용한다는 방향이다. 음소거(muted)에 playsinline을 붙인 비디오는 iOS Safari를 포함한 주류 모바일 브라우저에서 제스처 없이 재생되므로, 「모바일은 GIF여야 한다」는 반대는 대체로 옛 기억이다. 그런데 예외가 하나 더 있다 — iOS는 저전력 모드에서 무음 비디오의 자동재생까지 차단한다(WebKit 168985). 배터리가 적은 사용자에게는 배너가 정지 상태로 보인다는 뜻이라, poster 프레임을 첫 프레임으로 지정하거나 재생 어포던스를 두는 폴백이 교체 작업의 일부다. 애니메이션 GIF는 이미지라 이 정책 밖에 있어 저전력 모드에서도 움직인다 — 그래서 반대가 완전히 틀린 것은 아니다. 그 차이를 알고 폴백을 설계하면 프레임 압축의 이득은 그대로 가져간다.",
"source": "WebKit 공식 블로그 «New <video> Policies for iOS», MDN «Autoplay guide»(음소거 재생 허용), WebKit 버그 168985 «[iOS] Disable autoplay of silent videos in low power mode»"
},
{
"id": "image-p3-default-001",
Expand Down
6 changes: 3 additions & 3 deletions data/questions/video.json
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@
{
"text": "프레임 간 압축이 있는 무음 짧은 H.264 루프를 muted·playsinline 설정으로 자동재생하게 바꾼다",
"correct": true,
"why": "GIF는 프레임 간 압축이 없고 256색이라 같은 구간을 수십 배 무겁게 만든다. 무음 인라인 MP4는 모바일 자동재생 조건에 맞고 기존 인코더를 그대로 쓴다."
"why": "GIF는 프레임 간 압축이 없고 256색이라 같은 구간을 수십 배 무겁게 만든다. 무음 인라인 MP4는 모바일 자동재생 조건에 맞고 기존 인코더를 그대로 쓴다 — iOS 저전력 모드처럼 자동재생이 꺼지는 구간은 정지 프레임으로 받는다."
},
{
"text": "GIF를 15fps·480px 폭으로 재인코딩하면 H.264와 파일 크기가 같아지니 규격만 줄인다",
Expand All @@ -582,10 +582,10 @@
{
"text": "GIF는 어떤 환경에서도 문제없이 열리는 안전한 기본값이므로 전송량은 서비스 비용으로 받아들인다",
"distractorType": "outdated",
"why": "과거의 호환 논리다. 무음 자동재생 MP4가 모바일 웹에서 통하는 지금은 GIF를 지킬 근거가 되지 못한다."
"why": "과거의 호환 논리다. 무음 자동재생 MP4가 모바일 웹에서 통하는 지금, 전송량 전부를 비용으로 받아들일 근거는 되지 못한다."
}
],
"explanation": "GIF는 프레임 간 압축이 없고 팔레트가 256색이라 같은 구간의 H.264보다 수십 배 커지기 쉽다. 반면 무음·인라인 설정을 갖춘 짧은 MP4는 모바일 브라우저의 자동재생 정책을 통과하고 기존 인코딩 파이프라인을 그대로 쓴다. 지연 로드는 받는 시점의 문제지 바이트당 비용을 바꾸지 못하고, 규격 축소는 구조적 격차를 닫지 못한다. 수량이 많고 반복 노출되는 산출물일수록 포맷 선택이 전송 비용을 지배한다.",
"explanation": "GIF는 프레임 간 압축이 없고 팔레트가 256색이라 같은 구간의 H.264보다 수십 배 커지기 쉽다. 반면 무음·인라인 설정을 갖춘 짧은 MP4는 모바일 브라우저의 자동재생 정책을 통과하고 기존 인코딩 파이프라인을 그대로 쓴다. 자동재생이 꺼지는 예외도 있어서(iOS 저전력 모드) poster 프레임을 함께 지정하는 것이 교체의 기본 절차다. 지연 로드는 받는 시점의 문제지 바이트당 비용을 바꾸지 못하고, 규격 축소는 구조적 격차를 닫지 못한다. 수량이 많고 반복 노출되는 산출물일수록 포맷 선택이 전송 비용을 지배한다.",
"source": "GIF89a 사양(프레임 간 압축 부재·256색 팔레트), MDN Web Docs 비디오 자동재생 가이드(muted·playsinline 조건)"
},
{
Expand Down
5 changes: 5 additions & 0 deletions data/sources.json
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,11 @@
"match": "S3 Bucket Keys",
"label": "S3 Bucket Keys — SSE-KMS 비용 절감",
"url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html"
},
{
"match": "WebKit 버그 168985",
"label": "WebKit 168985 — 저전력 모드의 무음 비디오 자동재생 차단",
"url": "https://bugs.webkit.org/show_bug.cgi?id=168985"
}
]
}
Loading