Amazon CloudFront 미디어 스트리밍 자습서

Amazon CloudFront를 사용해야 하는 이유

고객은 HTTP 위에 배치된 다양한 프로토콜을 통해 전 세계 시청자에게 비디오를 스트리밍하는 데 Amazon CloudFront를 사용합니다.

Amazon 콘텐츠 전송 네트워크(CDN)를 AWS Elemental Media Services와 함께 사용하여 두 가지 유형의 비디오 스트리밍을 구현할 수 있습니다. 먼저, Amazon Simple Storage Service(Amazon S3)에 저장된 콘텐츠의 온디맨드 스트리밍을 살펴보겠습니다. 그런 다음, 이벤트 또는 24x7 채널의 라이브 스트리밍을 살펴보겠습니다.

모범 사례는 Amazon CloudFront for Media 백서를 참조하세요.

Building Serverless Video Workflows

온디맨드 스트리밍

온디맨드 스트리밍의 경우 비디오 콘텐츠가 Amazon S3에 저장됩니다. 시청자는 언제든 원하는 시간에 이를 시청할 수 있습니다. 전체 온디맨드 스트리밍 솔루션에서는 일반적으로 스토리지를 위해 Amazon S3를, 파일 기반 비디오 처리를 위해 AWS Elemental MediaConvert를, 전송을 위해 Amazon CloudFront를 사용합니다.

Amazon S3는 비디오 자산을 위한 뛰어난 스토리지 공간입니다. 무제한으로 확장 가능하고 중복성을 기본적으로 제공하며 사용량에 따라 지불하는 요금제를 지원합니다. 몇 가지 방법으로 콘텐츠를 S3에 업로드할 수 있습니다. 볼륨이 적은 경우 AWS Management Console을 사용하여 시작하고, 볼륨이 증가하면서 좀 더 자동화된 시스템으로 전환할 수 있습니다. 콘솔에서 S3를 사용하기는 매우 쉽습니다. AWS 계정을 생성하고, 로그인한 후, S3 버킷을 생성하고, 콘텐츠를 업로드하면 됩니다. 자동화 시스템을 구현하려면 자체 스크립트에서 AWS Command Line Interface를 사용하거나 자체 코드에서 Amazon S3 API를 사용하면 됩니다.

업로드되면 비디오를 특정 TV 또는 연결된 디바이스에 필요한 크기, 해상 또는 형식으로 변환해야 할 수 있습니다. AWS Elemental MediaConvert를 사용하면 이를 자동으로 처리할 수 있습니다. MediaConvert는 S3의 콘텐츠를 처리하고 요청에 따라 트랜스코딩하고 결과를 다시 S3에 저장합니다. 트랜스코딩에서는 비디오 파일을 처리하고 원래 콘텐츠의 압축 버전을 생성하여 크기를 줄이거나 형식을 변경하거나 재생 디바이스 호환성을 향상합니다. 이 프로세스 또한 AWS Management Console, 명령줄 또는 MediaConvert API를 통해 관리할 수 있습니다.

콘텐츠가 안전하게 저장되고 사용자가 요청한 형식으로 제공할 수 있게 되면 다음 단계는 Amazon CloudFront를 통한 글로벌 전송입니다. Amazon 콘텐츠 전송 네트워크는 짧은 지연 시간과 높은 처리량으로 비디오를 전송하기 위해 엣지에 콘텐츠를 캐시합니다. 이 서비스는 원하는 양의 비디오를 제공할 수 있는 확장성을 갖추고 있습니다. 사용량에 따라 지불하는 간편한 요금제를 통해 예기치 못한 수요 급증을 처리할 수 있습니다(자세한 내용은 CloudFront 요금 참조).

현재 사용할 수 있는 옵션은 두 가지입니다. 재생하기 전에 전체 비디오 파일을 디바이스로 전송하거나 디바이스로 스트리밍할 수 있습니다.

첫 번째 옵션은 매우 쉽게 구현할 수 있고 모든 모바일 디바이스와 데스크톱에서 지원됩니다. 콘텐츠를 S3 버킷에 저장하고 해당 버킷을 가리키는 CloudFront 배포를 생성하기만 하면 됩니다. 그러면 사용자의 비디오 플레이어가 CloudFront URL(배포의 일부로 액세스 가능)을 사용하여 비디오 파일을 요청합니다. 이 요청은 사용자의 위치를 기반으로 최적의 엣지 로케이션으로 전달됩니다. CDN이 캐시에서 비디오를 제공하고 이미 캐시되지 않은 경우 S3 버킷에서 비디오를 가져옵니다. 이 옵션에는 몇 가지 단점이 있습니다. 시청자의 대역폭을 비효율적으로 사용합니다. 사용자가 전체 비디오를 보지 않아도 시청하지 않는 콘텐츠가 여전히 다운로드되며 이에 대한 비용을 지불하게 됩니다.

대부분 두 번째 옵션을 선호합니다. Apple의 HTTP Live Streaming(HLS), Dynamic Adaptive Streaming over HTTP(DASH), Microsoft의 Smooth Streaming(MSS) 및 Adobe의 HTTP Dynamic Streaming(HDS)을 비롯한 비디오 스트리밍 프로토콜 제품군은 사용자가 비디오를 시청함에 따라 이를 전송하고 일반적으로 필요한 시점보다 몇 초 먼저 콘텐츠를 가져오는 방식으로 사용자 경험을 향상합니다. 재생이 더 빨리 시작되고, 빨리 감기가 더 효율적으로 수행되며 전반적으로 더 매끄러운 사용자 경험이 제공됩니다. 이 옵션을 사용하면 고객은 시청자가 시청한 부분에 대해서만 비용을 지불하고 사용자의 대역폭을 낭비하지 않으며, 사용자는 원하는 콘텐츠를 더 빨리 볼 수 있습니다.

두 번째 옵션을 구현하려면 고객이 몇 가지 작업을 수행해야 합니다. 먼저 MediaConvert를 사용하여 비디오 파일을 HLS 형식(가장 널리 지원되는 스트리밍 프로토콜)으로 변환합니다. 이 서비스는 비디오를 짧은 세그먼트로 분할하고 매니페스트 파일을 생성합니다. 그런 다음 CloudFront 배포가 매니페스트를 가리키게 합니다. 마지막으로 라이브 스트림을 재생하려면, 사용자가 라이브 스트림 재생에 사용할 플레이어에 매니페스트 URL을 추가합니다. 예를 들어 매니페스트 파일이 myStream/playlist.m3u8이고 CloudFront 배포가 d111111abcdef8.cloudfront.net인 라이브 스트림을 재생하려면 http://d111111abcdef8.cloudfront.net/myStream/playlist.m3u8이라는 URL을 플레이어에 추가합니다.

AWS 기반 온디맨드 비디오’ 페이지는 AWS 클라우드에서 온디맨드 비디오 워크플로를 구현할 때 고려할 모범 사례와 지침을 제공하고, 비디오 콘텐츠를 수집, 저장, 처리 및 전송하는 확장 가능한 분산 아키텍처를 구축하는 데 필요한 서비스를 자동으로 프로비저닝하는 AWS 서비스를 소개합니다.

라이브 스트리밍

라이브 스트리밍의 경우, 콘텐츠는 라이브 이벤트 또는 24x7 라이브 채널 전송에 해당합니다. 첫 번째의 경우라면 스포츠 경기, 시상식, 기조연설 및 시청률이 높은 라이브 이벤트를 스트리밍하는 방송사와 콘텐츠 수집자를 예로 들 수 있습니다. 두 번째의 경우라면 타사 배포 플랫폼 없이 직접 인터넷을 통해 시청자에게 라이브 선형 채널을 패키징하여 제공하려는 스튜디오, 방송사 및 유료 TV 서비스 사업자를 예로 들 수 있습니다.

몇 가지 간단한 단계를 따르면 AWS를 사용하여 비용 효율적으로 라이브 콘텐츠를 글로벌 시청자에게 브로드캐스트할 수 있습니다.

첫 번째 단계는 라이브 비디오 처리입니다. 이를 위해 라이브 비디오 스트림을 실시간으로 인코딩하는 AWS Elemental MediaLive를 사용하여 대규모 라이브 비디오 소스(예: AWS Elemental Live와 같은 온프레미스 인코더에서 수신됨)를 가져와 시청자에게 배포할 수 있는 더 작은 버전으로 압축할 수 있습니다. 두 번째 단계에서는 사용 사례에 따라 두 가지 옵션이 제공됩니다. AWS Elemental MediaPackage와 같은 JITP(Just-in-Time Packaging) 오리진을 사용하여 비디오 콘텐츠를 단일 형식에서 여러 형식으로 변환하고 다양한 디바이스 유형에 맞춰 안전하게 패키징할 수 있습니다. MediaPackage를 사용하면 시청자를 위해 DVR에서 주로 볼 수 있는 인기 있는 비디오 기능(다시 시작, 정지, 되감기 등)을 손쉽게 구현할 수 있습니다. 또한, DRM(Digital Rights Management)을 사용해 콘텐츠를 보호할 수 있습니다. 또는, 인코더가 이미 모든 최종 시청자 대상 디바이스에 필요한 형식으로 콘텐츠를 보내는 경우, AWS Elemental MediaStore와 같은 확장 가능한 고성능 오리진을 사용할 수 있습니다. MediaPackage 및 MediaStore가 콘텐츠를 Amazon CloudFront로 전송하고 Amazon CloudFront가 라이브 이벤트를 시청하는 시청자에게 이를 라우팅합니다.

솔루션이 가동 및 실행되면 라이브 이벤트를 확장 가능하고 비용 효율적인 방식으로 전 세계로 브로드캐스트할 수 있습니다. CDN은 다양한 규모의 시청자를 수용할 수 있으며 ‘플래시 크라우드’를 처리할 수 있습니다.

라이브 비디오 스트리밍’ 페이지에서는 AWS 클라우드에서 라이브 비디오 스트리밍 워크플로를 선택할 때 고려할 모범 사례 및 지침을 제공하고, 탁월한 실시간 시청 경험을 제공하는 가용성과 비용 효율성이 뛰어난 아키텍처를 구축하는 데 필요한 서비스를 자동으로 프로비저닝하는 AWS 솔루션을 소개합니다.