다양한 기록

비디오 스트리밍과 CDNs 본문

네트워크

비디오 스트리밍과 CDNs

라구넹 2024. 4. 8. 19:37

비디오 압축(코덱): 이전 프레임과의 차이점만 보냄, 전체를 보내지 않음

CBR(Constant bit rate) : 비디오 인코딩률 고정

VBR(Variable bit rate): 비디오 인코딩률이 가변적

 

DASH: Dynamic, Adaptive, Streaming over HTTP

서버

- 파일을 여러 청크로 나눔

- 각 청크의 화질은 다를 수 있음

- manifest file, 청크들의 URL을 제공

클라이언트

- 연속적으로 가용 네트워크의 대역폭을 측정하고 향후 다운 받을 비디오 세그먼트의 비트율 결정

- 문제 생기면 manifest 파일에 요청을 함

- 언제 청크를 요청할지 결정

- 인코딩 레이트를 어느정도로 할지 결정

- 어디에서 청크를 요청할지 결정

=> 클라이언트는 비트레이트 적응(ABR) 알고리즘을 사용하여 재생시 멈추미나 재버퍼링을 일으키지 않고 다운로드 할 수 있도록 가능한 최고 비트레이트의 세그먼트를 자동으로 선별해줌

 

비디오 트래픽: 엄청남

유튜브, 넷플릭스..

문제: 서버를 어떻게 구성해야 하는가?

유저들마다 대역폭이 다른 등, 상황이 다름(이질성)

 

답: 분산된 애플리케이션 레벨의 인프라 스트럭처

CDNs (Content Distribution Networks)

하나의 메가 서버는 스케일링이 가장 큰 문제. 하나 터지면 큰일이고 병목 현상도 있음.

 

지역적으로 분산된 여러개의 서버가 비디오의 카피를 가지고 있음

Enter Deep: 세계의 접속 네트워크에 깊게 CDN 서버 설치, 유저에 가까움

Bring home: 큰 클러스터를 핵심 지점에만 두기

 

 

보통 CDN은 다른 회사 거를 사용함

예시) 

1. 밥이 영상을 보려고 홈페이지에 검색

2. 영상 주소 받아서 밥의 로컬 DNS 접속

3. 영상회사 책임 DNS 접속해서 CDN 주소 받음

4. 그 회사 DNS에서 영상 데이터의 주소(manifest file)를 받아 접속

 

 

'네트워크' 카테고리의 다른 글

Transport Layer, 다중화와 역다중화  (0) 2024.04.08
FTP  (0) 2024.04.08
P2P 아키텍처 File Distribution  (0) 2024.04.08
DNS  (0) 2024.04.07
SMTP, MIME  (0) 2024.04.06