본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Backend

라이브 스트리밍의 구조: 인코딩, 세그먼트, ABR, CDN

작성 2026. 10. 21.추가
목차8개 항목
출처와 참고

ByteByteGo의 System Design 101 가이드 「Live Streaming Explained」를 바탕으로 재구성한 노트다.

라이브 스트리밍이란

일반 스트리밍(VOD)은 미리 올려 둔 파일을 재생한다. 라이브 스트리밍은 지금 촬영 중인 영상을 수 초 지연으로 수많은 시청자에게 보낸다. 미리 처리할 시간이 없으므로 인코딩·분할·배포를 흐르는 동안 계속 해야 한다.

파이프라인

flowchart TB
  s1["1. 캡처<br/>카메라·마이크 → 원본 영상·음성"]
  s2["2. 송출<br/>방송 도구(OBS 등) → 수집(ingest) 서버<br/>[RTMP, SRT, WebRTC(WHIP)]"]
  s3["3. 인코딩<br/>압축 + 코덱(H.264, H.265, AV1) → 데이터 크기를 크게 줄인다<br/>화질별로 여러 벌(1080p, 720p, 480p ...) 동시 생성"]
  s4["4. 분할<br/>몇 초 단위 세그먼트로 자르고, 목록 파일(manifest) 갱신"]
  s5["5. 배포<br/>원본 서버 → CDN 엣지 서버로 확산<br/>[HLS, DASH]"]
  s6["6. 재생<br/>시청자 플레이어가 목록을 읽고 세그먼트를 받아 디코딩·재생"]
  s7["7. 저장<br/>다시 보기용으로 세그먼트를 스토리지에 보관 → 이후 VOD로 제공"]
  s1 --> s2 --> s3 --> s4 --> s5 --> s6 --> s7

압축과 코덱

압축은 프레임 사이에 바뀌지 않는 부분(배경)을 반복 저장하지 않고, 움직이는 부분의 차이만 담는 원리다. 코덱은 효율이 좋을수록 같은 화질을 더 적은 비트로 보내지만 인코딩 연산이 무겁다. 호환성은 H.264가 가장 넓고, H.265·AV1은 같은 화질에 더 적은 대역폭을 쓴다.

세그먼트와 적응형 비트레이트

영상을 몇 초 단위 조각으로 자르면 일반 HTTP 파일처럼 다룰 수 있다. 그래서 CDN에 캐시할 수 있고, 시청자는 조각을 하나씩 받으며 재생한다.

적응형 비트레이트(ABR, Adaptive Bitrate Streaming) 는 같은 구간을 화질별로 여러 벌 만들어 두고, 플레이어가 네트워크 상태를 보며 조각마다 화질을 바꿔 받는 방식이다. 지하철에서 화질이 잠깐 떨어지지만 끊기지 않는 이유다. 그래서 3·4단계에서 화질별 파일을 함께 만든다.

CDN

시청자 수만 명이 원본 서버 한 곳에 몰리면 버티지 못한다. 세그먼트를 CDN 엣지 서버로 퍼뜨려 시청자가 가까운 엣지에서 받게 하면 지연과 원본 부하가 모두 준다 → CDN

프로토콜

프로토콜구간특징
RTMP송출(방송 도구 → 수집 서버)원래 플래시 재생용이었지만 지금은 송출 표준으로 남았다. 재생에는 쓰지 않는다
SRT송출UDP 기반으로 불안정한 망에서도 손실을 복구하며 보낸다
HLS (HTTP Live Streaming)시청애플이 만든 HTTP 기반 방식. 애플 기기가 기본 지원하고 가장 널리 쓰인다
DASH (MPEG-DASH)시청국제 표준 HTTP 기반 방식. 애플 기기는 기본 지원하지 않는다
WebRTC송출·시청1초 미만 지연. 화상 회의·양방향 방송용. 시청자가 많으면 미디어 서버(SFU) 비용이 크다 → WebRTC

HLS와 DASH는 모두 ABR을 지원하고, 같은 세그먼트 형식(CMAF)을 함께 쓰면 하나의 인코딩으로 두 방식을 모두 서빙할 수 있다.

지연 시간 등급

등급지연방식쓰임
일반10~30초표준 HLS·DASH (세그먼트 몇 개를 버퍼링)일방향 방송
저지연2~5초LL-HLS, 저지연 DASH (부분 세그먼트를 미리 전송)채팅이 붙은 라이브 방송, 스포츠
실시간1초 미만WebRTC화상 회의, 경매, 양방향 방송

지연을 줄일수록 버퍼가 얇아져 끊김에 약해지고, 대규모 배포 비용이 오른다.

정리

  • 라이브 스트리밍은 캡처 → 송출 → 인코딩 → 분할 → CDN 배포 → 재생이 쉬지 않고 흐르는 파이프라인이다.
  • 세그먼트로 자르면 HTTP 파일처럼 CDN에 캐시할 수 있고, 화질별 사본을 두면 플레이어가 망 상태에 맞춰 고른다(ABR).
  • 송출은 RTMP·SRT, 시청은 HLS·DASH가 기본이고, 1초 미만이 필요하면 WebRTC를 쓴다.
  • 지연과 안정성·비용은 맞바꾸는 관계다.

관련 노트: CDN, WebRTC, 대규모 서비스 기술 스택 해부, 블록·파일·오브젝트 스토리지, 동영상 스트리밍 서비스 설계: Netflix·YouTube

원본 기록2

댓글

GitHub 계정으로 댓글을 남길 수 있어요.