AWS 기술 블로그
AWS 미디어 서비스를 사용하여 Virtual linear OTT 채널 배포하기
이 글은 AWS Media Blog에 게시된 Deploying virtual linear OTT channels using AWS Media Services by Devendra Sharma and Carlos Salazar을 한국어로 번역 및 편집하였습니다.
AWS Elemental MediaTailor 의 채널 어셈블리를 사용하여 채널과 함께 광고가 삽입된 프로그램 일정을 생성할 수 있습니다. 라이브 스트리밍 비디오와 주문형 비디오(VOD)를 일정에 따라서 연속적으로 제공할 수 있는 Virtual linear OTT 채널을 생성하는 방법을 자세히 설명합니다. 이는 소비자들에게 빠르게 인기를 얻고 있는 광고 기반 무료 스트리밍 TV(FAST)를 제공해야 하는 고객의 요구가 증가했기 때문에 발생하며 경우에 따라 비싼 OTT 서비스의 구독료에 대한 해결책으로 사용될 수 있습니다. Amazon Web Services(AWS)의 확장 가능한 서비스와 함께 제공되는 FAST는 타겟 광고와 예측 가능한 비용으로 더 많은 가치를 제공할 수 있습니다.. 이 게시물은 VOD 자산 및 라이브 비디오 스트림을 사용하여 24/7 FAST linear over-the-top (OTT) 채널을 구축하고 수익을 창출하는 방법과 서버 측 광고 삽입(SSAI)을 통합하는 방법에 대해 설명합니다.
구성요소
- 비디오 라이브 소소를 Just-in time 트랜스코딩 위한 AWS Elemental MediaLive.
- 비디오 세그먼트에 대한 오리지네이션을 위한 AWS Elemental MediaPackage.
- VOD 소스, 필러 슬레이트 및 광고 슬레이트를 저장하기 위한 Amazon Simple Storage Service (S3).
- 컨텐츠에 광고를 삽입하고 프로그램 일정을 생성하고 채널 방송을 하는 AWS Elemental MediaTailor (AWS Elemental MediaTailor 를 사용할 수 있는 리전)
MediaLive 및 MediaPackage를 사용하여 라이브 소스 생성
MediaLive Workflow Wizard를 사용하여 AWS Management 콘솔에서 라이브 스트리밍 엔드포인트를 빠르게 생성할 수 있습니다. 블로그 게시물에 설명된 단계를 따르십시오.
AWS Elemental MediaLive Workflow Wizard 로 라이브 스트리밍 채널을 빠르게 생성하세요.
다음의 이미지에 설명된 대로 라이브 채널을 생성하면 MediaPackage → Channels → <your channel> → Manage endpoints → < your HLS endpoint> → 패키지 설정 → 추가 구성 → 프로그램 날짜/시간 간격(초) 이 “1”로 설정되어 있는지 확인합니다.
라이브 소스의 트랜스코딩 프로파일과 일치하는 VOD 소스 생성
MediaTailor Channel Assembly 에서 라이브 소스와 함께 사용 할 수 있는 광고가 포함된 VOD 자산(MP4 컨테이너에 있을 수 있음)을 Amazon S3 Bucket 에 업로드 해야 합니다. MediaLive 채널의 ABR 스택과 일치하도록 AWS Elemental MediaConvert 를 사용하여 자산을 다시 트렌스코딩 합니다. 다시 트랜스코딩 된 VOD 자산과 라이브 스트리밍 엔드포인트의 프로파일과 해당 해상도가 동일함을 의미합니다.
MediaTailor 채널 어셈블리 구성
채널 어셈블리를 설정하기 전에 다음 사항을 고려해야 합니다.
- 라이브, VOD 및 슬레이트 광고 소스는 동일한 수의 HLS 프로파일이 포함되어야 합니다.
- 라이브 소스에는 HLS #EXT-X-PROGRAM-DATE-TIME 태그가 포함되어야 합니다.
- 라이브, VOD 및 슬레이트 소스는 인터넷을 통해 연결할 수 있어야 합니다(예: Amazon CloudFront 배포).
구성하기
AWS Management Console → MediaTailor에서 “New source location” 을 선택합니다.
Source location 메뉴에서 “Name”과 “Base URL”을 입력합니다. “Base URL”은 채널 어셈블리가 VOD 또는 라이브 콘텐츠가 있는 원본 서버의 도메인 이름을 나타냅니다. MediaTailor 는 채널의 스트림을 위해서 오리진 서버에서 소스의 Manifest를 가져옵니다. 이 예제는 MediaPackage 엔드포인트와 관련이 있습니다 (전체 경로가 포함되지 않고 도메인 이름만 포함됨).
Souce location 메뉴에서 라이브 소스를 추가합니다.
Package configurations 을 채널의 출력과 연결하는 source group을 추가합니다. 소스에서 package configuration 을 생성할 때 source group의 이름을 식별합니다.
채널에서 출력을 생성할 때 동일한 이름을 입력하여 출력을 package configuration 과 연결합니다. 채널의 프로그램에 추가되는 소스(라이브 또는 VOD)는 출력에서 식별된 source group (예: 이 예에서는 source-group-1)에 속해야 합니다.
라이브 소스 메뉴에서 “Name”과 “Relative path”를 입력합니다. 마지막 파라미터는 라이브 콘텐츠를 검색하기 위해 이전에 설정한 도메인을 보완하는 경로를 나타냅니다.
VOD 및 슬레이트 소스에 대해서도 유사한 프로세스가 수행됩니다.
만약 특정 시간(예: 30초) 내에 광고 방송이 필요한 경우 동일한 시간의 VOD 소스를 추가해야 합니다. 이 예에서는 30초 컬러 바(Color bar)가 추가 됩니다.
“Name”을 입력하고 Tier 로 “Standard”로 선택하고 라이브 채널에 라이브 또는 VOD 프로그래밍을 사용할 수 없는 경우 Filler slate로 사용할 “Source location” 및 “VOD source name”을 지정합니다.
그런 다음 ‘Manifest Name’을 입력합니다. 대부분의 경우 “index”를 입력하면 비디오 플레이어의 최종 사용자가 인식하는 매니페스트는 “index.m3u8″이 됩니다.
다음 섹션에서 액세스 제어에 가장 적합한 옵션을 선택합니다. 이 예제에서는 인터넷 사용자가 Virtual 라이브 OTT 채널을 검색할 수 있도록 하기 위해 “Attach public policy”을 선택합니다.
조건을 더 추가하려면 https://docs.thinkwithwp.com/IAM/latest/UserGuide/access_policies_create.html 를 참조하세요.
MediaTailor 에서 채널이 준비되면 VOD 및 라이브 프로그램을 추가할 수 있습니다.
각각의 VOD 프로그램에는 하나 또는 여러 개의 광고 방송이 포함될 수 있습니다. 광고 방송을 설정 하려면 “Source location” 및 “VOD Source” 매개변수를 입력해야 합니다. 해당 필드에서 참조하는 콘텐츠의 길이는 광고 방송 길이와 정확히 일치해야 합니다. 여러 광고 방송의 경우 “Offset in millisecond” 파라미터를 정의해야 합니다. 이 값은 VOD 콘텐츠 시작 부분의 “0” 레퍼런스를 고려하여 미래의 시간을 나타냅니다. 이러한 의미에서 단일 VOD 소스에는 시간이 지남에 따라 고유한 지속 시간의 여러 광고 방송이 포함될 수 있습니다. 보다 기술적인 관점에서 볼 때 중단 작업은 DATERANGE 형식에 따라 HLS 매니페스트에 대한 SCTE-35 마커가 됩니다.
자세한 내용은 https://docs.thinkwithwp.com/elemental-live/latest/ug/scte-35-ad-marker-ext-x-daterange.html 를 참조하세요.
라이브 소스의 경우 프로그램 시작 날짜와 시간을 지정합니다. 시작 시간은 현재 시간 이후 최소 15분이어야 합니다. playback configuration 의 “Relative Position” 설정은 linear 일정의 첫 번째 프로그램에 적용되지 않습니다. 다음 프로그램에서는 해당 값을 “After Program”으로 설정해야 합니다.
프로그램이 성공적으로 생성되면 채널을 시작하십시오. 채널을 테스트 하려면 채널 “Output” 섹션에 표시된 URL을 복사하고 HLS.js 비디오 플레이어를 사용하여 재생하십시오. (데모 플레이어는 여기에서 사용할 수 있습니다 : https://hls-js.netlify.app/demo).
이 URL은 Amazon S3 버킷에 있는 정적 VAST 파일의 광고 의사 결정 서버와 상호 작용을 수행하기 위해 서버 측 광고 삽입(SSAI) 역할을 하는 MediaTailor의 “광고 삽입” 구성 요소를 공급하는 데에도 사용할 수 있습니다.
Virtual linear OTT 채널의 재생을 테스트하려면 https://hls-js.netlify.app/demo/로 이동하여 이전 단계에서 복사한 URL을 붙여넣고 ‘Apply’를 누릅니다.
채널에 재생 시 사용할 수 있는 프로그래밍이 없으면 슬레이트 비디오가 표시됩니다.
결론
이 글에서 우리는 광고 기반 무료 스트리밍 TV(FAST)라고도 하는 Virtual linear OTT 채널을 배포하기 위한 HLS 엔드 포인트를 만들었습니다. MediaTailor 채널 어셈블리를 사용하여 라이브 및 VOD 콘텐츠에 대한 프로그래밍을 예약하고 슬레이트 광고를 표시하기 위해 광고 방송을 삽입하는 순차적인 단계를 거쳤습니다. 엔드포인트 URL을 파생한 후 웹 기반 테스트 HLS 비디오 플레이어에서 채널의 성공적인 재생을 확인했습니다. 이제 뉴스나 스포츠와 같은 라이브 이벤트를 VOD 소스로 원활하게 전환할 수 있으며 광고를 도입하여 향상된 최종 사용자 경험을 위한 다양한 개인화된 라이브 재생 목록을 생성할 수 있습니다.