핵심 인사이트 (3줄 요약)
- 본질: DASH(Dynamic Adaptive Streaming over HTTP)는 비디오 스트리밍 프로토콜로, 원본 영상 1개를 4K, 1080p, 480p 등 여러 화질(Bitrate)의 2~10초짜리 짧은 조각(Chunk)들로 무수히 다져놓은 뒤, 유저 스마트폰이 현재의 인터넷 속도를 1초마다 스스로 측정하여 지가 견딜 수 있는 화질의 조각을 골라서 가져오게(Pull) 만드는 적응형(Adaptive) 비디오 딜리버리 룰이다.
- 가치: 과거 버퍼링 지옥 시대엔 무조건 1080p 통짜 영상을 끝까지 받아야 했다. DASH는 KTX가 터널에 들어가 인터넷 핑이 튀는 순간, 스마트폰이 스스로 눈치껏 "어 쉣 나 4K 못 받아! 야 서버야 다음 3초 분량은 144p(깍두기 화질) 쓰레기 조각으로 당장 내려줘!!" 라며 화질을 포기하고 끊김(Buffering) 0%를 사수하는 극단적 생존 우선 융합이다.
- 융합: "서버가 통제하지 않는다! 클라이언트가 지배한다!" 예전엔 비싼 전용 미디어 스트리밍 서버(RTSP/RTMP)가 필요했지만, DASH는 100% 일반 HTTP 웹 서버(Apache, Nginx)와 멍청한 CDN 캐시를 타고 날아다니므로, 전 세계 구석구석에 깔린 초저가 정적 웹 인프라망을 넷플릭스 영화관 핏줄로 그대로 재활용(Piggybacking)해버린 클라우드 자본주의 통신의 걸작이다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: MPEG-DASH는 국제 표준화 기구(ISO/MPEG)가 만든 HTTP 기반 동적 적응형 스트리밍 규격이다. (애플의 HLS와 라이벌이자 융합 표준). 영상의 마스터 설계도인 MPD (Media Presentation Description) 파일 1장과, 수만 개의 짧게 썰린 영상 조각(.m4s) 파일들로 구성되며, 비디오 플레이어가 MPD 지도를 읽고 뷔페 뷔페식으로 조각을 골라 먹는 아키텍처다.
-
필요성: 2000년대 후반. 3G 스마트폰 시대가 열렸다. 사람들이 지하철에서 100MB짜리 뮤직비디오를 본다. "아씨 동영상 틀었는데 10초 돌다가 멈추고 뺑뺑이(로딩 바) 돌고, 또 5초 나오다 멈추네! 안 봐 빡쳐!" 당시 스트리밍(Progressive Download)은 무조건 1개의 뚱뚱한 화질(720p) 파일만 쐈다. 터널 들어가서 인터넷이 10배 느려지면? 영상 다운받는 속도보다 눈으로 소비하는 속도가 더 빨라서(버퍼 바닥남), 영상이 "나 밥(데이터) 모자라!" 라며 그 자리에 멈춰 서서 랙(Buffering)을 유발했다. 넷플릭스 아키텍트의 극딜 처방: "야!! 화질 쨍쨍한 게 뭐가 중요해!! 영상 보다 1초라도 멈추면 고객은 바로 앱 지우고 환불해버린다!! [화질]을 찢어 죽여서라도 [멈춤 0%]를 무.조.건. 사수해!! 야 서버야! 비디오 1개를 해상도 5가지 버전으로 다 렌더링해서, 그걸 또 5초 단위의 깍두기 조각으로 수만 개 찢어놔!! 그리고 스마트폰아! 니가 5초마다 인터넷 핑(대역폭) 계산해서, 인터넷 빵빵하면 4K 조각 가져가고, 터널 들어가서 끊길 거 같으면 화질 다 뭉개진 144p 쓰레기 조각이라도 닥치고 주워가서 영상 절대 멈추게 하지 마 쾅!!!" 시청자의 인터넷 변덕(Fluctuation)에 맞춰, 1초 단위로 화질을 고무줄처럼 늘렸다 줄였다(Adaptive) 기만하는 우주 최강 버퍼링 방어막이 탄생했다.
-
💡 비유: **기존 스트리밍(Non-Adaptive)**은 식당에서 **'무조건 1kg짜리 거대한 통 스테이크 1덩이'**만 파는 겁니다. 배탈 난 사람(느린 인터넷)은 이거 먹다 목막혀서 켁켁대고 식사(영상)가 중단됩니다. **DASH (적응형 스트리밍)**는 **'회전초밥 뷔페'**입니다. 주방장(서버)은 고기 크기를 100g, 50g, 10g짜리(화질별) 접시 수만 개로 잘라서 레일에 돌립니다! 손님(스마트폰)이 자기 배 속 상태(인터넷 속도)를 1초마다 눈치 보고, 배가 부르면 10g(144p)짜리 조그만 거 집어 먹고, 소화 다 되면 100g(4k)짜리 큰 거 덥석 집어 먹어서 절대로 체하지 않고(버퍼링 없이) 식사를 끝까지 이어가는 마법의 눈치 게임입니다.
-
등장 배경:
- 모바일 네트워크의 치명적 변덕성(Volatility): 집안 유선 랜선과 달리, 폰은 들고 걸어 다니는 순간 음영 지역, 혼잡 지역(만원 지하철)을 거치며 인터넷 대역폭(Bandwidth)이 1Gbps에서 1Mbps로 수십 번씩 미친 널뛰기를 친다. 고정 화질로는 이 미친 파도를 절대 탈 수 없었다.
- CDN 엣지 장사의 폭발 (HTTP 맹신주의): 비싼 스트리밍 전용 프로토콜(RTSP/UDP)을 쓰려면 전 세계 100개국에 전용 스트리밍 비디오 서버를 비싸게 다 박아야 했다. "아 돈 아까워! 걍 동네방네 널린 싸구려 CDN(아파치 웹서버) 캐시에 정적 텍스트처럼 영상 조각(.ts) 얹어서 그냥 범용 HTTP(80포트)로 쏴버려!!" 비싼 비디오 장비의 종말을 고한 클라우드 원가 절감술이다.
┌─────────────────────────────────────────────────────────────┐
│ DASH 아키텍처의 심장: 10만 개 깍두기 조각과 MPD 지도(Map) 도해 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 🎬 [ 오리진 서버 (원본 영상 1개: 오징어게임 1시간) ] │
│ │
│ ======= [ 🔪 1차 수술: 트랜스코딩 & 분쇄기 융합 ] ======== │
│ │
│ ⚙️ [ AWS MediaConvert 인코딩 엔진 ] │
│ 1. 4K 화질 (10Mbps) ➔ 1초~5초 조각으로 3,000개 토막 냄 (0_4k.m4s, 1_4k.m4s...)│
│ 2. 1080p 화질 (5Mbps) ➔ 1초~5초 조각으로 3,000개 토막 냄 (0_1080p.m4s...) │
│ 3. 144p 쓰레기 화질 (0.5Mbps) ➔ 똑같이 3,000개 토막 냄 웩! │
│ 🌟 4. [MPD 파일 (Media Presentation Description)] 생성! │
│ ➔ "야! 0~5초 구간 4K는 저기 URL, 144p는 여기 URL 있어!" (전체 조각 주소록 맵) │
│ │
│ ======= [ 📱 2차 타격: 스마트폰 플레이어의 눈치 핑퐁 ] ========│
│ │
│ 👨💻 [ 유저 폰 (유튜브 앱) ] ➔ 처음 접속 시 MPD 지도 파일 딱 1장만 다운받음! │
│ │
│ ⏱️ 00:00초: (와이파이 빵빵) "오 인터넷 쩔어! 야 서버야 4K 1번 조각 내놔!" ➔ [화질 쨍쨍]│
│ ⏱️ 00:05초: (지하철 탐 랙걸림) 폰 왈: "어 쉣, 핑 개판이네? 나 4K 받을 힘 없어 💀"│
│ 🌟 "당장 2번 조각은 144p 쓰레기 화질로 노선 갈아타서 가져와!!" │
│ ➔ (화면 픽셀 갑자기 네모 깍두기로 깨짐. 근데 영상은 1초도 안 멈춤!! 🚀)│
│ ⏱️ 00:10초: (지하철 내림 빵빵) 폰 왈: "오케이 통신 회복! 다시 1080p 3번 조각으로 컴백!"│
│ │
│ 🌟 아키텍트 극딜: 서버는 지능이 없다! 그냥 썰어놓은 조각 1만 개만 S3에 던져놓고 방치함.│
│ 영상 화질을 올릴지 내릴지 결정하는 '뇌(Brain)'는 100% 클라이언트(스마트폰) 앱 │
│ 단에 박혀있다! 유저의 폰이 스스로 1초마다 A/B/C 화질 중 뭘 퍼먹을지(Pull) 결정하는│
│ 극강의 '클라이언트 주도적(Client-Driven) 상태 무결성 방어 아키텍처'다. │
└─────────────────────────────────────────────────────────────┘
[다이어그램 해설] "지하철 탈 때마다 유튜브 화질이 지 혼자 구려지는데 왜 영상은 안 멈추지?" 의 해답이다. 과거 100MB짜리 통짜 영상을 받을 땐, 10%쯤 받았는데 인터넷이 느려지면 남은 90MB를 가져올 때까지 화면이 버퍼링(뺑뺑이)에 걸렸다. DASH의 천재성은 '시간축 절단(Chunking)'과 '다중 화질 렌더링(Multi-bitrate)'의 십자 교차점에 있다. 영상을 5초짜리 레고 블록 10,000개로 박살 내놨다. 유저 폰 안에는 AAB (Adaptive Bitrate Algorithm) 엔진이 1초마다 눈알을 굴린다. "내가 방금 1번 조각 받을 때 속도가 10Mbps 나왔으니 다음 2번 조각은 4K 퀄리티 불러도 되겠지?" ➔ "어라? 2번 받을 땐 속도가 1Mbps로 떡락했네? 야! 3번 조각은 당장 144p 화질 주소(MPD 맵 참조)로 바꿔 찔러!" 서버(Netflix)는 아무런 부하(CPU 연산)를 지지 않고 정적 파일만 뱉어줄 뿐, 모든 상황 판단과 화질 너프(Nerf) 결정의 책임은 클라이언트에게 떠넘겨버리는 완벽한 서버 오프로딩(Off-loading) 융합이다.
- 📢 섹션 요약 비유: DASH 시스템의 클라이언트 주도권은 **'마라토너의 물 마시기'**와 똑같습니다. 서버(진열대)는 그냥 물, 이온음료, 포도당 주스 3가지를 10미터마다 바보같이 쭉 세팅해 놓기만 합니다. 뛰고 있는 마라토너(스마트폰 플레이어)가 자기 몸 상태(인터넷 속도)를 1초마다 체크해서 "어 지금 쌩쌩하네 포도당 주스 겟!", "어 지금 배 아프고 토할 거 같아(랙 발생), 걍 제일 싼 물 1잔만 낚아채자!" 라고 자기가 알아서 스스로 선택해 마십니다. 주최측(서버)이 선수 입에 억지로 음료를 쑤셔 넣는(Push) 게 아니라, 선수가 알아서 뽑아 먹는(Pull) 궁극의 자율 뷔페입니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
1. RTSP/RTMP의 죽음과 순수 HTTP 80 포트의 승리
왜 화려했던 스트리밍 전용 프로토콜들이 무식한 HTTP 텍스트 기반 DASH에 목을 따였는가?
- RTSP/RTMP (과거 플래시 비디오 시대의 제왕):
- 존나 똑똑했다. 서버가 유저와 1:1로 TCP 소켓(Stateful) 연결을 꽉 잡고, "어? 너 느려? 내가 비트레이트 조절해서 실시간으로 쏴줄게! (Server-Driven)".
- 파국 💥: 1. 비디오 서버 1대에 유저 1만 명이 붙으면 소켓 1만 개 유지하느라 서버 메모리 터져 죽음(Scaling 불가능). 2. 사내 망 방화벽(Firewall)에서 "어? RTMP 1935번 포트네? 이상한 포트 다 차단 컷!" ➔ 영상 안 나오는 집단 속출.
- DASH (HTTP 기반 바보 깡통 스트리밍의 반란) 🚀:
- "야! 전용 비디오 서버 다 갖다 버려!! 그냥 영상 조각(.m4s) 10만 개를 텍스트나 사진 파일 취급해서 AWS S3 (정적 깡통 창고)에 싹 다 때려 박아!!"
- 방화벽 무혈입성: 유저가 다운받는 주소는
http://.../1.m4s. 전 세계 어떤 빡센 방화벽도 인터넷 기본인 HTTP 80번, 443번(HTTPS) 대문은 무조건 활짝 열어둔다!! (방화벽 하이패스 100% 통과). - CDN 캐시 100% 꿀 빨기: 이게 진짜 자본주의다. CDN 엣지 노드들은 복잡한 스트리밍 소켓 로직은 모르지만, '단순한 정적 파일(HTTP GET)' 캐싱(복사)의 우주 신이다!! 넷플릭스는 걍 영상 조각을 CDN 통신사 앞마당에 밀어 넣기만 하면, 100만 유저가 접속해도 오리진(본사) 서버 CPU는 0% 찍고 꿀 빠는 미친 무한 확장의 마법(Stateless Scale-out)이 터진다.
2. Apple HLS vs MPEG-DASH (천하 통일을 향한 종교 전쟁)
똑같이 영상을 조각내는 기술인데, 생태계 패권을 잡기 위해 두 놈이 피 터지게 싸웠다.
-
Apple HLS (HTTP Live Streaming): 애플이 아이폰 만들면서 "플래시(Flash) 다 죽여버려!" 하고 선빵으로 만든 놈. 영상을 무식하게
.ts파일 덩어리로 자르고.m3u8지도 파일(Playlist)로 엮었다. 아이폰은 태생부터 이걸 커널 단에서 100% 밀어줘서 모바일 시장을 먼저 싹 쓸어 먹었다. -
MPEG-DASH (Dynamic Adaptive Streaming over HTTP): "야 애플 혼자 다 쳐먹는 꼴 못 본다!" 구글, 마소, 넷플릭스, 삼성 연합군이 뭉쳐서 만든 [국제 공인 표준 헌법]. HLS와 철학은 똑같지만, 애플의
.ts파일 대신 모던한.mp4 (fMP4)조각 규격을 써서 오디오/비디오 트랙을 자유자재로 다루고 파싱 속도를 올렸다. -
아키텍트의 피눈물 (이중 인코딩 지옥 💥): 백엔드 개발자들의 통곡. "아씨 아이폰 유저(HLS)랑 안드로이드/PC 유저(DASH)한테 둘 다 쏘려면, 원본 1개를 HLS용으로 1만 번 자르고, DASH용으로 1만 번 또 잘라서 아마존 S3 용량 2배로 돈 처먹어야 하네?! AWS 과금 폭탄 💀!!"
-
구원의 빛 (CMAF - Common Media Application Format 융합 ✨): 마이크로소프트와 애플이 결국 휴전 협정(CMAF)을 맺었다!! "야! 조각 파일(Chunk) 껍데기 알맹이는
fMP4딱 1개 표준 쇳덩이로 완벽 통일해서 똑같이 쓰자!! 대신 폰한테 길 알려주는 껍데기 텍스트 지도(Manifest)만 2장(Apple용 m3u8 1장, 안드로이드용 MPD 1장) 따로 얹어서 주면 끝이잖아!!" 인코딩 스토리지 비용을 정확히 50% 반갈죽 반 토막 쳐버린 미디어 클라우드 아키텍처 대통합의 피날레다. -
📢 섹션 요약 비유: HLS와 DASH의 전쟁은 **'비디오 테이프 규격 전쟁 (VHS vs 베타맥스)'**과 같습니다. 애플(HLS)이 선빵을 쳐서 시장을 반 먹었고, 구글 연합(DASH)이 나머지 반을 먹었죠. 비디오 가게(넷플릭스 서버) 사장님은 똑같은 영화를 애플 전용 테이프 1,000개, 구글 전용 1,000개 이중으로 만들어서 비싼 창고(S3)에 보관하느라 파산 직전이었습니다. 결국 둘이 합의(CMAF 표준 융합)해서 '안에 들어가는 마그네틱 필름(실제 영상 조각)'은 1개 규격으로 똑같이 공용으로 쓰고, 겉에 붙이는 '종이 라벨(지도 파일)'만 애플용, 구글용 2개로 따로 스티커 붙여 팔자! 라며 극적인 대통합 원가 절감을 이룩한 겁니다.
Ⅲ. 융합 비교 및 다각도 분석
딜레마: 일반 Progressive Download (MP4 쌩 통짜) vs DASH (조각 뷔페)
"걍 서버에 1GB짜리 movie.mp4 던져놓고 HTML5 <video> 태그 달면 끝 아님? 왜 삽질함?"
| 비교 잣대 | 통짜 다운로드 (Progressive Download / 구석기) | 적응형 스트리밍 (DASH / HLS 모던) | 아키텍트의 파멸과 튜닝 |
|---|---|---|---|
| 로딩 방식 | 1GB 덩어리 앞대가리부터 무식하게 순차적으로 쭉 받음. | 10MB짜리 레고 블록 조각 100개를 필요할 때마다 1개씩 핀셋 요청(GET)함. | 통짜는 중간부터 보려고 타임라인 넘기면 랙(버퍼링) 폭발 💥. DASH는 그 시간대 조각만 딱 부르면 끝! |
| 서버비(Cost) 증발 💀 | 유저가 영상 클릭하고 앞부분 1분 보다가 노잼이라고 뒤로 가기(종료) 누름 ➔ 근데 브라우저는 이미 백그라운드로 1GB 1시간 치 전체 영상을 다 다운받아버림(서버 트래픽 과금 폭탄 낭비 펑펑 💥) | 유저가 1분 보면, 스마트폰은 딱 그 '1분 치 조각(Chunk) 10개'만 다운받고 통신을 칼같이 끊어버림! (필요한 만큼만 Lazy Load). | 넷플릭스가 통짜 MP4 방식을 썼다면 유저 이탈 시 버려지는 오버 트래픽 과금으로 한 달 만에 파산했다. |
| 비트레이트(화질) 조절 | 한 번 1080p 파일 받기 시작했으면 터널 들어가도 죽으나 사나 1080p 고집하다 버퍼링 뻗음. | 터널 가면 즉시 144p 조각으로 갈아탐. 끊김 0%. | 화질 저하의 불만을 멈춤(렉) 방어의 쾌적함으로 상쇄시키는 철저한 심리학 융합. |
과목 융합 관점
-
운영체제와 메모리 공학 (DRM / EME 보호막 샌드박스 융합): 넷플릭스는 해커가 DASH 조각 파일(.m4s) 10,000개를 크롤링 봇으로 싹 긁어다가 합쳐서 불법 토렌트 영화로 훔쳐 가는 걸 어떻게 막을까? "야! AWS(서버)에서 조각 파일 만들 때 그 조각 하나하나의 뼛속 픽셀까지 싹 다 AES-128 암호화 쇳덩이(DRM Widevine/PlayReady)로 락(Lock)을 걸어 포장해서 쏴버려!!" 스마트폰이 암호화된 조각을 받았다. 근데 브라우저(자바스크립트) 단에서 비밀키로 복호화하면 해커가 메모리 덤프 떠서 훔쳐 간다(JS 취약점). 아키텍트 OS 심장 수술 (EME 융합 쉴드 🛡️): 브라우저(HTML5) 단의 EME (Encrypted Media Extensions) API가 융합 등판한다! 브라우저는 암호화된 깍두기를 직접 까지 않는다. "오 이거 암호 걸렸네? 내 자바스크립트로 안 열고! 스마트폰 밑바닥 OS 커널(안드로이드/iOS) 쇳덩이 속에 숨겨진 절.대. 해킹 불가능한 블랙박스 [안전 실행 구역(TEE, TrustZone)] 하드웨어 칩 안으로 이 암호 조각을 몰래 다이렉트로 쑤셔 넣어버려!!" 영상 복호화(까기)와 모니터에 빛 쏘기(렌더링)가 브라우저 밖 밑바닥 하드웨어 밀실에서 100% 격리(Isolation) 처리되므로 해커가 화면 녹화 프로그램(캡쳐)을 켜도 시커먼 까만 화면만 덜렁 찍히게 만드는 완벽한 콘텐츠 암호 융합 방벽술이다.
-
클라우드 공학 (ABR 알고리즘 - 엣지단 AI 머신러닝 융합): 스마트폰 깡통 앱이 "지금 4K 받을까 144p 받을까" 1초마다 어떻게 천재적으로 맞출까? 과거 알고리즘(Rule-based): "내 스마트폰 다운로드 버퍼에 영상 10초 치 남아있으면 화질 올려, 2초 치 남으면 쫄리니까 144p 깍두기로 화질 내려(Buffer-based)." 모던 넷플릭스 엣지 AI 진화 (Machine Learning ABR 발동 ✨): 단순 룰을 찢어버렸다! 넷플릭스 앱 단말기 내부에 가벼운 강화학습(RL) 신경망 봇이 돈다! "삐빅! 이 유저는 매일 아침 8시에 강남역 9호선을 타고 출근하는 패턴의 인간이다(과거 Data 학습). 지금 7시 59분에 지하철 탔지? 1분 뒤 강남역 구간은 역사적으로 LTE 대역폭이 10Mbps ➔ 1Mbps로 수직 낙하 데스밸리 헬파티 구간임!! 야 폰아! 지금 당장 인터넷 빵빵하다고 4K 조각 욕심내지 말고 컷해! 1분 뒤 터널 지옥을 대비해서 지금 남는 인터넷 속도로 미리미리 [1080p 중간 화질 조각]을 30초 치 미친 듯이 램(RAM)에 잔뜩 당겨와서 든든하게 쟁여놔(Pre-buffering)!!" 현재의 인터넷 핑(Ping)만 보는 게 아니라, 클라우드 빅데이터와 엣지 ML을 융합해 1분 뒤 미래의 대역폭 붕괴를 예언(Predict)하고 선제 방어하는 충격적인 자율주행급 비디오 스트리밍 방어 체계다.
-
📢 섹션 요약 비유: DRM과 EME 암호 융합은 넷플릭스의 **'현금 수송 작전'**과 똑같습니다. 넷플릭스(서버)가 영화 조각(돈다발)을 보낼 때 무조건 **'절대 안 뚫리는 티타늄 금고(DRM 암호화)'**에 넣어서 던집니다. 유저 폰 브라우저(일반 직원)는 이 금고 비밀번호를 아예 모릅니다(자바스크립트 해킹 차단). 브라우저는 금고를 받자마자, 핸드폰 깊숙한 지하 100층에 있는 **'철통 보안 VIP 벙커(하드웨어 TEE 칩셋, EME 통로)'**로 그대로 쏙 넘깁니다. 비밀번호는 벙커 안의 보스만 알고 있어서, 벙커 안에서 몰래 돈(영상)을 꺼내서 TV 화면으로 다이렉트 쏴줍니다. 밖에서 해커 100만 명이 브라우저를 털어봐야 깡통 금고 껍데기만 핥다가 엑스박스 찍히고 깜방 가는 극강의 우주 쉴드입니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — 저지연 스트리밍(Low-Latency DASH)의 부재가 부른 월드컵 축구 중계 스포일러 파국: 2026년 월드컵 결승전 90분 손흥민 패널티킥. 아키텍트가 넷플릭스처럼 예쁘게 DASH(HLS)로 5초짜리 깍두기 조각을 만들어(Chunking) 쐈다. 파국 발동 💥: "와아아아!!!!" 옆집 아저씨(케이블 TV)가 먼저 환호성을 지른다. 나는 아이패드로 숨죽여 보고 있는데, 내 화면의 손흥민은 아직 공 차려면 15초나 더 기다려야 한다(스트리밍 15초 지연 랙 💀)!! 이미 옆집 함성 소리 듣고 골 들어간 거 다 알아버려 긴장감 100% 폭사 멸망함.
- 아키텍트 팩폭 (Live Streaming의 태생적 저주): 넷플릭스(VOD 저장 영상)는 5초짜리 조각 1만 개를 1년 전에 다 인코딩 썰어서 서버에 박아뒀으니 광속이다(Lag 노상관). 하지만 생방송(Live) 월드컵은? 카메라가 찍어서 ➔ 방송국 인코더가 5초 분량 모이기를 기다렸다가 ➔ 그걸 5초짜리 덩어리로 썰고(Chunk) ➔ CDN에 복사해서 뿌리고 ➔ 유저 폰이 "어 새 조각 떴네" 하고 받아가는 데 최소 10초~30초의 무자비한 물리적 지연(Glass-to-Glass Latency) 파이프라인 랙이 필연적으로 발생한다.
- 초일류 메스 (CMAF CMAF Chunked Transfer 융합 🚀): "야! 방송국 인코더야! 5초 분량 영상 다 모일 때까지 기다렸다 썰지 마 미친아 1초가 급해!!" 아키텍트는 5초짜리 조각(Chunk) 하나를 다시 **0.1초 단위의 초미세 가루(Micro-chunk)**로 믹서기에 100번 갈아 찢어버린다(LL-DASH / CMAF)!! 카메라가 0.1초 찍은 첫 번째 가루가 나오자마자(Chunked Transfer Encoding 발동) 전체 5초가 다 완성되기도 전에!! 1번 가루부터 먼저 인터넷 HTTP 파이프(Stream)에 밀어 넣어 유저 폰으로 다이렉트 연사(Push)를 때려버린다!! 유저 폰은 가루 1번을 받는 0.1초 찰나에 즉각 화면에 렌더링을 치기 시작하여, 생방송 30초 랙을 ➔ 초저지연 2초(Sub 2-seconds) 컷으로 아작내며 TV와 스마트폰의 시간의 벽을 완전히 박살 낸 융합 튜닝의 마스터피스다.
-
시나리오 — 동적(Dynamic) Ad Insertion (서버 사이드 광고 삽입 SSAI)의 기만 융합술: 유튜브/티빙 스트리밍 아키텍트. "야! 영상 중간 15분 지점에 15초짜리 광고 넣어야 해!"
- 구석기 안티패턴 (Client-side Ad 💩): 유저 폰(유튜브 앱) 왈 "어? 15분 됐네? 본편 영상 잠시 일시 정지(Pause)! 야 광고 서버야! 15초짜리 치킨 광고 MP4 파일 따로 내놔! (화면 깜빡, 로딩 뺑뺑이 1초 랙) 광고 틂 ➔ 다 보면 다시 본편 서버 찔러서 재생!". 고객은 앱에서 1초 로딩 검은 화면(랙) 튀어나오는 순간 "아씨 짜증나네" 하고 해킹앱(애드블락) 켜서 광고 텍스트 다 차단해 버린다(회사 광고 수익 파산).
- 아키텍트의 극딜 기만 수술 (SSAI: Server-Side Ad Insertion 융합 🎯): "야!! 클라이언트(폰)한테 광고 틀라고 갑질 시키지 마!! 폰 새끼들은 해킹(Ad-block)해서 다 뚫어버리잖아!!"
아키텍트는 **서버 단(Backend MPD 맵 조작)**에서 수술을 집도한다!
본편 영상 조각 100개(
1.m4s ... 100.m4s) 사이에다가, 백엔드 로직이 몰래 **"치킨 광고 조각 3개(ad1.m4s, ad2.m4s)"**를 풀로 붙여서 103개짜리 1통의 무결점 MPD(지도 파일) 리스트로 완벽하게 위장 스티칭(Stitching) 조립을 쳐서 폰한테 던져버린다!! 유저 폰은 이 조각이 본편 영화인지 15초 광고인지 뇌(구분)가 1%도 없다! 걍 지도에 적힌 대로 순서대로 조각들을 퍼먹으며 스무스하게 렌더링 칠 뿐이다(버퍼링 0초 무결점 전환). 그리고 애드블락(광고 차단기)은 "이게 본편이야 광고야?" 분간을 못해 눈뜬장님이 되어 광고 차단을 100% 실패하게 된다. 로딩의 마찰(Friction)과 광고 차단의 창과 방패 전쟁을 서버단(SSAI)으로 멱살 잡아 끌고 와 일거양득으로 소각시킨 자본주의 미디어 엔지니어링의 최고존엄이다.
┌─────────────────────────────────────────────────────────────┐
│ 실무 아키텍처: DASH(적응형 스트리밍) 스마트폰 클라이언트 뇌(ABR) 핑퐁 맵 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 🗺️ [ 1단계: 마스터 지도 파일(MPD) 파싱 (Parsing) ] │
│ - 스마트폰 앱이 넷플릭스 접속 ➔ XML 지도(MPD) 1장 딱 받음. │
│ - 지도 내용: "자, 0~5초 구간! 4K 조각은 100MB, 1080p는 30MB, 144p는 1MB임!"│
│ │
│ ======= [ 🧠 2단계: 스마트폰 ABR(적응형) 엔진 풀가동!! ] ========│
│ │
│ 📡 [ 1회차 0~5초 구간 다운로드 (Test Ping) ] │
│ - 스마트폰 왈: "음 지금 인터넷 빵빵하네 속도(Bandwidth) 100Mbps 나옴 ㅋ │
│ 가장 최고존엄 화질인 [4K 100MB 조각] URL 찔러서 당장 가져와버려!! 쾅!" │
│ ➔ (유저 화면: 오징어게임 4K 쨍쨍하게 나옴 우왕 굿 ✨) │
│ │
│ ======= [ 🚨 3단계: 지옥철 터널 진입 (대역폭 폭락 파국) ] ======== │
│ │
│ 💀 [ 2회차 5~10초 구간 다운로드 (Survival Mode) ] │
│ - 스마트폰 왈: "삐빅 쉣!! 터널 들어와서 인터넷 속도 2Mbps로 떡락 1/50 토막 남 💥 │
│ 이대로 가다간 [100MB 4K 조각] 다 받는 데 50초 걸림 (영상 멈추고 45초 로딩 버퍼링각)"│
│ - 🌟 [결단(Adaptation) 발동!]: "야!! 4K 자존심 당장 쓰레기통에 찢어 던져!!! │
│ 화면 깍두기 돼서 욕 좀 먹어도, 영상 멈춰서 환불(이탈) 터지는 거보단 100배 나음!! │
│ 지도(MPD) 다시 펴! 2Mbps 속도로 5초 안에 받을 수 있는 젤 밑바닥 쓰레기 화질 찾어!│
│ [1MB짜리 144p 조각] 저거 URL 당장 GET 쳐서 입에 쑤셔 넣어 쾅!! 살아야 해!!" │
│ │
│ 🌟 아키텍트 극딜: 넷플릭스의 심장은 화질(Quality)이 아니라 [생존(Survival)]이다. │
│ 유저는 화질이 살짝 깨지면 "어 터널이라 그런갑다" 참는다. 하지만 뺑뺑이(로딩 바)가 │
│ 도는 순간 빡쳐서 3초 만에 앱을 끈다. DASH는 [화질의 일관성]을 도끼로 찢어 버리고 │
│ [무정단 재생(Zero Buffering)]이라는 유일한 목숨줄 1개에 모든 아키텍처를 희생 융합 │
│ 시킨 극단적 Trade-off(타협) 공학의 마스터피스다. │
└─────────────────────────────────────────────────────────────┘
[다이어그램 해설] "DASH랑 옛날 스트리밍이랑 대체 뭐가 다른 거임?" IT 면접 필수 족보, 적응형 스트리밍(ABR: Adaptive Bitrate)의 처절한 핑퐁 도해다. 핵심은 서버(Server)는 바보라는 거다. 서버는 그냥 도마 위에 4K 고기, 1080p 고기, 144p 고기를 잔뜩 썰어놓고 구경만 한다(Stateless). 화질을 비틀어 꺾는 '운전대(Control)'는 100% 클라이언트(스마트폰 앱)의 뇌 속에 존재한다. 스마트폰은 1개 조각(Chunk)을 다운받을 때마다, 초시계로 '얼마나 빨리 다운받았는지(Throughput)'를 계산하여 현재 통신망 상태를 역추적(Estimation)한다. 이 숫자를 바탕으로 다음(Next) 5초 미래에 가져올 조각의 화질 퀄리티를 상향(Up-shift)/하향(Down-shift) 스위칭 치는 1인칭 생존 서바이벌 게임이다. 끊김(Rebuffering)을 0%로 만들면서도 가능한 최고의 쨍한 화질 선(Line)을 아슬아슬하게 줄타기하는 이 폰 단말기 속 ABR 알고리즘 최적화야말로 스트리밍 기업(유튜브, 넷플)의 코어 밥줄 영업 기밀(Trade Secret)이다.
도입 체크리스트
- 기술적: 사내 VOD 스트리밍 망을 만드는데, AWS S3 창고에 영상을 HLS/DASH 깍두기 조각(Chunk) 1만 개로 썰어 넣어 놓고, 앞단 CDN(CloudFront 캐시) 세팅에
Query String이나Cookie를 모조리 다 통과(Forward)시키게 포워딩 정책을 걸었는가? 초주검 CDN 붕괴 💥: "야 이 미친 타자기야!! 네가?user_id=123쿼리스트링을 다 살려서 엣지(Edge)로 쏘게 만들면? 1만 명의 유저가 똑같은오징어게임 1번조각.m4s을 달라고 찔러도, 쿼리스트링이 다 다르니까 CDN 엣지는 '어? 이건 다 서로 다른 파일(Cache Miss)이네?' 뇌 정지 오면서 모든 캐싱(Cache Hit)이 0%로 산산조각 나고 1만 명 트래픽이 몽땅 오리진(본진 AWS) 서버로 관통해 다이렉트 융단폭격 꽂혀서 서버 터져 죽는다 쾅!!" 아키텍트 철통 방벽: 하늘이 두 쪽 나도 미디어 정적 조각(m4s, ts)을 CDN에 태울 땐!! "CDN 캐시 키(Cache Key) 세팅에서 Query String, Header, Cookie 이딴 잡다한 텍스트 찌꺼기 싹 다 무시(Ignore/Drop)하고!! 오.직. 순수한 [URI 경로 파일명] 단 1개만 매칭해서 무지성 100% 강제 캐싱(Cache Hit) 때려 박게 록온 쳐라 쾅!!" 캐시(Cache) 히트율 99%를 사수하지 못하는 동영상 아키텍처는 한 달 클라우드 트래픽 과금(Bill Shock) 100억 맞고 즉각 회사 부도로 파산한다. - 운영·보안적: 영상 조각 크기(Chunk Size)를 몇 초로 썰어(Encoding) 놓을 것인가? 주니어 왈: "아 10초 단위로 큼직하게 썰어놓자! 조각 개수 줄어들고 관리 편함 개꿀 ㅋ" 파국 발동 💥: 터널에 들어가서 속도가 떡락했다. 폰이 "어 쉣 화질 144p 쓰레기로 낮춰줘!" 살려달라 외쳤다. 근데 조각이 10초짜리(Fat)면? 폰은 꼼짝없이 이미 1번 조각(4K) 다운로드를 지시해버린 상태라 그 무거운 10초 덩어리가 폰에 다 떨어질 때까지 화질 변경(Adaptation) 스위칭 기어가 10초 동안 콱 물려 먹통 락킹(Lock) 되어 버린다!! 그 사이 영상은 버퍼링 뺑뺑이가 터지며 멈춰버렸다 💀. 아키텍트 융합 튜닝 (Chunk Size Trade-off): "야! 조각 크기 10초는 생존력이 떨어져 다 죽어!! 무.조.건. 짧게 2초 단위(Short Chunk)로 아주 잘게 토막 내서 찢어 썰어라!! 그래야 인터넷 널뛰기 환경에서 2초마다 화질 기어를 팟팟팟! 변속(Swift 스위칭)해가며 끊김 없이 완벽 방어 회피 기동이 가능해진다 쾅!!" 단, 2초로 너무 잘게 썰면 조각 1만 개 ➔ 5만 개로 폭증하여 MPD(지도 파일) 텍스트가 존나 뚱뚱해져서 초기 로딩(TTFB) 랙이 터지고 파일 헤더 오버헤드가 급증하는 치명적 부메랑(-)을 맞는다. 생존 스피드(2초) vs 파일 관리 부하(10초)의 극한의 밀당 타협 줄타기(Optimal Segment Size)가 미디어 아키텍트의 수명 단축 구간이다.
안티패턴
-
스마트폰 단말(Client) 캐시 무시와 '동적 MPD(지도)' 폭주 오버헤드 (The Live Manifest 늪): 라이브(Live) 스포츠 생중계 DASH 아키텍처. 생방송이니까 앞으로 10초 뒤의 미래 영상(조각) 주소가 아직 안 만들어졌다. 그래서 DASH 지도 파일(MPD)이 주기적으로 계속 갱신(Update)되어야 한다. 주니어 프론트엔드 개발자가 "앱 1초마다 무조건 새로고침해서 MPD 맵 파일 최신판 서버에서 계속 다운받게 짜자 ㅋ" 서버 폭사 💥: 100만 명 월드컵 생중계 동시 접속. 100만 대의 폰이 1초에 1번씩 "야 새 지도(MPD) 파일 줘!" 라며 100만 TPS짜리 HTTP GET 폭격을 서버 대가리에 꽂았다. CDN이고 뭐고 MPD 텍스트 파일 응답만 해주다가 1분 만에 시스템 100% 셧다운 방송 사고 파국 엔딩 💀. 아키텍트 생존 메스 융합 (Manifest Time-to-Live 튜닝 쉴드 🛡️): "야 이 미친 놈아!! 지도 파일(MPD)을 왜 1초마다 받아 서버 뒤져!! MPD 파일 헤더에
minimumUpdatePeriod="PT5S"(최소 업데이트 주기 5초) 록온 강제 방벽을 쑤셔 박아 던져라!! 이 태그 1줄이 박히면 클라이언트 앱이 아무리 미친 듯이 새로고침(F5)을 눌러대고 지랄 발광을 해도, 브라우저 깡통 뇌에서 '어 5초 아직 안 지났네? 서버 찌르지 말고 아까 다운받은 거 걍 재활용(Local Cache) 해 ㅋ' 라며 100만 번의 쓰레기 API 콜 폭격을 단말기 끝단(Edge) 선에서 모조리 원천 증발 척살 차단(Drop)해 버린다!!" 서버의 목숨을 클라이언트(앱)의 통신 양심에 맡기지 마라. 서버 껍데기(MPD) 자체에 무자비한 캐시 수갑(Constraint 룰)을 채워 폰한테 강제로 던져버려야 100만 TPS 폭주 디도스에서 생존한다. -
📢 섹션 요약 비유: 클라이언트 MPD 무한 호출 파국은, 100만 명의 등산객(스마트폰)이 산 밑 지도 안내소(서버) 아저씨한테 "아저씨 1미터 올라갈 때마다 새로운 지도 1장씩 계속 새로 프린트해서 주세요!" 라고 진상 100만 번 부리는 미친 짓입니다(아저씨 복사기 불탐 사망 💥). 아키텍트(대장)는 아예 1장짜리 지도 맨 첫 장 위에 빨간펜으로 굵게 써놓습니다!! "※ 경고: 100미터 올라가기 전까진 절대!! 안내소 창구와서 새 지도 달라고 징징대지 말고 아까 준 거나 똑바로 쳐보고 가라 쾅!! (minimumUpdatePeriod="100M")" 이 문구 1줄 덕분에 안내소 아저씨(서버)의 일거리(트래픽)가 1/100로 대폭락 감소하여 심장마비 폭사를 면하는 극강의 인프라 방어 꼼수입니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 낡은 점진적 다운로드 (1개 통짜 파일 쌩 밀기) | 모던 DASH 적응형 뷔페 (1만 개 쪼가리 + 핑퐁 융합) | 개선 효과 |
|---|---|---|---|
| 정량 (품질) | 터널 들어가서 랙 걸리면 버퍼링 뺑뺑이 10초 멈춤 폭사 | 터널 즉시 144p 화질로 꺾어버려 1바이트 멈춤 0초 컷 | 대국민 체감 동영상 멈춤 및 버퍼링 불량(Rebuffering Rate) 99% 영구 소거 🚀 |
| 정량 (비용) | 유저 1분 보다 나가도 백그라운드 1시간 치 1GB 다 땡겨서 낭비 | 1분 봤으면 딱 1분 치 10MB 쪼가리만 핀셋으로 받고 끝냄 | 불필요한 클라우드 버려지는 Network Egress 트래픽 과금 80% 압살 절감 💰 |
| 정성 (인프라) | 비싸고 방화벽 다 막히는 전용 미디어 쇳덩이(RTSP) 서버 강제 | 전 세계 굴러다니는 가장 싸구려 동네 Nginx 웹 서버 + CDN 깡통으로 퉁침 | 값비싼 레거시 비디오 생태계를 순수 HTTP 웹(Web) 100% 천하 대통일 무혈 장악 🛡️ |
미래 전망
- WebRTC 융합과 초저지연 (Sub-second)의 진격 파괴술: "야 DASH 너무 쩐다 완벽함 ㅋ!" 한계의 봉착 💥: DASH는 영상을 [5초 조각]으로 자르고, 유저가 이걸 다운(Pull)받아 보는 구조라, 라이브 생중계(스포츠) 시 필연적으로 **10초~20초의 태생적 랙 타임 딜레이(지연)**를 하늘이 두 쪽 나도 극복할 수 없는 거북이 태생이다. "야! 주식 0.1초 단타 실시간 차트 영상, 원격 드론 레이싱 제어에 10초 딜레이면 다 꼬라박고 파산한다!!" 차세대 메가 트렌드! 넷플릭스용 뚱뚱한 DASH를 쓰레기통에 찢어버리고, 카카오톡 영통/줌(Zoom) 화상 회의에 쓰던 극단적 0.1초 초저지연 핏줄인 WebRTC (웹 실시간 통신 UDP/RTP 융합 🚀) 엔진이 1:N 스트리밍 대관식 무대로 멱살 잡혀 융합 강림했다!! "야! 영상 5초 조각 모일 때까지 기다렸다 썰지 마 미친아!! 카메라가 1프레임 찍자마자!! 0.01초 단위로 도마에서 썰면서(Fragmented) 동시에 유저 모니터로 무지성 UDP 직통 스트리밍 쏴 제껴 쾅!!!" 화질 빵빵함(DASH)을 무참히 포기하는 대가로, 화면과 현실의 0초 동기화(Zero-latency)를 쟁취해 낸 넥스트 클라우드 미디어 트렌드의 피 터지는 스위칭 튜닝술이다.
- AI 초해상도 (Super Resolution)와 ABR 클라이언트 뇌의 궁극적 도약: 인터넷이 똥이라서 서버에서 144p(깍두기 화질) 조각을 받아왔다. 유저가 화면 깨진다고 앱을 지우려 한다. 클라이언트 디바이스(스마트폰 NPU) 엣지 AI 폭발 ✨!!: "야 서버야 넌 걍 144p 쓰레기 쏴줘! 내가 내 핸드폰 아이폰 15 프로 대가리에 달린 AI 전용 NPU 반도체 칩셋(뉴럴 엔진) 파워로!! 이 144p 깍두기 영상 픽셀 빈 공간을 AI 딥러닝 추론 연산(Upscaling)으로 지 혼자 0.01초 만에 색칠 공부로 다 채워 메꿔서!! 내 모니터 화면에는 4K 급 초고화질로 뻥튀기(Super Resolution 융합 렌더링) 시켜서 눈알에 박아줄게 쾅!!!" 통신사 인터넷 망(파이프)은 가장 가벼운 쓰레기 화질만 날려 보내 네트워크 비용(Bandwidth)을 1/100로 압살 시키고, 잃어버린 화질(Quality)은 오직 클라이언트 끝단 엣지(Edge) 스마트폰의 미친 AI 연산(Computing) 파워 뇌로 100% 복구 상쇄(Off-loading)시켜 버리는 차세대 미디어-AI 클라우드 생태계의 충격적인 십자 융합이다.
참고 표준
- MPEG-DASH (ISO/IEC 23009-1): 구글, 삼성 넷플릭스 등 안드로이드/PC 진영 연합군이 뭉쳐 애플 HLS 독재를 박살 내고자 선언한 통일 헌법. "비디오를 무조건 잘게(Chunk) 찢고, 인터넷 속도 눈치 보며(Adaptive) 갈아타되, 무조건 전 세계 공용인 평범한 HTTP(80포트) 파이프만 타라!" 이 무지성 단순함으로 거실 스마트 TV부터 지하철 스마트폰까지 100% 웹 생태계를 집어삼킨 궁극의 미디어 전송 바이블.
- MPD (Media Presentation Description / 매니페스트 지도 파일): DASH 아키텍처의 영혼이자 뇌(Brain). 비디오 조각 1만 개가 어디 숨겨져 있는지(URL), 코덱이 뭔지(H.264), 화질별로 1번 파일이 뭔지 엑셀처럼 빽빽하게 적혀있는 1장짜리 XML 안내 데스크 문서. 폰은 태어나자마자 이 지도 1장부터 먼저 다운로드받고 뇌를 가동하여 뷔페 쇼핑 핑퐁을 시작한다.
"가장 완벽한 화질을 끝까지 고집하는 자는 10초의 버퍼링 지옥 속에서 유저를 분노의 엑스박스(Exit)로 내몰고 산화한다. 진정한 생존은 부끄러운 144p 깍두기 화면으로의 추락을 기꺼이 0.1초 만에 수용하는 자본주의적 적응(Adaptive)에 있다." 1시간짜리 10GB 통짜 영화를 한 번에 쏘아대며 네트워크 대역폭(Bandwidth)을 무자비하게 터트리던 옛날 스트리밍 서버(Progressive)의 오만함은, DASH(적응형 스트리밍)라는 잔인한 도마 위에서 수만 개의 5초짜리 레고 블록(Chunk) 조각으로 난도질 찢어발겨 지며 비참하게 종말을 고했다. DASH의 위대함은 통신 프로토콜에 있지 않다. 통제권(Control)을 쥐고 흔들던 서버의 똑똑한 뇌(RTSP)를 망치로 부숴 쓰레기통에 폐기하고, 서버를 그저 1만 개의 조각 파일을 S3 창고에 처박아두고 입 닫는 바보 깡통(Dumb Storage)으로 전락시킨 데 있다. 그리고 찰나마다 요동치는 더러운 무선 인터넷(4G/5G) 파도 위에서, "다음 5초 조각은 4K를 뜯어먹을까, 144p 쓰레기를 주워 먹을까" 치열하게 눈치를 살피며 뷔페를 고르는 모든 비루한 선택과 판단 연산(ABR Algorithm)의 무게를 오롯이 클라이언트(스마트폰 앱)의 뇌 속으로 100% 짬처리(Off-loading) 전가해 버렸다. 비록 인코딩 서버가 화질 5개 버전으로 영상을 5번이나 다시 굽느라 클라우드 CPU 과금(Cost)이 폭파되고 스토리지가 5배 뚱뚱해지는 출혈(Trade-off)을 감수할지언정, 방화벽(HTTP 80)을 100% 무혈 통과하고 싸구려 동네 CDN 엣지 통신망에 빌붙어(Piggybacking) 단 1명의 유저라도 결코 "재생 멈춤 버퍼링 뺑뺑이"의 지옥 랙(Lag)을 보지 않게 방어해 내는 이 극악의 '무정단 생존 융합 파이프라인'. 이것이야말로 넷플릭스와 유튜브가 지구촌 80억 명의 안방 거실 TV와 지하철 스마트폰의 트래픽을 단 한 번의 끊김도 없이 삼켜버린 21세기 클라우드 네이티브(Cloud Native) 미디어 배포의 가장 뻔뻔하고도 위대한 승리 공식인 것이다.
- 📢 섹션 요약 비유: 낡은 통짜 다운로드(Progressive) 방식은, 손님이 '10L짜리 거대한 통나무 물통' 1개를 낑낑대며 집까지 한 번에 들고 가려는 멍청한 욕심입니다. 가다가 다리가 아프면 통나무를 내려놓고 10분 동안 쉬어야 해서(버퍼링 랙 멈춤 폭발) 집에 도착을 못 하죠. DASH 깍두기 조각 방식은, '종이컵 1잔 분량 물(5초짜리 영상 조각)' 수만 잔을 바닥에 쭉 늘어놓고 한 잔씩 핀셋으로 쏙쏙 빼 마시며 걸어가는 겁니다! 다리가 튼튼하면(인터넷 빠름) 큰 벤티 사이즈 컵(4K 조각)을 팍팍 집어 들고, 다리가 아프고 지치면(인터넷 느려짐) 욕심 버리고 소주잔 크기(144p 조각)로 사이즈를 팍 줄여서 집어 들고 계속 걸어갑니다! 컵 크기(화질)는 들쭉날쭉 변하지만, 단 한 번도 멈춰 서서 쉬지 않고(Zero 버퍼링 무정단 쾌속 🚀) 집(목적지 영상 끝)까지 무조건 도착하게 만드는 궁극의 생존력 유연성 튜닝입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| Adaptive Bitrate (ABR 적응형 비트레이트) | DASH 아키텍처의 핵심 뇌. 유저 폰에 내장되어 1초마다 인터넷 핑(Ping 속도)을 엑셀로 계산함. "음 통신 속도 나락 갔네! 야 다음 조각은 4K 찌르지 말고 144p 쓰레기 화질 주소로 변경해서 가져와 살아남아!" 라고 스티어링(Steering)을 꺾어버리는 생존 지휘관. |
| MPD (Media Presentation Description) | 영상 1만 개 조각 파일 이름과 주소, 화질이 빼곡히 적혀있는 1장짜리 XML 안내 지도. 유튜브 앱 켜자마자 제일 먼저 이 텍스트 지도 1장 다운받고, 이걸 보면서 폰이 뷔페식으로 조각을 골라 먹는 네비게이션 헌법 문서. |
| HLS (HTTP Live Streaming) | 애플(Apple)이 만든 DASH의 영원한 맞수. 철학은 DASH랑 100% 똑같은데(조각 내서 HTTP로 쏘기), 애플폰 생태계 독재를 위해 지들 전용 조각 확장자(.ts)랑 전용 지도 파일(.m3u8) 규격 껍데기만 살짝 다르게 비틀어 포장한 놈. |
| CDN (Content Delivery Network) | DASH가 비싼 전용 비디오 스트리밍 장비(RTSP)를 다 때려 부술 수 있었던 1등 공신 이유. 잘게 썰린 영상 조각(.m4s)은 걍 정적 파일 텍스트 쪼가리일 뿐이라, 동네방네 흔해 빠진 싸구려 CDN 캐시 서버 하드디스크에 얹어 복사해 뿌려버리면 100만 TPS 확장(Scale-out)이 공짜로 뚫려버림. |
| Progressive Download (점진적 다운로드) | DASH 나오기 전 옛날 똥 방식. MP4 통짜 파일 1개를 걍 다운로드 링크 걸어둠. 인터넷 1바이트라도 끊기면 화면 뺑뺑이 돌고 멈춰버림. 유저가 1분 보다 영상 끄고 나가도 폰이 1시간 분량을 몰래 다 다운받아 버려서 비싼 클라우드 트래픽 과금 요금 폭탄 터트리는 쓰레기. |
👶 어린이를 위한 3줄 비유 설명
- 지하철이나 엘리베이터에 타면 스마트폰 인터넷이 갑자기 엄청 느려지죠? 옛날 방식(통짜 동영상)은 인터넷이 느려지면 동영상이 버티지 못하고 뺑뺑이(버퍼링 로딩 바)가 뜨면서 화면이 "뚝!" 멈춰서 엄청 화가 났어요.
- 하지만 유튜브나 넷플릭스가 쓰는 DASH(대시) 마법은 영화 1편을 엄청 짧은 **'2초짜리 깍두기 영상 조각 수만 개'**로 가위로 다 잘게 썰어놓고 시작해요! 화질 엄청 좋은 4K 조각, 화질 나쁜 깍두기 조각을 버전별로 다 만들어 둬요.
- 스마트폰이 자기가 알아서 눈치를 슬금슬금 보다가! 인터넷이 느려지면 "야! 멈추면 안 돼! 화면 퀄리티 좀 뭉개지더라도 제일 용량 작고 싼 깍두기 화질(144p) 조각 가져와서 억지로 화면에 빨리 띄워!!" 라며 멈추기 전에 0.1초 만에 화질을 휙! 갈아 끼워버려(Adaptive 적응형) 영상을 절대 안 끊기게 만드는 천재적인 눈치 게임 생존술이랍니다!