906. CMAF (Common Media Application Format) - DASH/HLS 파편화 인코딩 단일 미디어 컨테이너 포맷 규격화 통일 지연 단축 기술 인프라 규정
핵심 인사이트: 넷플릭스가 영화 한 편을 서버에 올리려다 피눈물을 흘렸다. "아니, 애플(아이폰) 손님한테 쏘려면 HLS(905번) 규격으로 10초짜리
.ts깍두기 통에 담아야 하고, 삼성(안드로이드) 손님한테 쏘려면 DASH 규격으로.mp4깍두기 통에 따로 담아야 해? 똑같은 영화 1편인데 포장 용기만 다르게 해서 서버에 2벌씩 저장하라고? 클라우드 스토리지 저장 비용이 2배로 터지잖아!" 마이크로소프트와 애플이 드디어 손을 잡았다. "야, 알았어! 안에 담는 알맹이 영상 깍두기 포장 용기(컨테이너)는 무조건 1개로 통일하자!" 비디오 인프라 비용을 반토막 낸 대통일 규격, CMAF다.
Ⅰ. 기존 적응형 스트리밍 시장의 참혹한 파편화 (Silo)
- 애플 진영 (HLS): 비디오 조각을 무조건 MPEG-2 TS (
.ts)라는 무거운 구형 껍데기에 담아 보냈습니다. - 구글/MS 진영 (MPEG-DASH): 비디오 조각을 가볍고 모던한 조각난 MP4 (
.m4s, fMP4) 껍데기에 담아 보냈습니다. - 재앙적 결과 (Storage Double-Cost): 넷플릭스는 전 세계 스마트폰을 모두 지원하기 위해, 똑같은 영화를
.ts버전 10만 개와.m4s버전 10만 개로 중복 인코딩(CPU 낭비)하여 스토리지에 2배로 저장(비용 낭비)하고 CDN 캐시 메모리도 2배로 까먹는 말도 안 되는 낭비를 수년간 겪었습니다.
Ⅱ. CMAF (Common Media Application Format)의 개념 🌟
- 개념: 2017년 애플과 마이크로소프트가 주도하여 만든 MPEG 국제 표준 규격으로, HLS와 DASH가 각각 따로 쓰던 미디어 깍두기 껍데기(컨테이너)를 '조각난 MP4 (fMP4, Fragmented MP4)' 단 한 가지 포맷으로 통일하여 넷플릭스 등 플랫폼의 저장 및 인코딩 비용을 절반으로 줄여주는 공통 미디어 포맷 규격입니다.
Ⅲ. CMAF가 가져온 2가지 인프라 대혁명 🌟
1. 단일 컨테이너 원본 저장 (Storage 파괴적 절감)
- 넷플릭스는 이제 영화를 오직 fMP4 (CMAF 포맷) 딱 1가지 버전으로만 10초씩 썰어서 서버에 저장해 둡니다. (저장 공간 반토막)
- 어떻게 다 재생시킬까? (매니페스트의 분리):
- 알맹이(영상 조각)는 똑같습니다. 다만, 메뉴판(목차 장부)만 두 종류로 찍어냅니다.
- 아이폰(HLS)이 오면 HLS용
.m3u8메뉴판을 던져주고, 안드로이드(DASH)가 오면 DASH용.mpd메뉴판을 던져줍니다. - 두 메뉴판에 적힌 '고화질 1번 고기 조각이 있는 주소(URL)'는 똑같은 하나의 CMAF 영상 조각(fMP4)을 가리키고 있습니다. 양쪽 진영이 평화롭게 하나의 원본 반찬을 공유해 먹게 된 대통합입니다.
2. 저지연 (Low Latency) CMAF 마법 (청크 분할) 🌟
사실 스토리지 비용 절감보다 이게 훨씬 더 중요한 무기입니다. 라이브 방송의 10초 지연 렉을 박살 냅니다.
- 과거의 10초 렉: 월드컵 라이브 중계 시, 서버는 무조건 10초짜리 영상 조각(세그먼트) 하나가 완전히 다 구워질(인코딩 완료) 때까지 기다렸다가 통째로 폰으로 보냈습니다. 그래서 옆집 아저씨(TV)가 "골!!!" 소리치고 10초 뒤에 내 스마트폰 화면에 골이 들어갔습니다(스트리밍 극악의 딜레이).
- CMAF Chunk(청크) 마법: CMAF는 10초짜리 조각 박스(Segment) 안에, 더 작은 1초짜리 미니 초콜릿 박스(Chunk, 청크) 여러 개를 욱여넣을 수 있는 구조로 설계되었습니다.
- 동작: 서버가 10초짜리 영상을 굽다가, 1초어치 분량(청크 1번)이 구워지자마자 전체 10초 박스가 완성되는 걸 기다리지 않고 곧바로 HTTP 통로를 통해 청크 1번만 냅다 스마트폰 입으로 던져버립니다(Chunked Transfer Encoding).
- 폰은 1초어치 영상을 받자마자 바로 모니터에 띄웁니다. 라이브 스트리밍 지연 시간이 10초에서 **1~2초(Ultra Low Latency)**로 극단적으로 짧아져 TV 중계 속도와 완벽히 똑같아집니다.
📢 섹션 요약 비유: 과거의 스트리밍(HLS, DASH) 시장은 '아이폰용 둥근 도시락통(.ts)'과 '안드로이드용 네모 도시락통(.m4s)' 두 규격이 피 터지게 싸우는 공장이었습니다. 공장장(넷플릭스)은 똑같은 밥과 반찬(영상)을 둥근 통과 네모 통 2가지 버전에 일일이 따로 담아 냉장고에 보관하느라 냉장고 비용(스토리지)이 2배로 깨졌습니다. CMAF는 애플과 MS가 극적으로 타결한 '전 세계 공통 육각 도시락통(fMP4)' 평화 조약입니다. 공장장은 이제 밥과 반찬을 육각 도시락통 딱 1가지로만 포장해서 냉장고 절반을 비워버립니다. 아이폰 손님이 오면 '아이폰용 숟가락(M3U8 장부)'을 얹어 육각 도시락을 주고, 안드로이드 손님이 오면 '안드로이드용 포크(MPD 장부)'를 얹어 똑같은 육각 도시락을 줍니다. 알맹이 포장을 완벽히 통일하여 전 세계 비디오 배달 비용을 반토막 낸 위대한 물류 혁명입니다.