스트리밍 서비스 (HTTP Streaming Architecture) 아키텍쳐 - OnDemand, Live with AWS

1
post-thumbnail

AWS를 이용한 온디맨드 방식과 라이브 방식의 2가지 방식의 아키텍쳐를 파악해보자.

HLS 이용해서 스트리밍서비스를 구축하기위 해서 아키텍쳐로는 영상을 이미 가지고 있고 그것을 업로드해서 스트리밍하는 온디맨드 방식(Video on Demand)과 라이브 스트리밍(Live Streaming) 방식이 있다.

Video on Demand on AWS

On-demand 방식은 이미 영상을 가지고 있고 그것으 준비된 상태에서 서비스를 하는 것으로 우리가 흔히 이용하는 netflix, watcha, coupang play , Wave 등의 서비스가 이 방식을 사용해서 서비스를 제공하고 있다.

Video on Demand on AWS

클라이언트에서 비디오가 업로드 요청을 하면, 아래와 같은 플로우를 거치고 다시 클라이언트에게 HLS규격으로 넘겨준다.

원본을 업로드 => S3 Storage 버킷(원본 저장) => AWS media Convert를 이용하여 트랜스코딩, HLS변 => CDN=> 사용자에게 넘겨주는 방식이다.

좀더 자세하게 과정을 살펴보면 아래와 같다.

  1. 클라이언트에서 서버로 미디어 파일을 서버로 전송한다.
  2. 서버측에서는 받은 미디어 데이터를 받아서 입수한다.(입수된 미디어를 서버로 저장S3)
  3. 트랜스 코딩을한다.(입수된 미디어를 서비스에 적절한 형태로 변환 AWS Media Convert)
  4. 트랜스 코딩이 끝난 출력물 다시 저장소에 저장한다.(Object Storage인 aws S3)
  5. 입수된 메타데이터를 DB에 저장하고, 이를 API를 통해서 클라이언트에게 던져준다.
  6. 클라이언트는 서버로부터 받은 API를 통해 유저에게 보여지도록 한다.

Live Streaming on AWS

원본 영상 → 라이브 인코더미디어 서버전송 서버(CDN)동영상 플레이어 → 시청자에게 넘겨지는 플로우로 자세한 AWS 워크 플로우는 아래와 같다.

  1. 원본 영상 → 라이브 인코더 > 영상 송출
  2. 미디어 서버전송 서버(CDN) > 영상 변환 및 전송
  3. 동영상 플레이어→ 시청자 > 영상 재생

Reference

Aws MediaStreaming
라이브 방송 기술 네이버

profile
문과생 개발자되다

0개의 댓글