

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# MediaTailor 개념
<a name="what-is-terms"></a>

 다음은 *AWS Elemental MediaTailor 사용 설명서* 전체에서 사용되는 개념의 개요입니다.

# HLS 재생 목록 유형
<a name="hls-playlist-types"></a>

HTTP 라이브 스트리밍(HLS)은 다변량 재생 목록과 미디어 재생 목록이라는 두 가지 기본 유형의 재생 목록을 사용합니다. 이러한 재생 목록 유형의 차이점을 이해하는 것은 MediaTailor 워크플로를 구성하고 문제를 해결하는 데 필수적입니다.

다변량 재생 목록  
다변량 재생 목록은 HLS 스트리밍 워크플로에서 사용 가능한 모든 콘텐츠 변환을 나열하는 최상위 인덱스 파일입니다. 여기에는 미디어 재생 목록에 대한 참조가 포함되지만 미디어 세그먼트 자체는 포함되지 않습니다. 다중 변형 재생 목록을 사용하면 플레이어가 네트워크 조건, 디바이스 기능 또는 사용자 기본 설정에 따라 가장 적합한 변환을 선택할 수 있습니다.  
이 재생 목록 유형은 다양한 컨텍스트에서 다른 여러 이름으로도 알려져 있습니다.  
+ 마스터 재생 목록(사용되지 않는 용어)
+ 마스터 매니페스트(공통 업계 용어)
+ 기본 재생 목록
+ 기본 재생 목록
+ 인덱스 파일
+ 마스터 M3U8
MediaTailor 워크플로에서 다변량 재생 목록은 재생 요청의 진입점이며 광고 개인화가 시작되는 곳입니다.  

**Example 다변량 재생 목록 예제**  

```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=2665726,AVERAGE-BANDWIDTH=2526299,RESOLUTION=960x540,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles"
index_1.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4786126,AVERAGE-BANDWIDTH=4547599,RESOLUTION=1280x720,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles"
index_2.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=8171787,AVERAGE-BANDWIDTH=7768157,RESOLUTION=1920x1080,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles"
index_3.m3u8
```

미디어 재생 목록  
미디어 재생 목록에는 콘텐츠의 특정 변환(품질 수준)에 대한 실제 미디어 세그먼트 정보가 포함됩니다. 여기에는 타이밍 정보, 세그먼트 URLs 및 단일 변환 재생에 필요한 기타 메타데이터가 포함됩니다. 각 미디어 재생 목록은 해상도, 비트레이트 및 기타 특성의 다양한 조합을 나타냅니다.  
이 재생 목록 유형은 다른 여러 이름으로도 알려져 있습니다.  
+ 변형 재생 목록
+ 하위 매니페스트(공통 산업 용어)
+ 청크리스트
+ 미디어 M3U8
+ 변환 재생 목록
MediaTailor 워크플로에서 미디어 재생 목록은 콘텐츠 세그먼트와 광고 세그먼트를 모두 적절한 순서로 포함하도록 개인화됩니다.  

**Example 미디어 재생 목록 예제**  

```
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:123456
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXTINF:6.0,
segment123456.ts
#EXTINF:6.0,
segment123457.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.0,
ad-segment1.ts
#EXTINF:5.0,
ad-segment2.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.0,
segment123458.ts
```

**참고**  
다변량 재생 목록과 미디어 재생 목록은 모두 `.m3u8` 확장을 사용하는 텍스트 기반 파일입니다. 이러한 파일의 용어는 설명서와 컨텍스트에 따라 다르지만 기본 역할은 HLS 스트리밍 아키텍처에서 동일하게 유지됩니다.

MediaTailor를 구성할 때 일반적으로 콘텐츠 오리진의 다변량 재생 목록에 대한 URL을 제공합니다. 그런 다음 MediaTailor는 다변량 재생 목록과 미디어 재생 목록의 개인화를 모두 처리하여 구성에 따라 광고를 삽입합니다.

HLS 재생 목록 사양에 대한 자세한 내용은 [HTTP 라이브 스트리밍 RFC를 참조하세요](https://datatracker.ietf.org/doc/html/rfc8216).

# DASH 매니페스트 유형
<a name="dash-manifest-types"></a>

Dynamic Adaptive Streaming over HTTP(DASH)는 미디어 프레젠테이션 설명(MPD) 매니페스트를 사용하여 스트리밍 콘텐츠를 제공합니다. DASH 매니페스트의 구조와 구성 요소를 이해하는 것은 MediaTailor 워크플로를 구성하고 문제를 해결하는 데 필수적입니다.

MPD(미디어 프레젠테이션 설명)  
MPD는 미디어 콘텐츠의 구조와 가용성을 설명하는 DASH 스트리밍의 기본 매니페스트 파일입니다. 여기에는 스트리밍 콘텐츠를 구성하는 기간, 적응 세트, 표현 및 세그먼트에 대한 정보가 포함되어 있습니다.  
이 매니페스트 유형은 다양한 컨텍스트에서 여러 다른 이름으로도 알려져 있습니다.  
+ DASH 매니페스트
+ 대시 MPD
+ 마스터 매니페스트(HLS와 비교 시)
+ 프레젠테이션 매니페스트
MediaTailor 워크플로에서 MPD는 재생 요청의 진입점이며 광고 개인화가 시작되는 곳입니다.  

**Example MPD 매니페스트 예제**  

```
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minBufferTime="PT5.000S" maxSegmentDuration="PT2.005S" availabilityStartTime="2020-01-01T00:00:00Z" publishTime="2020-01-01T12:30:00Z" minimumUpdatePeriod="PT2.000S" timeShiftBufferDepth="PT5M">
  <Period id="1" start="PT0.000S">
    <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9">
      <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
      <Representation id="2" mimeType="video/mp4" codecs="avc1.4d401f" width="1280" height="720" bandwidth="2800000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
      <Representation id="3" mimeType="video/mp4" codecs="avc1.4d401e" width="640" height="360" bandwidth="1100000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
    </AdaptationSet>
    <AdaptationSet id="2" contentType="audio" segmentAlignment="true" lang="eng">
      <Representation id="4" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="48000" bandwidth="128000">
        <SegmentTemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="96000"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
```

Period  
기간은 DASH 프레젠테이션의 임시 섹션입니다. 각 기간은 하나 이상의 적응 세트를 포함하며 미디어 시간 범위를 나타냅니다. 광고 삽입 워크플로에서는 일반적으로 별도의 기간을 사용하여 콘텐츠와 광고를 구분합니다.  
이 구성 요소는 다른 여러 이름으로도 알려져 있습니다.  
+ 콘텐츠 세그먼트
+ 타임라인 섹션
+ 프로그램 세그먼트
MediaTailor 워크플로에서 기간은 기본 콘텐츠를 광고 콘텐츠와 분리하는 데 사용되며, 각 광고는 일반적으로 자체 기간으로 표시됩니다.  

**Example 기간 예제**  

```
<Period id="ad-period-1" start="PT30.000S" duration="PT15.000S">
  <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9">
    <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000">
      <SegmentTemplate timescale="90000" initialization="ad1/init-stream$RepresentationID$.m4s" media="ad1/chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
    </Representation>
  </AdaptationSet>
</Period>
```

AdaptationSet  
AdaptationSet는 하나 또는 여러 미디어 콘텐츠 구성 요소의 교체 가능한 인코딩 버전 세트를 그룹화합니다. 예를 들어 한 AdaptationSet에는 여러 오디오 언어 옵션이 포함될 수 있습니다.  
이 구성 요소를 다음과 같이 알려져 있습니다.  
+ 미디어 구성 요소 그룹
+ 스트림 세트
+ 트랙 그룹
MediaTailor 워크플로에서는 콘텐츠와 광고 간에 일관된 미디어 유형을 유지하기 위해 광고 삽입 중에 AdaptationSets가 보존됩니다.

표시  
표현은 AdaptationSet 내의 미디어 콘텐츠의 특정 인코딩 버전입니다. 각 표현은 일반적으로 비트 전송률, 해상도 또는 기타 인코딩 파라미터가 다르므로 클라이언트가 네트워크 조건 및 디바이스 기능에 따라 가장 적합한 버전을 선택할 수 있습니다.  
이 구성 요소를 다음과 같이 알려져 있습니다.  
+ 변환(HLS와 유사)
+ 품질 수준
+ 비트레이트 변형
+ 스트림 변형
MediaTailor 워크플로에서 광고 기간의 표현은 원활한 시청 경험을 보장하기 위해 콘텐츠 기간의 표현과 최대한 가깝게 매칭됩니다.

세그먼트  
세그먼트는 URL에서 개별적으로 참조할 수 있는 미디어 데이터의 단위입니다. 세그먼트에는 실제 미디어 콘텐츠(비디오, 오디오 등)가 포함되며 MPD 내에서 참조됩니다. DASH에는 두 가지 주요 유형의 세그먼트가 있습니다.  
+ **초기화 세그먼트**: 코덱 파라미터 및 타이밍 정보와 같은 표현에 대한 초기화 정보를 포함합니다.
+ **미디어 세그먼트**: 표현 내의 특정 시간 범위에 대한 실제 미디어 데이터를 포함합니다.
MediaTailor 워크플로에서 세그먼트 URLs은 적절한 콘텐츠 또는 광고 미디어 파일을 가리키도록 수정되는 경우가 많습니다.

**참고**  
DASH 매니페스트는 일반적으로 `.mpd` 확장자를 사용하는 XML 기반 파일입니다. 이러한 파일 및 해당 구성 요소의 용어는 설명서 및 컨텍스트에 따라 다를 수 있지만 DASH 스트리밍 아키텍처에서는 기본 구조가 동일하게 유지됩니다.

MediaTailor를 구성할 때 콘텐츠 오리진의 MPD 매니페스트에 대한 URL을 제공합니다. 그런 다음 MediaTailor는 일반적으로 구성에 따라 광고에 대한 추가 기간을 삽입하여 매니페스트의 개인화를 처리합니다.

DASH 매니페스트 사양에 대한 자세한 내용은 [DASH Industry Forum 구현 지침을](https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf) 참조하세요.

# 고급 DASH 매니페스트 개념
<a name="dash-manifest-advanced-concepts"></a>

MediaTailor에서 DASH 매니페스트를 사용할 때 다음과 같은 고급 개념을 이해하면 스트리밍 워크플로를 보다 효과적으로 구성하고 문제를 해결하는 데 도움이 될 수 있습니다.

기간 시작 시간 계산  
DASH 매니페스트에서 기간 시작 시간은 MPD의 `availabilityStartTime` 속성과 기간의 `start` 속성을 기반으로 계산됩니다. 라이브 스트림의 경우 시작 시간은 가용성 시작 시간을 기준으로 하지만 VOD 콘텐츠의 경우 일반적으로 프레젠테이션 시작을 기준으로 합니다.  
MediaTailor가 광고 기간을 삽입하면 콘텐츠와 광고 간의 원활한 전환을 보장하기 위해 시작 시간을 신중하게 계산합니다. 이 계산에서는 다음을 고려합니다.  
+ 원래 기간의 시작 시간
+ 이전 광고 기간의 기간
+ 광고 결정 서버 응답에 지정된 시간 오프셋

프리롤 타이밍 계산  
DASH 매니페스트의 프리롤 광고는 기본 콘텐츠가 시작되기 전에 표시되므로 특별한 처리가 필요합니다. MediaTailor는 매니페스트 시작 시 적절한 시작 시간 및 기간과 함께 프리롤 광고를 별도의 기간으로 삽입합니다.  
프리롤 광고의 경우 MediaTailor:  
+ 각 프리롤 광고에 대해 새 기간을 생성합니다.
+ 첫 번째 프리롤 기간의 시작 시간을 0으로 설정합니다.
+ 모든 프리롤 광고의 총 기간을 고려하여 기본 콘텐츠 기간의 시작 시간을 조정합니다.

Live-to-VOD 전환  
라이브 스트림이 종료되면 DASH 매니페스트가 라이브에서 VOD(Video on Demand) 형식으로 전환될 수 있습니다. 이 전환에는 MPD의 `type` 속성을에서 `dynamic`로 변경`static`하고 `timeShiftBufferDepth` 및와 같은 다른 속성을 조정하는 작업이 포함됩니다`minimumUpdatePeriod`.  
MediaTailor는 live-to-VOD 전환 중에 매니페스트를 처리할 때 다음을 보장합니다.  
+ 광고 마커는 VOD 매니페스트에 보존됩니다.
+ 적절한 타이밍을 유지하기 위해 기간 시작 시간이 조정됩니다.
+ 매니페스트는 VOD 재생 클라이언트와 호환됩니다.

DRM 처리  
DASH 매니페스트의 디지털 권한 관리(DRM) 정보는 일반적으로 AdaptationSets 또는 Representations 내의 `ContentProtection` 요소에 포함됩니다. MediaTailor는 광고 삽입 중에 이러한 요소를 보존하여 콘텐츠 보호가 손상되지 않도록 합니다.  
DRM 보호 콘텐츠를 처리할 때 MediaTailor는 다음을 수행합니다.  
+ 원본 매니페스트에서 모든 ContentProtection 요소를 유지합니다.
+ 해당하는 경우 광고 콘텐츠가 호환되는 DRM 체계를 사용하는지 확인합니다.
+ 매니페스트 전체에서 DRM 관련 속성 및 요소를 보존합니다.

SCC 플래그  
DASH 매니페스트의 보충 콘텐츠 제어(SCC) 플래그는 콘텐츠 특성 및 재생 요구 사항에 대한 추가 정보를 제공합니다. 이러한 플래그는 일반적으로 MPD 구조 내에 속성 또는 요소로 포함됩니다.  
MediaTailor가 처리하는 일반적인 SCC 플래그는 다음과 같습니다.  
+ 콘텐츠 등급 정보
+ 접근성 기능(닫힌 캡션, 오디오 설명)
+ 콘텐츠 권고 공지
+ 재생 제한
MediaTailor는 매니페스트 처리 중에 이러한 플래그를 보존하여 모든 콘텐츠 메타데이터가 개인화된 매니페스트에 유지되도록 합니다.

이러한 고급 개념을 이해하면 최적의 성능을 위해 MediaTailor를 구성하고 DASH 스트리밍 워크플로에서 발생할 수 있는 문제를 해결하는 데 도움이 됩니다.

## 광고 삽입 개념
<a name="what-is-ssai-terms"></a>

다음은 광고 삽입과 관련된 개념의 개요입니다.

**광고 가능 여부**  
광고 시간 내에 광고자에게 판매할 수 있는 특정 광고 시간 단위입니다. 광고 시간에는 여러 광고 시간이 포함될 수 있습니다. MediaTailor는 광고 결정 서버로부터 VAST 응답을 받으면 이러한 가용 시간에 개인화된 광고를 채웁니다.

**광고 브레이크**  
프로그래밍 중 광고가 표시되는 기간입니다. 광고 브레이크는 콘텐츠 전(프리롤), 콘텐츠 중(미드롤) 또는 콘텐츠 후(포스트롤)에 발생할 수 있습니다. MediaTailor는 SCTE-35와 같은 마커를 통해 매니페스트의 광고 시간을 식별합니다.

**광고 결정 서버(ADS)**  
현재 광고 캠페인 및 최종 사용자 기본 설정을 포함한 기준을 바탕으로 광고 스팟 사양을 제공하는 서버입니다.

**구성**  
MediaTailor에서 상호 작용하는 객체입니다. 구성에는 오리진 서버 및 광고 결정 서버(ADS)에 대한 위치 정보가 들어 있습니다. 또한 구성에는 MediaTailor 안팎으로 액세스 포인트를 제공하는 엔드포인트가 있습니다.

**동적 트랜스코딩**  
콘텐츠 요청 시 광고 품질 및 형식을 기본 비디오 콘텐츠에 일치시키는 프로세스입니다. 동적 트랜스코딩은 스토리지 요구 사항을 줄이고 재생이 광고와 비디오 콘텐츠 간에 원활히 전환되도록 보증합니다.

**매니페스트 조작**  
매니페스트가 적절한 광고 및 내용 조각을 참조하도록 오리진 서버에서 매니페스트를 재작성하는 프로세스입니다. 광고는 광고 결정 서버(ADS)의 VAST 응답에 따라 결정됩니다. 재생이 진행됨에 따라 MediaTailor는 콘텐츠 스트림에 광고 삽입 또는 광고 교체를 수행합니다.

**VAST 및 VMAP**  
Video Ad Serving Template(VAST) 및 Video Multiple Ad Playlist(VMAP)는 광고 결정 서버가 MediaTailor의 광고 요청에 보내는 XML 응답입니다. 응답은 MediaTailor가 매니페스트에 삽입하는 광고를 지정합니다. VMAP에는 광고 시간 및 광고 시간도 포함됩니다. MediaTailor 광고 삽입의 로직에 대한 자세한 내용은 섹션을 참조하세요[AWS Elemental MediaTailor 광고 삽입 동작 이해](ad-behavior.md). MediaTailor가 VAST와 작동하는 방식에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 광고 서버 통합 요구 사항](vast.md).

## 채널 어셈블리 개념
<a name="what-is-ca-terms"></a>

다음은 채널 어셈블리와 관련된 개념의 개요입니다.

**채널**  
채널은 소스 매니페스트를 선형 스트림으로 어셈블합니다. 각 채널에는 플레이어가 액세스하는 재생 URLs이 포함된 출력이 하나 이상 있습니다. 채널 출력은 VOD 소스에 대해 생성한 패키지 구성 설정에 해당합니다. 채널에는 채널 스트림에서 VOD 소스가 재생되는 시기를 결정하는 일정이 포함되어 있습니다.

**패키지 구성**  
패키지 구성은 특정 패키지 형식 특성을 포함하는 VOD 소스를 나타냅니다. 패키지 구성을 채널 출력과 연결하여 HTTP 라이브 스트리밍(HLS)과 같은 VOD 소스의 패키지 형식에 대한 재생 스트림을 생성합니다.

**일정**  
각 채널은 채널 일정에 정렬된 프로그램으로 구성됩니다. 일정에 따라 채널의 선형 스트림에서 프로그램이 재생되는 시간이 결정됩니다.

**소스 위치**  
소스 위치는 자산이 저장되는 오리진 서버를 나타냅니다. Amazon S3, HTTP 서버, 콘텐츠 전송 네트워크(CDN) 또는 MediaPackage와 같은 패키징 인프라일 수 있습니다.

**VOD 소스**  
VOD 소스는 영화나 TV 프로그램 에피소드와 같은 단일 콘텐츠를 나타냅니다. VOD 소스를 프로그램과 연결하여 채널의 선형 스트림에 추가합니다.

**대상**  
대상은 선택적으로 대체 콘텐츠를 가질 수 있는 뷰어 코호트를 정의합니다. 표준 선형 채널에서 대상을 정의할 수 있습니다.