스트리밍
IT 위키
- Streaming
- 미디어 파일 전체를 내려받기 전에 도착한 부분부터 곧바로 재생하는 전송 방식
| 구분 | 다운로드 | 스트리밍 |
|---|---|---|
| 재생 시점 | 파일을 전부 받은 뒤 | 받으면서 바로 |
| 초기 대기 | 길다 (파일 크기에 비례) | 짧다 (버퍼 채울 시간만) |
| 저장 | 단말에 파일이 남는다 | 버퍼에만 있고 재생 후 버려진다 |
| 저장 공간 | 파일 크기만큼 필요 | 거의 필요 없다 |
| 저작권 보호 | 파일이 남아 불법 복제에 취약 | 상대적으로 유리 |
| 네트워크 | 끊겨도 이어받기 가능. 전송 후 재생은 끊김 없음 | 대역폭이 흔들리면 재생이 끊긴다 |
| 실시간 방송 | 불가능 | 가능 |
| 모바일 적합성 | 저장공간·요금 부담 | 즉시성이 좋아 적합하나 망 품질에 민감 |
- 절충안으로 프로그레시브 다운로드가 있다. HTTP 로 파일을 받으면서 앞부분부터 재생하는 방식으로, 파일은 남지만 대기 시간은 짧다.
| 방식 | 프로토콜 | 특징 |
|---|---|---|
| RTP/RTSP | UDP 기반 | 서버가 밀어 준다(Push). 지연이 낮지만 방화벽·NAT 통과가 어렵고 서버가 상태를 관리해야 한다 |
| HTTP 적응적 스트리밍(HAS) | TCP/HTTP | 콘텐츠를 수 초 단위 세그먼트로 쪼개고 화질별로 여러 벌 준비한다. 단말이 대역폭을 보고 다음 세그먼트의 화질을 스스로 고른다(Pull) |
| HLS | Apple | HAS 의 구현. m3u8 플레이리스트 + TS/fMP4 세그먼트 |
| MPEG-DASH | 국제표준(ISO/IEC 23009) | 코덱 독립적. MPD 매니페스트 사용 |
| WebRTC | UDP/SRTP | 초저지연(1초 미만). 양방향 실시간에 쓴다 |
모바일에서는 HTTP 적응적 스트리밍이 사실상 표준이다. 이동 중 대역폭이 크게 변하는 환경에서 화질을 낮춰서라도 재생을 끊지 않는 것이 중요하기 때문이고, HTTP 를 쓰므로 CDN 캐시와 방화벽 통과가 자연스럽다.
- 인코더 / 트랜스코더 — 화질별 렌디션 생성
- 오리진 서버, CDN
- 매니페스트(플레이리스트)
- 플레이어의 ABR 알고리즘 — 버퍼 수준과 처리량으로 다음 화질을 결정
- DRM
