

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

# AWS Elemental MediaTailor 를 사용하여 선형 어셈블 스트림 생성
<a name="channel-assembly"></a>

AWS Elemental MediaTailor 채널 어셈블리는 라이브 콘텐츠와 혼합된 기존 온디맨드 비디오(VOD) 콘텐츠를 사용하여 선형 스트리밍 채널을 생성할 수 있는 매니페스트 전용 서비스입니다. MediaTailor는 오리진 서버에서 직접 제공되는 콘텐츠 세그먼트에 절대 접촉하지 않습니다. 대신 MediaTailor는 오리진에서 매니페스트를 가져오고 이를 사용하여 기본 콘텐츠 세그먼트를 참조하는 라이브 슬라이딩 매니페스트 창을 조합합니다. 채널 어셈블리는 자산에서 자산으로 원활하게 재생하는 데 필요한 미디어 시퀀스 번호와 같은 항목을 추적합니다. 선형 조립 스트림은 기존의 다중 비트레이트 인코딩 및 패키징 VOD 콘텐츠를 사용하여 낮은 실행 비용으로 생성됩니다.

 SCTE-35 마커로 콘텐츠를 조건화하지 않고도 프로그램에 광고 시간을 삽입하여 채널 어셈블리 선형 스트림을 쉽게 수익화할 수 있습니다. MediaTailor 광고 삽입 서비스 또는 서버 측 광고 삽입 서비스와 함께 채널 어셈블리를 사용할 수 있습니다.

 채널 어셈블리를 시작하려면 섹션을 참조하세요[MediaTailor 채널 어셈블리 시작하기](channel-assembly-getting-started.md).

채널 어셈블리를 콘텐츠 전송 네트워크(CDN)와 통합하는 방법에 대한 자세한 내용은 섹션을 참조하세요[채널 어셈블리 및 CDN을 사용하여 MediaTailor 선형 채널 구축](ca-cdn-wflw.md).

**Topics**
+ [소스 위치 작업](channel-assembly-source-locations.md)
+ [채널 작업](channel-assembly-channels.md)
+ [채널 일정에 프로그램 추가](channel-assembly-programs.md)
+ [채널 스트림에 개인화된 광고 및 광고 시간 삽입](channel-assembly-integrating-mediatailor-ssai.md)
+ [채널 재생 시간 전환](channel-assembly-time-shift.md)

# 소스 위치 작업
<a name="channel-assembly-source-locations"></a>

소스 위치는 소스 콘텐츠가 저장되는 오리진 서버를 나타냅니다. 소스 위치는 Amazon S3, 표준 웹 서버, Amazon CloudFront와 같은 콘텐츠 전송 네트워크(CDN) 또는와 같은 패키징 오리진일 수 있습니다 AWS Elemental MediaPackage. MediaTailor는 소스 위치에서 콘텐츠 매니페스트를 검색하고 이를 사용하여 채널의 선형 스트림을 어셈블합니다.

 이 주제에서는 AWS Elemental MediaTailor 콘솔을 사용하여 소스 위치를 생성하고 삭제하는 방법과 VOD 소스로 작업하는 방법을 설명합니다.

**Topics**
+ [소스 위치 생성](channel-assembly-creating-source-locations.md)
+ [소스 위치에 대한 인증 구성](channel-assembly-source-locations-access-configuration.md)
+ [VOD 소스 작업](channel-assembly-working-vod-sources.md)
+ [라이브 소스 작업](channel-assembly-working-live-sources.md)
+ [패키지 구성 사용](channel-assembly-package-configurations.md)
+ [매니페스트 캐싱](channel-assembly-manifest-caching.md)

# 소스 위치 생성
<a name="channel-assembly-creating-source-locations"></a>

다음 절차에서는 MediaTailor 콘솔을 사용하여 소스 위치를 생성하는 방법을 설명합니다. MediaTailor API를 사용하여 소스 위치를 생성하는 방법에 대한 자세한 내용은 API 참조의 [CreateSourceLocation](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateSourceLocation.html)을 *AWS Elemental MediaTailor 참조*하세요.<a name="create-source-location-procedure"></a>

**소스 위치를 생성하려면**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **소스 위치를** 선택합니다.

1. 탐색 모음에서 **소스 위치 생성을** 선택합니다.

1. **소스 위치 구성**에서 오리진 서버의 이름과 기본 URL을 입력합니다.
   + **이름**: **my-origin**과 같은 소스 위치의 식별자입니다.
   + **기본 URL**: **https://111111111111.cloudfront.net** 같이 콘텐츠가 저장된 오리진 서버의 프로토콜 및 기본 URL입니다. URL은 **http://** 또는 **https://** 접두사가 붙은 표준 HTTP URL 형식이어야 합니다.

     선택적으로 소스 위치가 ** Amazon S3 버킷이고 Amazon S3 액세스 인증에 서명 버전 4를 사용하려는 경우 Amazon S3 인증에 SigV4**4 사용을 선택합니다. Amazon S3 AWS Amazon S3 고급 정보는 단원을 참조하십시오[소스 위치에 대한 인증 구성](channel-assembly-source-locations-access-configuration.md).

1. <a name="access-configuration-console"></a>**액세스 구성**에서 필요에 따라 소스 위치에 대한 인증을 구성합니다.
   + **액세스 유형**: MediaTailor가 소스 위치의 오리진에 저장된 콘텐츠에 액세스하는 데 사용하는 인증 유형을 선택합니다.
     + **Amazon S3용 SigVSigV4 ** - MediaTailor는 Amazon 서명 버전 4(SigV4)를 사용하여 오리진에 대한 요청을 승인합니다. 자세한 내용은 [SigV4를 사용하여 Amazon S3에 대한 요청 인증](channel-assembly-access-configuration-sigv4.md) 단원을 참조하십시오.
     + **Secrets Manager 액세스 토큰 인증** - MediaTailor는 사용자가 생성, 소유 및 관리하는 Secrets Manager 및 AWS KMS 고객 관리형 키를 사용하여 MediaTailor와 오리진 간의 액세스 토큰 인증을 용이하게 합니다. **Secrets Manager 액세스 토큰 인증을** 구성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[AWS Secrets Manager 액세스 토큰 인증 작업](channel-assembly-access-configuration-access-token.md).
       + **헤더 이름** - HTTP 헤더 이름을 지정합니다. MediaTailor는 HTTP 헤더를 사용하여 콘텐츠 매니페스트 요청의 오리진에 액세스 토큰을 전송합니다. `x-amz-` 또는 로 시작하지 않는 한 헤더 이름을 사용할 수 있습니다`x-amzn-`. [MediaPackage CDN 권한](https://docs.aws.amazon.com/mediapackage/latest/ug/cdn-auth.html) 부여와 통합하는 경우 헤더 값은 여야 합니다`X-MediaPackage-CDNIdentifier`.
       + **보안 암호 문자열 키** - Secrets Manager 보안 암호에 지정한 `SecretString` 키입니다. 예를 들어에와 같은 키 및 값 페어가 `SecretString` 포함된 경우 `{"MyHeaderName": "11111111-2222-3333-4444-111122223333"}``MyHeaderName`는이 필드에 입력하는 `SecretString` 키입니다.
       + **보안 암호 ARN** - 액세스 토큰을 보유한 보안 암호의 ARN입니다. step-by-step 가이드는 단원을 참조하십시오[2단계: AWS Secrets Manager 보안 암호 생성](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-how-to-create-secret).

1. **세그먼트 전송 서버 구성**에서 필요에 따라 콘텐츠 세그먼트를 전송하도록 서버를 구성합니다.
   + **기본 세그먼트 전송 서버 사용**: CDN과 같은 콘텐츠 세그먼트를 전송하는 데 사용되는 서버의 기본 URL을 입력합니다. 소스 위치 서버와 다른 서버를 사용하여 콘텐츠 세그먼트를 제공하려는 경우 **기본 세그먼트 호스트 이름을** 구성합니다. 예를 들어, **기본 HTTP URL**(MediaTailor가 매니페스트에 액세스하는 데 사용하는 것)과 **기본 세그먼트 기본 URL**(플레이어가 콘텐츠 세그먼트에 액세스하는 데 사용하는 것)에 대해 다른 CDN 구성을 사용하여 플레이어의 오리진 매니페스트에 대한 액세스를 제한할 수 있습니다. 값을 입력하지 않으면 MediaTailor는 세그먼트 전송을 위해 기본적으로 소스 위치 서버로 설정됩니다.
   + **명명된 세그먼트 전송 서버 사용**: 기본 세그먼트 전송 서버를 구성한 경우 추가 세그먼트 전송 서버를 구성할 수도 있습니다. 각 이름에는 고유한 이름과 기본 URL이 있어야 합니다. 기본 URL은 전체 HTTP URL이거나 `/some/path/`와 같은 상대 경로일 수 있습니다. 이름은 MediaTailor가 콘텐츠 세그먼트에 대한 요청을 수신할 때 사용해야 하는 서버를 식별하는 데 사용됩니다. 요청에 헤더가 포함되어 `X-MediaTailor-SegmentDeliveryConfigurationName` 있고 헤더 값이 이름과 일치하는 경우 해당 기본 URL을 사용하여 콘텐츠를 제공합니다. 헤더가 요청에 포함되어 있지 않거나 이름과 일치하지 않는 경우 기본 세그먼트 전송 서버가 사용됩니다.

1. **소스 위치 생성을** 선택합니다.

1. 소스 위치를 더 추가하려면 2\$16단계를 반복합니다.

# 소스 위치에 대한 인증 구성
<a name="channel-assembly-source-locations-access-configuration"></a>

**액세스 구성을** 사용하여 소스 위치에 대한 인증을 구성합니다. 액세스 구성이 켜져 있는 경우 MediaTailor는 MediaTailor와 오리진 간에 요청이 승인된 경우에만 오리진에서 소스 매니페스트를 검색합니다. 액세스 구성은 기본적으로 꺼져 있습니다.

MediaTailor는 다음 인증 유형을 지원합니다.
+ Amazon S3 인증을 위한 SigVSigV4 
+ AWS Secrets Manager 액세스 토큰
+ MediaPackage 버전 2(v2) 인증을 위한 SigV4 

 이 장에서는 SigV4 for Amazon S3, MediaPackage v2 및 AWS Secrets Manager 소스 위치 인증을 위한 액세스 토큰을 사용하는 방법을 설명합니다.

 자세한 내용을 보려면 해당 주제를 선택합니다.

**Topics**
+ [SigV4를 사용하여 Amazon S3에 대한 요청 인증](channel-assembly-access-configuration-sigv4.md)
+ [MediaPackage 버전 2용 SigV4 작업](channel-assembly-access-configuration-sigv4-empv2.md)
+ [AWS Secrets Manager 액세스 토큰 인증 작업](channel-assembly-access-configuration-access-token.md)

# SigV4를 사용하여 Amazon S3에 대한 요청 인증
<a name="channel-assembly-access-configuration-sigv4"></a>

Amazon S3용 서명 버전 4(SigV4)는 HTTPS를 통해 Amazon S3에 대한 요청을 인증하는 데 사용되는 서명 프로토콜입니다. Amazon S3용 SigV4를 사용하는 경우 MediaTailor는 오리진으로 사용되는 Amazon S3 버킷에 대한 HTTPS 요청에 서명된 권한 부여 헤더를 포함합니다. 서명된 권한 부여 헤더가 유효한 경우 오리진은 요청을 이행합니다. 유효하지 않으면 요청이 실패합니다.

 용 SigV4에 대한 일반적인 정보는 Amazon S3 API AWS Key Management Service참조의 [요청 인증(AWS 서명 버전 4) 주제를 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html). *Amazon S3 * 

**참고**  
MediaTailor는 항상 SigV4를 사용하여 이러한 오리진에 대한 요청에 서명합니다.

## 요구 사항
<a name="channel-assembly-access-configuration-sigv4-how-to"></a>

 소스 위치에 대해 SigV4 for Amazon S3 인증을 활성화하는 경우 다음 요구 사항을 충족해야 합니다.
+ IAM에서 **mediatailor.amazonaws.com** 보안 주체 액세스 권한을 부여하여 MediaTailor가 Amazon S3 버킷에 액세스하도록 허용해야 합니다. IAM에서 액세스를 구성하는 방법에 대한 자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [액세스 관리를](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) 참조하세요.
+ **mediatailor.amazonaws.com** 서비스 보안 주체는 VOD 소스 패키지 구성에서 참조하는 모든 다변량 재생 목록을 읽을 수 있는 권한이 있어야 합니다.
+ API 호출자는 MediaTailor VOD 소스 패키지 구성에서 참조하는 모든 다변량 재생 목록을 읽을 수 있는 **s3:GetObject** IAM 권한이 있어야 합니다.
+ MediaTailor 소스 위치 기본 URL은 Amazon S3 가상 호스팅 스타일 요청 URL 형식을 따라야 합니다. 예: https://*bucket-name*.s3.*Region*.amazonaws.com/*key-name*. Amazon S3 호스팅 가상 방식 액세스에 대한 자세한 내용은 [가상 호스팅 방식 요청을 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access).

# MediaPackage 버전 2용 SigV4 작업
<a name="channel-assembly-access-configuration-sigv4-empv2"></a>

MediaPackage v2용 서명 버전 4(SigV4)는 HTTP를 통해 MediaPackage v2에 대한 요청을 인증하는 데 사용되는 서명 프로토콜입니다. MediaPackage v2용 SigV4를 사용하는 경우 MediaTailor는 오리진으로 사용되는 MediaPackage v2 엔드포인트에 대한 HTTP 요청에 서명된 권한 부여 헤더를 포함합니다. 서명된 권한 부여 헤더가 유효한 경우 오리진은 요청을 이행합니다. 유효하지 않으면 요청이 실패합니다.

 MediaPackage v2용 SigV4에 대한 일반적인 정보는 MediaPackage v2 API 참조의 [요청 인증(AWS 서명 버전 4)](https://docs.aws.amazon.com/mediapackage/latest/userguide/sig-v4-authenticating-requests.html) 주제를 참조하세요. *MediaPackage *

## 요구 사항
<a name="channel-assembly-access-configuration-sigv4-empv2-how-to"></a>

 소스 위치에 대해 MediaPackage v2 인증을 위해 SigV4를 활성화하는 경우 다음 요구 사항을 충족해야 합니다.
+ 엔드포인트의 오리진 액세스 정책에서 **mediatailor.amazonaws.com** 보안 주체 액세스 권한을 부여하여 MediaTailor가 MediaPackage v2 엔드포인트에 액세스하도록 허용해야 합니다.
+ MediaTailor 소스 위치 기본 URL은 MediaPackage v2 엔드포인트여야 합니다.
+ API 호출자는 **MediaTailor 소스 패키징 구성에서 참조하는 모든 다변량 재생 목록을 읽을 수 있는 mediapackagev2:GetObject** IAM 권한이 있어야 합니다. MediaTailor 

# AWS Secrets Manager 액세스 토큰 인증 작업
<a name="channel-assembly-access-configuration-access-token"></a>

MediaTailor는 *Secrets Manager 액세스 토큰 인증을* 지원합니다. AWS Secrets Manager 액세스 토큰 인증을 통해 MediaTailor는 AWS Key Management Service (AWS KMS) 고객 관리형 키와 사용자가 생성, 소유 및 관리하는 보안 암호를 사용하여 오리 AWS Secrets Manager 진에 대한 요청을 인증합니다.

이 섹션에서는 Secrets Manager 액세스 토큰 인증의 작동 방식을 설명하고 Secrets Manager 액세스 토큰 인증을 구성하는 방법에 대한 step-by-step 정보를 제공합니다. 에서 Secrets Manager 액세스 토큰 인증을 AWS Management Console 사용하거나 AWS APIs.

**Topics**
+ [AWS Secrets Manager 액세스 토큰 인증 구성](channel-assembly-access-configuration-access-configuring.md)
+ [CDN 권한 부여를 사용하는 MediaPackage 엔드포인트와 통합](channel-assembly-access-configuration-access-token-integrating-emp-cdn-auth.md)
+ [MediaTailor Secrets Manager 액세스 토큰 인증 작동 방식](channel-assembly-access-configuration-overview.md)

# AWS Secrets Manager 액세스 토큰 인증 구성
<a name="channel-assembly-access-configuration-access-configuring"></a>

 AWS Secrets Manager 액세스 토큰 인증을 사용하려면 다음 단계를 수행합니다.

1. [고객 관리형 AWS Key Management Service 키를 생성합니다](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).

1. [AWS Secrets Manager 보안 암호를 생성합니다](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html). 보안 암호에는 액세스 토큰이 포함되어 있으며,이 토큰은 Secrets Manager에 암호화된 보안 암호 값으로 저장됩니다. MediaTailor는 AWS KMS 고객 관리형 키를 사용하여 보안 암호 값을 해독합니다.

1. Secrets Manager 액세스 토큰 인증을 사용하도록 AWS Elemental MediaTailor 소스 위치를 구성합니다.

다음 섹션에서는 AWS Secrets Manager 액세스 토큰 인증을 구성하는 방법에 대한 step-by-step 지침을 제공합니다.

**Topics**
+ [1단계: AWS KMS 대칭 고객 관리형 키 생성](#channel-assembly-access-configuration-access-token-how-to-create-kms)
+ [2단계: AWS Secrets Manager 보안 암호 생성](#channel-assembly-access-configuration-access-token-how-to-create-secret)
+ [3단계: 액세스 토큰 인증을 사용하여 MediaTailor 소스 위치 구성](#channel-assembly-access-configuration-access-token-how-to-enable-access-token-auth)

## 1단계: AWS KMS 대칭 고객 관리형 키 생성
<a name="channel-assembly-access-configuration-access-token-how-to-create-kms"></a>

 AWS Secrets Manager 를 사용하여 보안 암호에 `SecretString` 저장된 형태의 액세스 토큰을 저장합니다. 는 사용자가 생성, 소유 및 관리하는 *AWS KMS 대칭 고객 관리형 키를 *사용하여 암호화`SecretString`됩니다. MediaTailor는 대칭 고객 관리형 키를 사용하여 권한 부여를 통해 보안 암호에 대한 액세스를 용이하게 하고 보안 암호 값을 암호화 및 해독합니다.

고객 관리형 키를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
+ 키 정책 수립 및 유지
+ IAM 정책 및 권한 부여 수립 및 유지
+ 키 정책 활성화 및 비활성화
+ 암호화 키 구성 요소 교체
+  태그 추가

  Secrets Manager가 AWS KMS 를 사용하여 보안 암호를 보호하는 방법에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의가를 [AWS Secrets Manager 사용하는 방법을 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-secrets-manager.html) 참조하세요.

  고객 관리형 키에 대한 자세한 내용은 *AWS Key Management Service 개발자 가이드*의 [고객 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)를 참조하세요.

**참고**  
AWS KMS 고객 관리형 키 사용에 요금이 적용됩니다. 요금에 대한 자세한 내용은 [AWS Key Management Service 요금](https://aws.amazon.com/kms/pricing/) 페이지를 참조하세요.

를 사용하거나 API를 AWS Management Console 사용하여 프로그래밍 방식으로 AWS KMS 대칭 고객 관리형 키를 생성할 수 있습니다. AWS KMS APIs

### 대칭 고객 관리형 키를 만들려면
<a name="channel-assembly-access-configuration-access-token-create-symmetric-key"></a>

개발자 안내서의 [대칭 고객 관리형 키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) 단계를 따릅니다. *AWS Key Management Service * 

키 Amazon 리소스 이름(ARN)을 기록해 둡니다.에서 필요합니다[2단계: AWS Secrets Manager 보안 암호 생성](#channel-assembly-access-configuration-access-token-how-to-create-secret).

### 암호화 컨텍스트
<a name="channel-assembly-access-configuration-access-token-encryption-context"></a>

*암호화 컨텍스트*는 데이터에 대한 추가 컨텍스트 정보를 포함하는 선택적 키-값 페어 세트입니다.

Secrets Manager에는를 [암호화하고 해독할 때 암호화 컨텍스트](https://docs.aws.amazon.com/kms/latest/developerguide/services-secrets-manager.html#asm-encryption-context)가 포함됩니다`SecretString`. 암호화 컨텍스트에는 암호화를 특정 보안 암호로 제한하는 보안 암호 ARN이 포함됩니다. 추가 보안 조치로 MediaTailor는 사용자를 대신하여 AWS KMS 권한 부여를 생성합니다. MediaTailor는 Secrets Manager 암호화 컨텍스트에 포함된 보안 암호 ARN과 `SecretString` 연결된 만 *해독*하도록 허용하는 [GrantConstraints](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) 작업을 적용합니다.

Secrets Manager가 암호화 컨텍스트를 사용하는 방법에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [암호화 컨텍스트 ](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)주제를 참조하세요.

### 키 정책 설정
<a name="channel-assembly-access-configuration-access-token-key-policy"></a>

키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 생성할 때 기본 키 정책을 사용할 수 있습니다. 자세한 내용은 **AWS Key Management Service 개발자 가이드의 [Authentication and access control for AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)를 참조하세요.

MediaTailor 소스 위치 리소스와 함께 고객 관리형 키를 사용하려면 [CreateSourceLocation](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateSourceLocation.html) 또는 [UpdateSourceLocation](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_UpdateSourceLocation.html)을 호출하는 IAM 보안 주체에 다음 API 작업을 사용할 수 있는 권한을 부여해야 합니다.
+ `kms:CreateGrant` - 고객 관리형 키에 권한 부여를 추가합니다. MediaTailor는 고객 관리형 키에 대한 권한 부여를 생성하여 키를 사용하여 액세스 토큰 인증으로 구성된 소스 위치를 생성하거나 업데이트할 수 있습니다. [에서 권한 부여 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)사용에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서를 참조하세요.*

  이렇게 하면 MediaTailor가 다음을 수행할 수 있습니다.
  + [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)를 호출할 때 Secrets Manager 보안 암호를 성공적으로 검색할 수 `Decrypt` 있도록를 호출합니다.
  + 소스 위치가 삭제되거나 보안 암호에 대한 액세스가 취소되면를 호출`RetireGrant`하여 권한 부여를 사용 중지합니다.

다음은 MediaTailor에 추가할 수 있는 정책 설명의 예입니다.

```
{
        "Sid": "Enable MediaTailor Channel Assembly access token usage for the MediaTailorManagement IAM role",
        "Effect": "Allow",
        "Principal": {
        "AWS": "arn:aws:iam::account number:role/MediaTailorManagement"
    },
     "Action": "kms:CreateGrant",
     "Resource": "*",
     "Condition": {
         "StringEquals": {
             "kms:ViaService": "mediatailor.region.amazonaws.com"
        }
    }
}
```

정책에서 권한을 지정하고 키 액세스 문제를 해결하는 방법에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [의 권한 부여 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)를 참조하세요.

## 2단계: AWS Secrets Manager 보안 암호 생성
<a name="channel-assembly-access-configuration-access-token-how-to-create-secret"></a>

Secrets Manager를 사용하여 AWS KMS 고객 관리형 키로 `SecretString` 암호화된 형식으로 액세스 토큰을 저장합니다. MediaTailor는 키를 사용하여를 복호화합니다`SecretString`. Secrets Manager가 AWS KMS 를 사용하여 보안 암호를 보호하는 방법에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의가를 [AWS Secrets Manager 사용하는 방법을 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-secrets-manager.html) 참조하세요.

를 소스 위치 오리진 AWS Elemental MediaPackage 으로 사용하고 MediaTailor Secrets Manager 액세스 토큰 인증을 사용하려는 경우 절차를 따릅니다[CDN 권한 부여를 사용하는 MediaPackage 엔드포인트와 통합](channel-assembly-access-configuration-access-token-integrating-emp-cdn-auth.md).

를 사용하거나 Secrets Manager API를 AWS Management Console 사용하여 프로그래밍 방식으로 Secrets Manager 보안 암호를 생성할 수 있습니다. APIs

### 보안 암호 생성
<a name="channel-assembly-access-configuration-access-token-create-secret"></a>

*AWS Secrets Manager 사용 설명서*의 [를 사용하여 보안 암호 생성 및 관리 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) 단계를 따릅니다.

보안 암호를 생성할 때 다음 사항을 고려해야 합니다.
+ [KmsKeyId](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicaRegionType.html#SecretsManager-Type-ReplicaRegionType-KmsKeyId)는 1단계에서 생성한 고객 관리[형 키의 키 ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html)이어야 합니다.
+ [SecretString](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString)을 제공해야 합니다. 는 액세스 토큰이 포함된 키와 값을 포함하는 유효한 JSON 객체`SecretString`여야 합니다. 예: \$1"MyAccessTokenIdentifier":"112233445566"\$1. 값은 8\$1128자여야 합니다.

  액세스 토큰 인증으로 소스 위치를 구성할 때 `SecretString` 키를 지정합니다. MediaTailor는 키를 사용하여에 저장된 액세스 토큰을 조회하고 검색합니다`SecretString`.

  보안 암호 ARN과 `SecretString` 키를 기록해 둡니다. 액세스 토큰 인증을 사용하도록 소스 위치를 구성할 때 이를 사용합니다.

### 리소스 기반 보안 암호 정책 연결
<a name="channel-assembly-access-configuration-access-token-secret-policy"></a>

MediaTailor가 보안 암호 값에 액세스하도록 하려면 리소스 기반 정책을 보안 암호에 연결해야 합니다. 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [Secrets Manager 보안 암호에 권한 정책 연결을](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) 참조하세요.

다음은 MediaTailor에 추가할 수 있는 정책 설명 예제입니다.

------
#### [ JSON ]

****  

```
{

    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "mediatailor.amazonaws.com" 
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name" 
        } 
    ] 

}
```

------

## 3단계: 액세스 토큰 인증을 사용하여 MediaTailor 소스 위치 구성
<a name="channel-assembly-access-configuration-access-token-how-to-enable-access-token-auth"></a>

를 사용하거나 MediaTailor API를 AWS Management Console 사용하여 프로그래밍 방식으로 Secrets Manager 액세스 토큰 인증을 구성할 수 있습니다. APIs

**Secrets Manager 액세스 토큰 인증을 사용하여 소스 위치를 구성하려면**

*AWS Elemental MediaTailor 사용 설명서*의 [Access configuration](channel-assembly-creating-source-locations.md#access-configuration-console)에 대한 단계를 따릅니다.

# CDN 권한 부여를 사용하는 MediaPackage 엔드포인트와 통합
<a name="channel-assembly-access-configuration-access-token-integrating-emp-cdn-auth"></a>

를 소스 위치 오리진 AWS Elemental MediaPackage 으로 사용하는 경우 MediaTailor는 CDN 인증을 사용하는 MediaPackage 엔드포인트와 통합할 수 있습니다.

CDN 권한 부여를 사용하는 MediaPackage 엔드포인트와 통합하려면 다음 절차를 사용합니다.<a name="channel-assembly-access-configuration-access-token-integrating-emp-cdn-auth-procedure"></a>

**MediaPackage와 통합하려면**

1. 아직 [CDN 권한 부여를 설정하지 않은 경우 사용 설명서](https://docs.aws.amazon.com/mediapackage/latest/ug/cdn-auth-setup.html)*AWS Elemental MediaPackage *의 CDN 권한 부여 설정 단계를 완료합니다.

1. [1단계: AWS KMS 대칭 고객 관리형 키 생성](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-how-to-create-kms)의 절차를 완료합니다.

1. MediaPackage CDN 권한 부여를 설정할 때 생성한 보안 암호를 수정합니다. 다음 값으로 보안 암호를 수정합니다.
   + 에서 생성한 고객 관리형 키 ARN`KmsKeyId`으로를 업데이트합니다[1단계: AWS KMS 대칭 고객 관리형 키 생성](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-how-to-create-kms).
   + (선택 사항)의 경우 UUID를 새 값으로 `SecretString`교체하거나와 같은 표준 JSON 형식의 키 및 값 페어인 경우 기존의 암호화된 보안 암호를 사용할 수 있습니다`{"MediaPackageCDNIdentifier": "112233445566778899"}`.

1. [리소스 기반 보안 암호 정책 연결](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-secret-policy)의 단계를 수행합니다.

1. [3단계: 액세스 토큰 인증을 사용하여 MediaTailor 소스 위치 구성](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-how-to-enable-access-token-auth)의 단계를 수행합니다.

# MediaTailor Secrets Manager 액세스 토큰 인증 작동 방식
<a name="channel-assembly-access-configuration-overview"></a>

액세스 토큰 인증을 사용하도록 소스 위치를 생성하거나 업데이트한 후 MediaTailor는 오리진에서 소스 콘텐츠 매니페스트를 요청할 때 HTTP 헤더에 액세스 토큰을 포함합니다.

다음은 MediaTailor가 소스 위치 오리진 인증에 Secrets Manager 액세스 토큰 인증을 사용하는 방법에 대한 개요입니다.

1. 액세스 토큰 인증을 사용하는 MediaTailor 소스 위치를 생성하거나 업데이트하면 MediaTailor는 Secrets Manager에 [DescribeSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html#SecretsManager-DescribeSecret-request-SecretId) 요청을 보내 보안 암호와 연결된 AWS KMS 키를 확인합니다. 소스 위치 액세스 구성에 보안 암호 ARN을 포함합니다.

1. MediaTailor는 고객 관리형 키에 대한 [권한 부여](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)를 생성하므로 MediaTailor는 키를 사용하여 SecretString에 저장된 액세스 토큰에 액세스하고 암호를 해독할 수 있습니다. 권한 부여 이름은 입니다`MediaTailor-SourceLocation-your AWS 계정 ID-source location name`.

   언제든지 권한 부여에 대한 액세스를 취소하거나 고객 관리형 키에 대한 MediaTailor의 액세스를 제거할 수 있습니다. 자세한 내용은 API 참조의 [RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)를 참조하세요. *AWS Key Management Service * 

1. VOD 소스가 생성 또는 업데이트되거나 프로그램에서 사용되는 경우 MediaTailor는 소스 위치에 HTTP 요청을 보내 소스 위치의 VOD 소스와 연결된 소스 콘텐츠 매니페스트를 검색합니다. VOD 소스가 액세스 토큰이 구성된 소스 위치와 연결된 경우 요청은 액세스 토큰을 HTTP 헤더 값으로 포함합니다.

# VOD 소스 작업
<a name="channel-assembly-working-vod-sources"></a>

VOD 소스는 소스 위치에 추가하는 비디오 또는 팟캐스트 에피소드와 같은 단일 콘텐츠를 나타냅니다. 하나 이상의 VOD 소스를 소스 위치에 추가한 다음 채널을 생성한 후 각 VOD 소스를 프로그램에 연결합니다.

각 VOD 소스에는 하나 이상의 *패키지 구성*이 있어야 합니다. 패키지 구성은 VOD 소스의 패키지 형식, 매니페스트 위치 및 소스 그룹을 지정합니다. 채널을 생성할 때 패키지 구성의 소스 그룹을 사용하여 채널에 해당 출력을 생성합니다. 예를 들어 소스가 HLS와 DASH의 두 가지 형식으로 패키징된 경우 DASH용과 HLS용의 두 가지 패키지 구성을 생성합니다. 그런 다음 각 패키지 구성에 대해 하나씩 두 개의 채널 출력을 생성합니다. 각 채널 출력은 재생 요청에 사용되는 엔드포인트를 제공합니다. 따라서 앞의 예제를 사용하여 채널은 HLS 재생 요청에 대한 엔드포인트와 DASH 재생 요청에 대한 엔드포인트를 제공합니다.

매니페스트의 광고 마커 오프셋을 자동으로 감지하려면 각 광고 마커가 모든 패키지 구성에서 동일한 오프셋에 나타나고 지속 시간이 0이어야 합니다. HLS의 경우 MediaTailor는 `DATERANGE` 및` EXT-X-CUE-OUT` 태그를 감지합니다. DASH의 경우 HLS는 각 태그 내에서 첫 번째 이벤트 `EventStream` 태그를 감지합니다.

다음 예제에서는 지속 시간이 0.0인 `DATERANGE` 태그로 인해 12,000ms의 오프셋에서 광고 중단 기회가 감지됩니다. 오프셋이 0ms인 첫 번째 `DATERANGE` 태그는 지속 시간이 10.0이므로 감지되지 않습니다.

```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DATERANGE:ID="1001",START-DATE="2021-09-16T23:51:05.249Z",DURATION=10.0,SCTE35-OUT=0xFC302500000003289800FFF01405000003E97FEFFE1D381BD8FE000DBBA00001010100000FD2B275
#EXTINF:6.000,
../../../719f911124e0495cbb067c91c1d6c298/1785a16ca14d4c2884781f25333f6766/index_1_0.ts
#EXTINF:6.000,
../../../719f911124e0495cbb067c91c1d6c298/1785a16ca14d4c2884781f25333f6766/index_1_1.ts
#EXT-X-DATERANGE:ID="1001",START-DATE="2021-09-16T23:51:05.249Z",DURATION=0.0,SCTE35-OUT=0xFC302500000003289800FFF01405000003E97FEFFE1D381BD8FE000DBBA00001010100000FD2B275
#EXTINF:6.000,
../../../719f911124e0495cbb067c91c1d6c298/1785a16ca14d4c2884781f25333f6766/index_1_2.ts
```

다음 예제에서는 `EXT-X-CUE-OUT` 태그의 지속 시간이 0이고 바로 뒤에 `EXT-X-CUE-IN` 태그가 오기 때문에 0ms의 오프셋에서 광고 중단 기회가 감지됩니다. 두 번째 `EXT-X-CUE-OUT`/`EXT-X-CUE-IN` 페어는 지속 시간이 10이므로 감지되지 않습니다.

```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-CUE-OUT:0
#EXT-X-CUE-IN
#EXTINF:6.000,
../../../719f911124e0495cbb067c91c1d6c298/1785a16ca14d4c2884781f25333f6766/index_1_0.ts
#EXTINF:6.000,
../../../719f911124e0495cbb067c91c1d6c298/1785a16ca14d4c2884781f25333f6766/index_1_1.ts
#EXT-X-CUE-OUT:10
...
#EXT-X-CUE-IN
#EXTINF:6.000,
../../../719f911124e0495cbb067c91c1d6c298/1785a16ca14d4c2884781f25333f6766/index_1_2.ts
```

다음 예제에서는의 첫 번째 이벤트가 PT0.000S부터 시작되는 기간에 `EventStream` 발생하기 때문에 0ms의 오프셋에서 광고 중단 기회가 감지됩니다. `Event`의 두 번째 `EventStream`는 감지되지 않습니다.

```
<Period start="PT0.000S" id="9912561" duration="PT29.433S">
<EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
<Event duration="0">
  <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="1241950593" tier="4095">
    <scte35:SpliceInsert spliceEventId="99" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1">
      <scte35:Program><scte35:SpliceTime ptsTime="3552273000"/></scte35:Program>
      <scte35:BreakDuration autoReturn="true" duration="2700000"/>
    </scte35:SpliceInsert>
  </scte35:SpliceInfoSection>
</Event>
<Event duration="0"> 
  <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="1241950593" tier="4095">
    <scte35:SpliceInsert spliceEventId="99" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1">
      <scte35:Program><scte35:SpliceTime ptsTime="3552273000"/></scte35:Program>
      <scte35:BreakDuration autoReturn="true" duration="2700000"/>
    </scte35:SpliceInsert>
  </scte35:SpliceInfoSection>
</Event>
</EventStream>
  ...
</Period>
```

# 소스 위치에 VOD 소스 추가
<a name="channel-assembly-add-vod-source"></a>

다음 절차에서는 MediaTailor 콘솔을 사용하여 소스 위치에 VOD 소스를 추가하고 패키지 구성을 설정하는 방법을 설명합니다. MediaTailor API를 사용하여 VOD 소스를 추가하는 방법에 대한 자세한 내용은 API 참조의 [CreateVodSource](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateVodSource.html)를 *AWS Elemental MediaTailor 참조*하세요.

**중요**  
VOD 소스를 추가하기 전에 다음 요구 사항을 충족하는지 확인합니다.  
소스 변형의 길이는 소스 매니페스트에 따라 모두 동일해야 합니다.
패키지 구성 내에서 각 소스는 동일한 수의 하위 스트림을 가져야 합니다.
이러한 요구 사항으로 인해 제목 또는 자동 ABR당를 지원하지 않습니다. 이러한 인코딩 방법은 다양한 매니페스트 길이와 하위 스트림을 생성할 수 있기 때문입니다.  
인코딩된 소스가 이러한 요구 사항을 충족하는지 확인하려면 최소 세그먼트 길이가 포함된 인코딩 템플릿을 사용하는 것이 좋습니다.<a name="add-vod-sources-procedure"></a>

**소스 위치에 VOD 소스를 추가하려면**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **소스 위치를** 선택합니다.

1. **소스 위치** 창에서 [소스 위치를 생성하려면](channel-assembly-creating-source-locations.md#create-source-location-procedure) 절차에서 생성한 소스 위치를 선택합니다.

1. **VOD 소스 추가**를 선택합니다.

1. **VOD 소스 세부 정보**에서 VOD 소스의 이름을 입력합니다.
   + **이름**: **my-example-video**와 같은 VOD 소스의 식별자입니다.

1. **패키지 구성** > *source-group-name*에서 패키지 구성에 대한 정보를 입력합니다.
**참고**  
소스의 패키지 구성은 모두 소스 매니페스트에 따라 기간이 동일해야 합니다. 또한 패키지 구성 내의 모든 소스에는 동일한 수의 하위 스트림이 있어야 합니다. 이러한 요구 사항을 충족하려면 자산에 인코딩 템플릿을 사용하는 것이 좋습니다. 최소 세그먼트 길이가 1초인 인코딩 템플릿을 사용하는 것이 좋습니다. MediaTailor는 제목당 또는 자동 적응형 비트레이트 스트리밍(ABR)을 지원하지 않습니다. 이러한 인코딩 방법은 이러한 요구 사항을 위반하기 때문입니다.
   + **소스 그룹**: HLS-4k와 같이이 패키지 구성을 설명하는 소스 그룹 이름을 입력합니다. 이 이름을 기록해 둡니다. 채널의 출력을 생성할 때 참조합니다. 자세한 내용은 [채널의 출력과 함께 소스 그룹 사용](channel-assembly-source-groups.md) 단원을 참조하십시오.
   + **유형**:이 구성의 패키지 형식을 선택합니다. MediaTailor는 HLS 및 DASH를 지원합니다.
   + **상대 경로**: 소스 위치의 **기본 HTTP URL**에서 매니페스트까지의 상대 경로입니다. 예: **/my/path/index.m3u8**.
**참고**  
MediaTailor는 상위 다변량 재생 목록에 포함된 닫힌 캡션과 하위 스트림을 모두 자동으로 가져옵니다. 각 소스 변환(DASH) 또는 변형 스트림(HLS)에 대해 별도의 패키지 구성을 생성할 필요가 없습니다.

    패키지 구성에 대한 자세한 내용은 섹션을 참조하세요[패키지 구성 사용](channel-assembly-package-configurations.md).

1. **VOD 소스 추가**를 선택합니다.

   VOD 소스를 더 추가하려면 절차의 4\$17단계를 반복합니다.

# 라이브 소스 작업
<a name="channel-assembly-working-live-sources"></a>

*라이브 소스*는 소스 위치에 추가하는 라이브 축구 게임 또는 뉴스 방송과 같은 단일 라이브 스트림을 나타냅니다. 채널을 생성한 후 소스 위치에 하나 이상의 라이브 소스를 추가한 다음 각 라이브 소스를 프로그램과 연결합니다.

MediaTailor는 다음과 같은 유형의 선형 채널 어셈블리를 지원합니다.
+ VOD-to-live 콘텐츠가 포함된 채널의 VOD 소스
+ VODlive-to-live 콘텐츠와 VOD-to-live 소스

VOD-to-live 콘텐츠의 예로는 VOD 자산 라이브러리를 라이브 스트림으로 어셈블하는 채널이 있습니다. VODlive-to-live 콘텐츠와 VOD-to-live 콘텐츠의 한 가지 예는 야간 뉴스 이벤트 또는 사전 예약된 라이브 스포츠 이벤트를 제외하고 대부분 VOD 콘텐츠를 표시하는 채널입니다. VODlive-to-live 콘텐츠와 VOD-to-live 콘텐츠의 또 다른 예는 오리진이 시간대에 따라 달라지는 모든 live-to-live 채널입니다.

라이브 소스를 사용하여 대부분 국가 프로그래밍을 표시하지만 지역 프로그래밍 재정의를 포함하고 VOD 콘텐츠가 혼합된 리전 채널을 설정할 수 있습니다. 이렇게 하려면 국가 콘텐츠에 대해 인코더/패키저 페어 하나를 실행한 다음 해당 리전이 활성화되면 리전 인코더를 실행합니다. 그런 다음 각각 고유한 일정이 있는 리전 채널 어셈블리 채널을 생성합니다. 이렇게 하면 뷰어가 필요에 따라 앞뒤로 전환할 수 있습니다. 이 설정은 인코딩/패키징 비용을 최소화하는 데 도움이 됩니다.

각 라이브 소스에는 하나 이상의 패키지 구성이 있어야 합니다. *패키지 구성*은 라이브 소스의 패키지 형식, 매니페스트 위치 및 소스 그룹을 지정합니다. 채널을 생성할 때 패키지 구성의 소스 그룹을 사용하여 채널에 해당 출력을 생성합니다. 예를 들어 소스가 HLS와 DASH의 두 가지 형식으로 패키징된 경우 DASH용과 HLS용의 두 가지 패키지 구성을 생성합니다. 그런 다음 각 패키지 구성에 대해 하나씩 두 개의 채널 출력을 생성합니다. 각 채널 출력은 재생 요청에 사용되는 엔드포인트를 제공합니다. 이 예제에서 채널은 HLS 재생 요청에 대한 엔드포인트와 DASH 재생 요청에 대한 엔드포인트를 제공합니다.

## 라이브 소스 사용에 대한 일반 요구 사항
<a name="channel-assembly-live-sources-requirements"></a>

라이브 소스를 사용하는 경우 콘텐츠는 다음 일반 요구 사항에 부합해야 합니다.
+ HLS 라이브 소스 - 매니페스트 창의 첫 번째 세그먼트와 모든 불연속성에 `#EXT-X-PROGRAM-DATE-TIME` 태그를 제공해야 합니다.
+ HLS - 광고 마커를 로 구성해야 합니다`DATERANGE`.
+ 소스 매니페스트 기간 - MediaTailor 채널 어셈블리 채널의 매니페스트 기간보다 기간이 긴 매니페스트 기간을 사용하는 것이 좋습니다. 채널 어셈블리 채널의 매니페스트 기간보다 30초 이상 긴 매니페스트 기간 사용을 고려하는 것이 좋습니다.
+ 대상 기간을 기존 소스의 기간과 일치시킵니다.
+ 하위 재생 목록 수를 기존 소스의 재생 목록 수와 일치하도록 설정합니다.

## 구성
<a name="channel-assembly-live-sources-elemental-configuration"></a>

라이브 소스 워크플로의 일부로 다른 AWS Elemental 미디어 서비스를 사용하는 경우 MediaPackage 구성을 설정할 때 모범 사례를 따르는 것이 좋습니다. 다음 표에서는 사용하는 스트리밍 표준에 따라 MediaPackage 설정을 구성하는 방법을 설명합니다.


**라이브 소스에 대한 MediaPackage 설정**  

|  표준  |  설정  |  값  |  필요성  |  참고  | 
| --- | --- | --- | --- | --- | 
|  HLS  |  엔드포인트 유형  |  `Apple HLS`  |  CMAF를 사용하지 않는 한 필수  |  HLS `ts` AWS Elemental MediaConvert 작업을 일치시키려면  | 
|  HLS  |  엔드포인트 유형  |  `CMAF`  |  Apple HLS를 사용하지 않는 한 필수  |  HLS `mp4` AWS Elemental MediaConvert 작업을 일치시키려면  | 
|  HLS  |  `ProgramDateTimeIntervalSeconds`  |  `1`  |  필수  |  불연속성이 있을 때 재생 문제를 방지하려면 모든 세그먼트`#EXT-X-PROGRAM-DATE-TIME`에를 지정해야 합니다.  | 
|  HLS  |  `PlaylistWindowSeconds`  |  채널 어셈블리 매니페스트 기간보다 30초 더 깁니다.  |  필수  |    | 
|  HLS  |  `AdMarkers`  |  `DATERANGE`  |  광고 마커를 통과할 때 필요합니다.  |    | 
|  HLS  |  `IncludeIframeOnlyStream`  |  비활성화됨  |  권장  |    | 
|  DASH  |  `ManifestLayout`  |  `FULL`  |  권장  |    | 
|  DASH  |  `SegmentTemplateFormat`  |  `NUMBER_WITH_TIMELINE` 또는 `TIME_WITH_TIMELINE`  |  권장  |  `NUMBER_WITH_DURATION`는 지원되지 않습니다.  | 
|  DASH  |  `ManifestWindowSeconds`  |  채널 어셈블리 매니페스트 기간보다 30초 더 깁니다.  |  필수  |    | 
|  DASH  |  `PeriodTriggers`  |  `ADS`  |  광고 마커를 통과할 때 필요합니다.  |    | 

# 소스 위치에 라이브 소스 추가
<a name="channel-assembly-add-live-sources"></a>

다음 절차에서는 MediaTailor 콘솔을 사용하여 소스 위치에 라이브 소스를 추가하고 패키지 구성을 설정하는 방법을 설명합니다. MediaTailor API를 사용하여 라이브 소스를 추가하는 방법에 대한 자세한 내용은 API 참조의 [CreateLiveSource](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateLiveSource.html)를 *AWS Elemental MediaTailor 참조*하세요.

**중요**  
라이브 소스를 추가하기 전에 패키지 구성 내에서 각 소스의 하위 스트림 수가 동일한지 확인합니다.<a name="add-live-sources-procedure"></a>

**소스 위치에 라이브 소스를 추가하려면**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **소스 위치를** 선택합니다.

1. **소스 위치** 창에서 [소스 위치를 생성하려면](channel-assembly-creating-source-locations.md#create-source-location-procedure) 절차에서 생성한 소스 위치를 선택합니다.

1. **라이브 소스** 탭에서 **라이브 소스 추가**를 선택합니다.

1. **라이브 소스 세부 정보**에서 라이브 소스의 이름을 입력합니다.
   + **이름**: **my-example-video**와 같은 라이브 소스의 식별자입니다.

1. **패키지 구성** > *source-group-name*에서 패키지 구성에 대한 정보를 입력합니다.
**참고**  
패키지 구성 내에서 모든 VOD 소스와 라이브 소스는 동일한 수의 하위 스트림을 가져야 합니다. 소스 스트림을 동일한 방식으로 구성하는 것이 좋습니다.
   + **소스 그룹**: HLS-4k와 같이이 패키지 구성을 설명하는 소스 그룹 이름을 입력합니다. 이 이름을 기록해 둡니다. 채널의 출력을 생성할 때 참조합니다. 자세한 내용은 [채널의 출력과 함께 소스 그룹 사용](channel-assembly-source-groups.md) 단원을 참조하십시오.
   + **유형**:이 구성의 패키지 형식을 선택합니다. MediaTailor는 HLS 및 DASH를 지원합니다.
   + **상대 경로**: 소스 위치의 **기본 HTTP URL**에서 매니페스트까지의 상대 경로입니다. 예: **/my/path/index.m3u8**.
**참고**  
MediaTailor는 상위 다변량 재생 목록에 포함된 닫힌 캡션과 하위 스트림을 모두 자동으로 가져옵니다. 각 소스 변환(DASH) 또는 변형 스트림(HLS)에 대해 별도의 패키지 구성을 생성할 필요가 없습니다.

    패키지 구성에 대한 자세한 내용은 섹션을 참조하세요[패키지 구성 사용](channel-assembly-package-configurations.md).

1. **라이브 소스 추가**를 선택합니다.

   라이브 소스를 더 추가하려면 절차의 4\$16단계를 반복합니다.

# 패키지 구성 사용
<a name="channel-assembly-package-configurations"></a>

패키지 구성은 다양한 디바이스에서 재생하는 데 필요한 다양한 패키징 특성을 포함하는 소스를 나타냅니다. 예를 들어 DRM을 사용하는 HLS, 세그먼트 타임라인 주소 지정을 사용하는 DASH, CMAF 세그먼트를 사용하는 HLS 등 세 가지 패키지 형식이 있는 소스가 있을 수 있습니다.

 채널 어셈블리는 소스를 다시 패키징하지 않습니다. 지정된 소스에 대해 여러 패키지 형식을 포함하려면 각 패키지 형식을 소스 위치에서 사용할 수 있도록 하고 각 패키지 형식의 경로를 지정해야 합니다.

 각 패키지 구성 객체에는 다음이 포함되어야 합니다.
+ **상대 경로** - 소스 위치를 기준으로 소스의 패키지 형식에 대한 전체 경로입니다. 예: **/my/path/index.m3u8**.
+ **소스 그룹** - 패키지 구성을 채널의 출력과 연결하는 데 사용되는 소스 그룹의 이름입니다.
+ **유형** - HLS 또는 DASH.

 채널을 생성한 후에는 채널 출력에 사용할 각 소스 그룹도 선언해야 합니다.

# 매니페스트 캐싱
<a name="channel-assembly-manifest-caching"></a>

MediaTailor는 소스 재생 목록을 주기적으로 그리고 기회적으로 캐시하여 채널 어셈블리 성능과 신뢰성을 개선합니다. 캐시된 버전이 소스 위치의 오리진 버전에 비해 오래된 경우가 있습니다. MediaTailor가 캐시된 버전의 소스를 새로 고치도록 하려면 [UpdateVodSource](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_UpdateVodSource.html)를 호출합니다. 예를 들어 소스에서 임베디드 경로가 변경될 때이 호출을 사용합니다. MediaTailor의 요청이 거의 없더라도 소스 위치에서 사용할 수 있는 소스의 up-to-date 버전을 항상 유지해야 합니다.

# 채널 작업
<a name="channel-assembly-channels"></a>

채널은 소스 매니페스트를 선형 스트림으로 어셈블합니다. 각 채널에는 패키지 구성에 해당하는 출력이 하나 이상 포함됩니다.

 먼저 채널을 생성한 다음 *프로그램을* 생성하여 VOD 소스와 라이브 소스를 채널 일정에 추가합니다. 각 프로그램은 VOD 소스 또는 라이브 소스와 연결됩니다.

**Topics**
+ [MediaTailor 콘솔을 사용하여 채널 생성](channel-assembly-creating-channels.md)
+ [채널의 출력과 함께 소스 그룹 사용](channel-assembly-source-groups.md)
+ [MediaTailor 콘솔을 사용하여 채널 삭제](channel-assembly-starting-stopping-channels.md)

# MediaTailor 콘솔을 사용하여 채널 생성
<a name="channel-assembly-creating-channels"></a>

 다음 절차에서는 MediaTailor 콘솔을 사용하여 채널을 생성하는 방법을 설명합니다.<a name="create-channel-procedure"></a>

**채널 생성**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 탐색 모음에서 **채널 생성을** 선택합니다.

1. **채널 세부 정보**에서 채널에 대한 세부 정보를 입력합니다.
   + **이름**: 채널의 이름을 입력합니다.
   + **티**어: 티어는 채널이 지원하는 기능과 채널 실행 비용을 결정합니다. 요금에 대한 자세한 내용은 [채널 어셈블리 요금 페이지를](https://aws.amazon.com/mediatailor/pricing/#Channel_Assembly_Pricing) 참조하세요. MediaTailor는 다음 계층을 지원합니다.
     + **기본** - 기본 계층은 선형 및 루프 재생 모드를 모두 지원하며 라이브 소스를 지원하지 않습니다.
     + **표준** - 표준 계층은 라이브 소스를 지원하며 선형 재생 모드가 필요합니다.

       ** 채널 세부 정보**에서 **표준을** 선택하면 **대상 세부 정보에서 대상을 정의할 수 있습니다**. 이러한 대상은 기본 프로그램에 대한 audienceMedia를 생성할 때 programRules에 사용됩니다.
       + **추가**를 선택합니다.
       + 텍스트 상자에 **대상** 이름을 입력합니다. 1\$132자의 영숫자여야 합니다.
       +  **확인**을 선택합니다.
       + **다음**을 선택합니다.
   + <a name="playback-mode"></a><a name="playback-mode.title"></a>**재생 모드**: 재생 모드는 채널의 재생 동작을 설정합니다. MediaTailor는 다음 재생 모드를 지원합니다.
     + **루프** - 일정의 프로그램은 무한 루프에서 back-to-back 재생됩니다. 일정에서 마지막 프로그램이 재생되면 재생은 첫 번째 프로그램으로 다시 루프됩니다. 재생은 채널을 중지할 때까지 계속 반복됩니다.
     + **선형** - 일정의 각 프로그램은 한 번 back-to-back.

1. <a name="filler-slate"></a>**필러 슬레이트**에서 슬레이트 **위치를 참조하는 소스 위치 이름과** 슬레이트로 사용할 **VOD 소스 이름을** 선택합니다. MediaTailor는 슬레이트를 사용하여 일정의 프로그램 간 간격을 채웁니다. 슬레이트 지속 시간이 프로그램 간 간격 지속 시간보다 짧으면 MediaTailor는 슬레이트를 루프합니다. 채널이 선형 재생 모드를 사용하는 경우 필러 슬레이트 필드를 로 구성해야 합니다. MediaTailor는 루프 재생 모드에 대한 필러 슬레이트를 지원하지 않습니다.

1. **다음**을 선택합니다.

1. 프로그램 규칙에서 대상 세부 정보를 지정합니다.

1. ** 채널 세부 정보**에서 **표준을** 선택하면 대상 세부 정보에서 **대상을 정의할 수 있습니다**. 이러한 대상은 기본 프로그램에 대한 **audienceMedia**를 생성할 때 **programRules**에 사용됩니다.
   + **추가**를 선택한 다음 텍스트 상자에 대상을 추가하고 **확인을** 선택합니다.
**참고**  
영숫자 32자를 초과하지 않는 이름을 입력합니다.
   + **출력 유형**: 채널의 스트리밍 형식을 선택합니다. DASH 및 HLS가 지원됩니다.
   + **소스 그룹**:에 설명된 대로 패키지 구성에서 생성한 소스 그룹의 이름을 입력합니다[소스 위치에 VOD 소스 추가](channel-assembly-add-vod-source.md).

1. **다음**을 선택합니다.

1. **매니페스트 설정**에서 매니페스트 설정에 대한 추가 정보를 입력합니다.
   + **매니페스트 기간(초)**: 각 매니페스트에 포함된 초 단위의 기간입니다. 최소값은 30초이고 최대값은 3600초입니다.
   + **광고 마크업 유형(HLS 출력만 해당)**: VOD 프로그램 광고 시간에 표시되는 광고 태그의 유형입니다. MediaTailor가 `EXT-X-DATERANGE` 태그를 사용하여 VOD 프로그램에 광고를 삽입하도록 `Daterange`하려면 선택합니다. MediaTailor가 `EXT-X-CUE-OUT` 및 `EXT-X-CUE-IN` 태그를 사용하여 VOD 프로그램에 광고를 삽입하도록 `Scte35 Enhanced`하려면 선택합니다. 이러한 태그 유형에 대한 자세한 내용은 섹션을 참조하세요[광고 시간에 대한 SCTE-35 메시지](ca-scte-35-messages.md). 라이브 워크플로의 경우 MediaTailor는 항상 `DATERANGE` 태그를 전달하며 선택한 광고 마크업 유형에 관계없이 향상된 Scte35 태그를 전달하지 않습니다.

1. 여러 채널 출력을 구성하려면 출력에서 **** **추가를** 선택합니다. 그런 다음이 절차의 6단계와 7단계를 완료하여 출력에 대한 세부 정보를 구성합니다.

1. **다음**을 선택합니다.

1. **채널 정책**에서 채널의 IAM 정책 설정을 선택합니다.
   + **채널 정책 연결 안 함**:이 계정의 자격 증명에 액세스할 수 있는 사용자로만 재생을 제한합니다.
   + **사용자 지정 정책 연결**: 자체 정책을 정의하고 원하는 만큼 액세스를 제한합니다.
   + **퍼블릭 정책 연결**: 채널의 출력에 대한 모든 수신 클라이언트 요청을 수락합니다. MediaTailor 광고 삽입을 사용하려면이 옵션을 사용해야 합니다.

1. **다음**을 선택합니다.

1. 검토 **및 생성** 창에서 설정을 검토합니다.

1. **Create funnel(퍼널 생성)**을 선택합니다.
**참고**  
채널은 중지된 상태로 생성됩니다. MediaTailor 콘솔 또는 MediaTailor StartChannel API로 채널을 시작할 때까지 채널이 활성화되지 않습니다.

# 채널의 출력과 함께 소스 그룹 사용
<a name="channel-assembly-source-groups"></a>

소스 그룹은 패키지 구성을 채널의 출력과 연결합니다. 소스에서 패키지 구성을 생성할 때 소스 그룹의 이름을 식별합니다. 그런 다음 채널에서 출력을 생성할 때 동일한 이름을 입력하여 출력을 패키지 구성과 연결합니다. 채널의 프로그램에 추가된 VOD 소스 및 라이브 소스는 출력에서 식별된 소스 그룹에 속해야 합니다.

 예제:
+ VOD 소스 1과 2에는 모두 소스 그룹이 있는 **HLS**, **DASH**, **HLS-4k**의 세 가지 패키지 구성이 있습니다.
+ VOD 소스 3에는 소스 그룹 **HLS**와 **DASH**가 포함된 두 가지 패키지 구성이 있습니다.





 채널 A에 소스 그룹 **HLS** 및 **DASH**가 있는 두 개의 출력이 있는 경우 채널 출력은 세 개의 VOD 소스를 모두 사용할 수 있습니다. VOD 소스 1, 2, 3에는 모두 소스 그룹 레이블 **HLS** 및 **DASH**가 있는 패키지 구성이 있기 때문입니다.

채널 B에 소스 그룹 **HLS** 및 **HLS-4k**가 있는 두 개의 출력이 있는 경우 VOD 소스 1 및 2를 사용할 수 있지만 3은 사용할 수 없습니다. 이는 VOD 소스 1과 2 모두 소스 그룹 레이블 **HLS** 및 **HLS-4k**가 있는 패키지 구성을 갖기 때문입니다.

채널 C에 소스 그룹 **DASH**가 있는 단일 출력이 있는 경우 세 개의 VOD 소스를 모두 사용할 수 있습니다. 세 VOD 소스에는 모두 **DASH** 소스 그룹이 포함된 패키지 구성이 있습니다.

# MediaTailor 콘솔을 사용하여 채널 삭제
<a name="channel-assembly-starting-stopping-channels"></a>

 채널을 삭제하려면 다음 절차를 완료하세요.<a name="delete-channel"></a>

**채널을 삭제하려면**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 삭제할 채널을 선택합니다.

1. 채널이 실행 중인 경우 **작업** 드롭다운 메뉴에서 **중지**를 선택합니다. 채널을 삭제하려면 먼저 채널을 중지해야 합니다.

1. 채널이 중지되면 **작업** 드롭다운 메뉴에서 **삭제**를 선택합니다.

# 채널 일정에 프로그램 추가
<a name="channel-assembly-programs"></a>

각 프로그램에는 VOD 소스 또는 계정의 소스 위치에 속하는 라이브 소스가 포함되어 있습니다. 채널을 일정에 추가하여 채널 스트림에서 재생되는 순서를 제어합니다.

VOD 소스가 포함된 프로그램은 하나 이상의 광고 시간으로 구성할 수 있습니다. 각 광고 시간에는 소스 위치의 VOD 소스인 슬레이트가 포함되어 있습니다. 광고 시간을 생성하려면 오프셋의 슬레이트를 프로그램에 밀리초 단위로 추가합니다.

**Topics**
+ [MediaTailor 콘솔을 사용하여 채널 일정 내에서 프로그램 생성](channel-assembly-adding-programs.md)
+ [프로그램 규칙을 사용하여 대상 그룹 및 대체 콘텐츠 정의](working-with-program-rules.md)
+ [대상별 매니페스트 생성](generating-audience-specific-manifests.md)

# MediaTailor 콘솔을 사용하여 채널 일정 내에서 프로그램 생성
<a name="channel-assembly-adding-programs"></a>

 다음 절차에서는 MediaTailor 콘솔을 사용하여 채널 일정 내에 프로그램을 생성하는 방법을 설명합니다. 또한 선택 사항인 광고 시간을 구성하는 방법도 설명합니다. MediaTailor API를 사용하여 프로그램을 생성하는 방법에 대한 자세한 내용은 API 참조의 [CreateProgram](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateProgram.html)을 *AWS Elemental MediaTailor 참조*하세요.<a name="add-programs-procedure"></a>

**프로그램을 추가하려면**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. **채널** 창에서 [채널 생성](channel-assembly-creating-channels.md#create-channel-procedure) 절차에서 생성한 채널을 선택합니다.

1. **프로그램 세부** 정보에서 프로그램에 대한 세부 정보를 입력합니다.
   + **이름**: 채널에 추가하는 프로그램의 이름입니다.
   + **소스 유형**: 프로그램이 재생하는 소스 비디오 유형을 결정합니다. 이 옵션은 표준 채널에서만 사용할 수 있습니다.
     + **VOD** - 프로그램은 사전 녹화된 TV 에피소드와 같은 video-on-demand 소스를 재생합니다.
     + **라이브** - 프로그램은 라이브 뉴스 브로드캐스트와 같은 라이브 소스를 재생합니다.
   + **소스 위치 이름**: MediaTailor가 프로그램과 연결하는 소스 위치입니다.
     + **기존 소스 위치 선택을** 선택한 경우 소스 위치 선택 메뉴에서** 소스 위치 이름을 선택합니다**. 또는 이름으로 소스 위치를 검색합니다. 이는 소스 위치가 많은 경우에 유용합니다.
     + **소스 위치 이름 입력을** 선택한 경우 이름으로 소스 위치를 검색합니다.
     + **VOD 소스 이름**: MediaTailor가 프로그램과 연결하는 VOD 소스의 이름입니다.
       + ** 기존 VOD 소스 선택을** 선택한 경우 계정과 연결된 VOD 소스 목록에서 VOD 소스 이름을 선택합니다. 또는 이름으로 VOD 소스를 검색합니다. 이는 VOD 소스가 많은 경우에 유용합니다.
       + **이름으로 검색을** 선택한 경우 이름으로 라이브 소스를 검색합니다.
     + **라이브 소스 이름**: 프로그램과 연결할 라이브 소스의 이름입니다. 이 옵션은 **라이브**를 소스 유형으로 선택한 경우에만 사용할 수 있습니다.
       + **기존 소스 위치 선택을** 선택한 경우 소스 위치 선택 메뉴에서** 소스 위치 이름을 선택합니다**. 또는 이름으로 소스 위치를 검색합니다. 이는 소스 위치가 많은 경우에 유용합니다.
       + **소스 위치 이름 입력을** 선택한 경우 이름으로 소스 위치를 검색합니다.
       + **VOD 소스 이름**: MediaTailor가 프로그램과 연결하는 VOD 소스의 이름입니다.
         + **기존 라이브 소스 선택을** 선택한 경우 계정과 연결된 라이브 소스 목록에서 라이브 소스 이름을 선택합니다. 또는 이름으로 라이브 소스를 검색할 수 있습니다. 이는 라이브 소스가 많은 경우에 유용합니다.
         + **이름으로 검색을** 선택한 경우 이름으로 라이브 소스를 검색합니다.

1. **다음을** 선택하여 ** 일정 구성 **탭으로 이동합니다.

1. **재생 구성**에서 채널 일정에서 프로그램이 재생되는 시기를 정의합니다.
   + **기간 밀리초**: 프로그램의 기간을 밀리초 단위로 정의합니다. 이 옵션은 라이브 소스를 사용하는 프로그램에만 사용할 수 있습니다.
   + **전환 유형**: 일정에서 프로그램 간 전환을 정의합니다.
     + **상대**: 프로그램은 일정의 다른 프로그램 앞이나 뒤에 재생됩니다. 이 옵션은 VOD 소스를 사용하는 프로그램에만 사용할 수 있습니다.
     + **절대**: 프로그램이 특정 벽시계 시간에 재생됩니다. MediaTailor는 지정한 클럭 시간에 프로그램을 재생하기 위해 최선을 다합니다. MediaTailor는 이전 프로그램 또는 슬레이트 사이의 공통 세그먼트 경계에서 프로그램 재생을 시작합니다. 이 옵션은 선형를 사용하도록 구성된 채널에만 사용할 수 있습니다[**재생 모드**: 재생 모드는 채널의 재생 동작을 설정합니다. MediaTailor는 다음 재생 모드를 지원합니다.](channel-assembly-creating-channels.md#playback-mode).
     + **프로그램 시작 시간**: 절대 전환 유형의 경우 프로그램이 재생되도록 예약된 벽시계 시간입니다. 실행 중인 선형 채널에이 프로그램을 추가하는 경우 현재 시간으로부터 15분 이상의 시작 시간을 입력해야 합니다.
     + **상대 위치**: 다른 프로그램을 기준으로 프로그램을 일정에 삽입할 위치를 선택합니다. **프로그램 전** 또는 **프로그램 후**를 선택할 수 있습니다. 채널 일정의 첫 번째 프로그램인 경우에는이 설정이 적용되지 않습니다.
       + **기존 프로그램 선택을** 선택한 경우 **기존 프로그램 사용 메뉴의 채널에서 재생하는 다음 100개 프로그램의 사전 정의된 목록에서 프로그램** 이름을 선택합니다.
       + **이름으로 프로그램 검색을** 선택한 경우 채널에 있는 기존 프로그램의 이름을 입력합니다.

   프로그램에 광고 시간을 추가하려면 다음 단계를 계속 진행합니다. 광고 시간은 VOD 소스를 사용하는 프로그램에 대해서만 구성할 수 있습니다. 라이브 소스의 경우 DASH 매니페스트의 광고 중단과 `EXT-X-DATERANGE` 태그를 사용하는 HLS 매니페스트의 광고 중단은 자동으로 전달됩니다.

1. **다음을** 선택하여 **광고 시간 추가**로 이동합니다.

1. **광고 시간 추가**를 선택합니다. **광고 시간**에서 광고 시간에 대한 설정을 구성합니다.
   + **슬레이트 소스 위치 이름**: **기존 소스 위치 선택을** 선택하고이 작업의 앞부분에서 생성한 슬레이트가 저장되는 소스 위치를 선택합니다.
   + **VOD 소스 이름**: **기존 VOD 소스 선택을** 선택하고이 작업의 앞부분에서 추가한 슬레이트에 사용 중인 VOD 소스를 선택합니다. 슬레이트 지속 시간에 따라 광고 시간 지속 시간이 결정됩니다.
   + **밀리초 단위 오프셋**:이 값은 광고 시간 시작 시간을 프로그램 시작을 기준으로 한 오프셋으로 밀리초 단위로 결정합니다. VOD 소스 기간보다 짧고 프로그램의 VOD 소스 내 모든 트랙(모든 오디오, 비디오 및 닫힌 캡션 트랙)의 세그먼트 경계와 일치하는 값을 입력합니다. 그렇지 않으면 광고 시간을 건너뜁니다. 예를 들어 **0**을 입력하면 프로그램이 시작되기 전에 재생되는 롤링 전 광고 시간이 생성됩니다.
   + **가용 번호**: MediaTailor는 SCTE-35 사양의 섹션 9.7.3.1, [디지털 프로그램 삽입 대기열 메시지](https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022)에 정의된 `splice_insert.avail_num`대로이 값을에 기록합니다. 기본값은 0입니다. 값은 0에서 256 사이여야 합니다.
   + **예상 가용성**: MediaTailor는 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.avails_expected`대로이 값을에 씁니다. 기본값은 0입니다. 값은 0에서 256 사이여야 합니다.
   + **스플라이스 이벤트 ID**: MediaTailor는 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.splice_event_id`대로이 값을에 기록합니다. 기본값은 1입니다.
   + **고유 프로그램 ID**: MediaTailor는 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.unique_program_id`대로이 값을에 씁니다. 기본값은 0입니다. 값은 0에서 256 사이여야 합니다.

1. 표준 선형 채널의 경우 **다음을** 선택하여 **대체 미디어 설정**으로 이동합니다.

   MediaTailor를 사용하여 대체 미디어를 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[대체 미디어 생성](working-with-program-rules.md#program-rules-creating-alternate-media).

   MediaTailor를 사용하여 광고 시간을 개인화하는 방법에 대한 자세한 내용은 섹션을 참조하세요[채널 스트림에 개인화된 광고 및 광고 시간 삽입](channel-assembly-integrating-mediatailor-ssai.md).

1. **다음을** 선택하여 **검토 및 생성**으로 이동합니다.

1. **프로그램 추가**를 선택합니다.

   MediaTailor를 사용하여 광고 시간을 개인화하는 방법에 대한 자세한 내용은 섹션을 참조하세요[채널 스트림에 개인화된 광고 및 광고 시간 삽입](channel-assembly-integrating-mediatailor-ssai.md).

1. 
**중요**  
채널 반복의 경우 다음 10분 이내에 예약된 프로그램의 프로그램 목록을 수정하면 다음 루프까지 편집이 명확하지 않습니다.

   **프로그램 세부 정보**에서 프로그램에 대한 세부 정보를 입력합니다.
   + **이름**: 채널에 추가하는 프로그램의 이름입니다.
   + **소스 유형**: 프로그램이 재생하는 소스 유형을 결정합니다. 이 옵션은 표준 채널에서만 사용할 수 있습니다.
     + **VOD** - 프로그램은 사전 녹화된 TV 에피소드와 같은 VOD 소스를 재생합니다.
     + **라이브** - 프로그램은 라이브 뉴스 브로드캐스트와 같은 라이브 소스를 재생합니다.
   + **소스 위치 이름**: 프로그램과 연결할 소스 위치입니다.

     **기존 소스 위치 선택을** 선택한 경우 소스 위치 선택 드롭다운 메뉴에서 **소스 위치 이름을 선택합니다**. 또는 이름으로 소스 위치를 검색할 수 있습니다. 이는 소스 위치가 많은 경우에 유용합니다.

     **소스 위치 이름 입력을** 선택한 경우 이름으로 소스 위치를 검색합니다.
   + **VOD 소스 이름**: 프로그램과 연결할 VOD 소스의 이름입니다.

     **기존 VOD 소스 선택을** 선택한 경우 계정과 연결된 VOD 소스 목록에서 VOD 소스 이름을 선택합니다. 또는 이름으로 VOD 소스를 검색할 수 있습니다. 이는 VOD 소스가 많은 경우에 유용합니다.

     **이름으로 검색을** 선택한 경우 이름으로 VOD 소스를 검색합니다.
   + **라이브 소스 이름**: 프로그램과 연결할 라이브 소스의 이름입니다. 이 옵션은 **라이브**를 소스 유형으로 선택한 경우에만 사용할 수 있습니다.

     **기존 라이브 소스 선택을** 선택한 경우 계정과 연결된 라이브 소스 목록에서 라이브 소스 이름을 선택합니다. 또는 이름으로 라이브 소스를 검색할 수 있습니다. 이는 라이브 소스가 많은 경우에 유용합니다.

     **이름으로 검색을** 선택한 경우 이름으로 라이브 소스를 검색합니다.

1. **재생 구성**에서 채널 일정에서 프로그램이 재생되는 시기를 정의합니다.
   + **밀리초 단위의 기간**: 프로그램의 기간을 밀리초 단위로 정의합니다. 이 옵션은 라이브 소스를 사용하는 프로그램에만 사용할 수 있습니다.
   + **전환 유형**: 일정에서 프로그램에서 프로그램으로의 전환을 정의합니다.
     + **상대** - 프로그램은 일정의 다른 프로그램 앞이나 뒤에 재생됩니다. 이 옵션은 VOD 소스를 사용하는 프로그램에만 사용할 수 있습니다.
     + **절대** - 프로그램은 특정 벽시계 시간에 재생됩니다. MediaTailor는 지정한 클럭 시간에 프로그램을 재생하기 위해 최선을 다합니다. 이전 프로그램 또는 슬레이트 사이의 공통 세그먼트 경계에서 프로그램 재생을 시작합니다. 이 옵션은를 사용하도록 구성된 채널에서만 사용할 수 있습니다[linear playback mode](channel-assembly-creating-channels.md#linear-playback-mode).
**참고**  
절대 전환 유형에 대해 다음 동작에 유의하세요.  
일정의 이전 프로그램에 벽시계 시간 이상으로 연장된 기간이 있는 경우 MediaTailor는 벽시계 시간과 가장 가까운 공통 세그먼트 경계에서 이전 프로그램을 잘라냅니다.
일정에 프로그램 간에 간격이 있는 경우 MediaTailor는를 재생합니다[filler slate](channel-assembly-creating-channels.md#filler-slate). 슬레이트 지속 시간이 간격 지속 시간보다 짧으면 MediaTailor는 슬레이트를 루프합니다.
   + **프로그램 시작 시간** - 절대 전환 유형의 경우 프로그램이 재생되도록 예약된 벽시계 시간입니다. 실행 중인 선형 채널에이 프로그램을 추가하는 경우 현재 시간으로부터 15분 이상의 시작 시간을 입력해야 합니다.
   + **상대 위치**: 다른 프로그램을 기준으로 프로그램을 일정에 삽입할 위치를 선택합니다. **프로그램 전** 또는 **프로그램 후**를 선택할 수 있습니다. 채널 일정의 첫 번째 프로그램인 경우에는이 설정이 적용되지 않습니다.
   + **상대 프로그램**: 이전 또는 이후에 새 프로그램을 삽입하는 데 사용할 프로그램의 이름입니다. 채널 일정의 첫 번째 프로그램인 경우에는이 설정이 적용되지 않습니다.

     **기존 프로그램 선택을** 선택한 경우 **기존 프로그램 사용 드롭다운 메뉴의 채널에서 재생하는 다음 100개 프로그램의 사전 정의된 목록에서 프로그램** 이름을 선택합니다.

     **이름으로 프로그램 검색을** 선택한 경우 채널에 있는 기존 프로그램의 이름을 입력합니다.

   프로그램에 광고 시간을 추가하려면 다음 단계를 계속 진행합니다. 광고 시간은 VOD 소스를 사용하는 프로그램에 대해서만 구성할 수 있습니다. 라이브 소스의 경우 DASH 매니페스트의 광고 중단과 `EXT-X-DATERANGE` 태그를 사용하는 HLS 매니페스트의 광고 중단은 자동으로 전달됩니다.

1. **광고 시간 추가**를 선택합니다. **광고 시간**에서 광고 시간에 대한 설정을 구성합니다.<a name="channel-assembly-programs-ad-breaks"></a>
   + **슬레이트 소스 위치 이름**: **기존 소스 위치 선택을** 선택하고이 자습서의 앞부분에서 생성한 슬레이트가 저장되는 소스 위치를 선택합니다.
   + **VOD 소스 이름**: **기존 VOD 소스 선택을** 선택하고이 자습서의 앞부분에서 추가한 슬레이트에 사용 중인 VOD 소스를 선택합니다. 슬레이트 지속 시간에 따라 광고 중단 지속 시간이 결정됩니다.
   + **밀리초 단위 오프셋**의 경우:이 값은 프로그램 시작을 기준으로 오프셋으로 광고 시간 시작 시간을 밀리초 단위로 결정합니다. VOD 소스 기간보다 짧고 프로그램의 VOD 소스 내 모든 트랙(모든 오디오, 비디오 및 닫힌 캡션 트랙)의 세그먼트 경계와 일치하는 값을 입력합니다. 그렇지 않으면 광고 시간을 건너뜁니다. 예를 들어 **0**을 입력하면 프로그램이 시작되기 전에 재생되는 롤링 전 광고 시간이 생성됩니다.
**참고**  
MediaTailor가 VOD 소스 내에서 지속 시간이 0인 HLS`EXT-X-CUE-OUT`의 경우 또는 , `EventStream` DASH의 경우와 같은`DATERANGE` 광고 마커를 감지하는 경우 드롭다운 메뉴에서 해당 광고 마커의 오프셋을 선택하여 광고 시간의 오프셋으로 사용할 수 있습니다. 광고 기회를 감지하려면 VOD 소스 내의 모든 패키지 구성에서 동일한 오프셋에 존재해야 하며 기간은 0이어야 합니다.
   + **메시지 유형**: SCTE-35 광고 삽입 유형입니다. **SPLICE\$1INSERT** 또는 **TIME\$1SIGNAL**을 선택합니다.
     + **SPLICE\$1INSERT**: 스플라이스 삽입 파라미터를 사용하여 광고 시간에 대한 기본 메타데이터를 제공합니다.
     + **TIME\$1SIGNAL**: 세분화 설명자를 사용하여 고급 메타데이터를 제공합니다. 메시지 유형 간의 차이점에 대한 자세한 내용은 섹션을 참조하세요[광고 시간에 대한 SCTE-35 메시지](ca-scte-35-messages.md).

     **SPLICE\$1INSERT** 메시지 유형의 경우:
     + **가용 번호**의 경우 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.avail_num`대로에 기록됩니다. 기본값은 `0`입니다. 값은 `0` \$1 사이여야 합니다`256`.
     + **예상 가용성**의 경우 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.avails_expected`대로에 기록됩니다. 기본값은 `0`입니다. 값은 `0` \$1 사이여야 합니다`256`.
     + **스플라이스 이벤트 ID**의 경우 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.splice_event_id`대로에 기록됩니다. 기본값은 `1`입니다.
     + **고유 프로그램 ID**의 경우 SCTE-35 사양의 섹션 9.7.3.1에 정의된 `splice_insert.unique_program_id`대로에 기록됩니다. 기본값은 `0`입니다. 값은 `0` \$1 사이여야 합니다`256`.

     **TIME\$1SIGNAL** 메시지 유형의 경우:
     + **분할 이벤트 ID**의 경우 SCTE-35 사양의 섹션 10.3.3.1에 정의된 `segmentation_descriptor.segmentation_event_id`대로에 기록됩니다. 기본값은 `1`입니다.
     + **세분화 유형 ID**의 경우 SCTE-35 사양의 섹션 10.3.3.1에 정의된 `segmentation_descriptor.segmentation_type_id`대로에 기록됩니다. 기본값은 `48` (0x30)입니다. 값은 `0` \$1 사이여야 합니다`256`.
     + **분할 UPID**의 경우 SCTE-35 사양의 섹션 10.3.3.1에 정의된 `segmentation_descriptor.segmentation_upid`대로에 기록됩니다. 값은 및 문자가 포함된 16진수 문자열이어야 합니다`0-9``A-F`. 기본값은 빈 문자열입니다.
     + **분할 UPID 유형의** 경우 SCTE-35 사양의 섹션 10.3.3.1에 정의된 `segmentation_descriptor.segmentation_upid_type`대로에 기록됩니다. 기본값은 `14` (0x0E)입니다. 값은 `0` \$1 사이여야 합니다`256`.
     + **세그먼트 번호**의 경우 SCTE-35 사양의 섹션 10.3.3.1에 정의된 `segmentation_descriptor.segment_num`대로에 기록됩니다. 기본값은 `0`입니다. 값은 `0` \$1 사이여야 합니다`256`.
     + **예상되는 세그먼트**의 경우 SCTE-35 사양의 섹션 10.3.3.1에 정의된 `segmentation_descriptor.segments_expected`대로에 기록됩니다. 기본값은 `0`입니다. 값은 `0` \$1 사이여야 합니다`256`.

1. **프로그램 추가**를 선택합니다.

    MediaTailor를 사용하여 광고 시간을 개인화하는 방법에 대한 자세한 내용은 섹션을 참조하세요[채널 스트림에 개인화된 광고 및 광고 시간 삽입](channel-assembly-integrating-mediatailor-ssai.md).
**참고**  
채널에 `Enhanced Scte35` 광고 마크업 유형의 출력이 하나 이상 있는 경우 광고 브레이크 메타데이터를 제출할 수 있습니다. MediaTailor는 광고 시간을 위해 제출된 키-값 페어를 `EXT-X-ASSET` 태그에 기록합니다.

# 프로그램 규칙을 사용하여 대상 그룹 및 대체 콘텐츠 정의
<a name="working-with-program-rules"></a>

프로그램 규칙을 사용하면 채널의 대상 그룹을 정의하고 해당 대상에 대해 재생할 대체 미디어를 지정할 수 있습니다. 하나 이상의 대체 콘텐츠 소스를 프로그램의 대상과 연결할 수 있습니다. 프로그램이 종료되면 추가 대체 미디어를 지정하지 않는 한 기본 대상 콘텐츠가 재생됩니다.

프로그램 규칙은 선형 재생 모드를 사용하는 STANDARD 티어 채널에서 사용할 수 있습니다. MediaTailor 채널은 모든 VOD 소스 및 라이브 소스에 대한 대체 미디어를 지원합니다.

사용 예제는 [ Using program rules with AWS MediaTailor](https://aws.amazon.com/blogs/media/using-program-rules-with-aws-elemental-mediatailor/)를 참조하세요.

## 대상 정의
<a name="defining-audiences-program-rules"></a>

MediaTailor 채널을 구성할 때 대상을 하나씩 입력하여 채널의 대상을 정의합니다. MediaTailor 콘솔 또는 MediaTailor `CreateChannel` API를 통해이 작업을 수행할 수 있습니다. 각 대상은 1\$132자의 영숫자여야 합니다. 대상에 제공된 값이 유효하지 않으면 요청이 실패합니다.

LINEAR 재생 모드에서는 STANDARD 티어 채널에서만 대상을 정의할 수 있습니다.

대상을 업데이트해야 하는 경우 MediaTailor 콘솔 또는 MediaTailor `UpdateChannel` API를 사용하여 업데이트할 수 있습니다.

`ProgramRules` 기능을 사용하는 경우 `CreateProgram` 또는 `UpdateProgram` 요청에 `AudienceMedia` 정의된에 채널에 정의된 기존 대상이 포함되어 있는지 확인합니다.

## 대체 미디어 생성
<a name="program-rules-creating-alternate-media"></a>

다음 작업에서는 MediaTailor 콘솔을 사용하여 대체 미디어를 정의하는 방법을 설명합니다. MediaTailor API를 사용하여 대체 미디어를 정의하는 방법에 대한 자세한 내용은 API 참조의 섹션을 *AWS Elemental MediaTailor 참조*[https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateProgram.html](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateProgram.html)하세요.

새 프로그램에서 대체 미디어를 정의하려면:

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **채널 어셈블리** > **채널을** 선택합니다.

1. 대체 미디어를 추가할 채널 이름을 선택합니다.

1. 프로그램을 생성합니다. 자세한 내용은 [MediaTailor 콘솔을 사용하여 채널 일정 내에서 프로그램 생성](channel-assembly-adding-programs.md) 단원을 참조하십시오.

1. 대체 미디어 구성:
   + **대상** 상자에서 **추가**를 선택하여 대체 미디어를 정의할 대상을 선택합니다.
   + 대상 메뉴에서 채널에 정의된 **대상**을 선택합니다.
   + **대체 미디어 추가**를 선택하여 프로그램에 대한 대체 미디어 정의를 시작합니다.
   + MediaTailor는 ** 대체 미디어 1** 상자를 생성합니다. MediaTailor가 프로그램에서 대체 미디어로 재생하는 첫 번째 콘텐츠입니다.
   + ** 대체 미디어 1** 상자 내에서:
     + **소스 위치를** 선택합니다.
     + **VOD** 또는** 라이브 ** 소스 유형을 선택합니다.

       VOD의 경우
       + **소스 유형**으로 VOD를 선택합니다.
       + (선택 사항) **클립 범위를** 지정합니다. 대체 미디어 VOD 소스를 포함한 VOD 소스를 사용하면 재생할 VOD 소스의 일부를 지정하여 소스의 시작 및/또는 끝에서 클리핑할 수 있습니다. 지정 시작 및 종료 오프셋은 밀리초 단위입니다.
       + (선택 사항) a\$1Add Ad Breaks. 이는 프로그램을 생성할 때와 동일한 방식으로 수행됩니다. 자세한 내용은 [MediaTailor 콘솔을 사용하여 채널 일정 내에서 프로그램 생성](channel-assembly-adding-programs.md) 단원을 참조하십시오.

       라이브의 경우
       + ** 소스 유형**으로 라이브를 선택합니다.
       + **라이브 소스를** 선택합니다.
       + 이 라이브 소스가 시작해야 하는 wal-clock **시간의 시작** 시간을 밀리초 단위로 입력합니다. 라이브 소스는 정의 중인 기본 프로그램의 기간 내에만 재생됩니다. 시작 시간이 기본 프로그램 시작 이전인 경우 기본 프로그램이 시작할 때까지 시작되지 않습니다. 시작 시간이 기본 프로그램이 종료된 후인 경우 MediaTailor는 라이브 소스를 재생하지 않습니다.
       + **기간을** 밀리초 단위로 입력합니다. 기간은 10분 이상이어야 합니다.
       + 대체 미디어 추가를 다시 선택하여 대상에 대해이 프로그램에 추가 **대체 미디어를 추가할** 수 있습니다. 그러면 **대체 미디어 2**라는 레이블이 지정된 다른 상자가 생성됩니다. 대상별로 프로그램당 최대 5개의 대체 미디어 소스를 지정할 수 있습니다.
       + 원하는 모든 대상에 대한 대체 미디어 정의를 마치면 **다음을** 선택하고 프로그램 생성을 계속합니다.

         자세한 내용은 [MediaTailor 콘솔을 사용하여 채널 일정 내에서 프로그램 생성](channel-assembly-adding-programs.md) 단원을 참조하십시오.
**참고**  
대체 미디어는 정의된 프로그램의 기간 동안만 재생됩니다. 모든 대체 콘텐츠가 기본 콘텐츠를 초과하면 MediaTailor는 이를 잘라냅니다. MediaTailor는 정의된 순서대로 대체 미디어를 재생합니다. 라이브 대체 미디어 시작 시간은 항상 우선하며 이전에 예약된 VOD 소스 또는 라이브 소스를 잘라냅니다. 대상에 대한 대체 미디어로 채워지지 않은 모든는 채널 정의 필러 슬레이트로 채워집니다.
   + 다른 대상에 대한 대상 미디어를 정의하려면 **대상** 옆의 **추가**를 다시 선택합니다. 새로 생성된 대상을 선택하고 대상 ID를 설정한 다음 위에 설명된 대로 대체 미디어를 추가합니다. 최대 5명의 대상이 하나의 프로그램에 대체 미디어를 사용할 수 있습니다.

# 대상별 매니페스트 생성
<a name="generating-audience-specific-manifests"></a>

특정 대상에 대한 매니페스트를 검색하려면 `aws.mediatailor.channel.audienceId` 쿼리 파라미터를 사용합니다. 이 쿼리 파라미터는 CDN에서 동적으로 추가되거나 콘텐츠 또는 고객 관리 시스템에 대한 호출을 통해 추가될 수 있습니다. 지정된 재생 세션과 MediaTailor `audienceId` 외부의의 연결을 유지해야 합니다. 그러면 기본 콘텐츠 대신 해당 대상에 대해 정의된 대체 미디어가 있는 대상별 매니페스트가 검색됩니다. 특정 대상에 대해 매니페스트가 요청되면 플레이어는 항상 동일한 대상 ID로 매니페스트를 요청해야 합니다. 그렇지 않으면 재생 오류가 발생할 수 있습니다.

채널에 없는 대상에 대해 요청이 이루어진 경우 MediaTailor는 404 오류를 반환합니다.

**Example 대상에 대한 매니페스트 가져오기**  
`https:// prefix>.channel-assembly.mediatailor.us-west-2.amazonaws.com/v1/channel/ExampleChannel/index_dash.mpd?aws.mediatailor.channel.audienceId=Seattle`

# 채널 스트림에 개인화된 광고 및 광고 시간 삽입
<a name="channel-assembly-integrating-mediatailor-ssai"></a>

MediaTailor를 사용하면 콘텐츠를 SCTE-35 마커로 조정하지 않고도 프로그램에 광고 시간을 삽입하여 채널 어셈블리 선형 스트림을 수익화할 수 있습니다. MediaTailor 광고 삽입 서비스 또는 서버 측 광고 삽입(SSAI)과 함께 채널 어셈블리를 사용할 수 있습니다.

다음 주제에서는 채널의 선형 스트림에 개인화된 광고 및 광고 시간을 삽입하는 방법을 보여줍니다.

**Topics**
+ [MediaTailor를 사용하여 광고 삽입 설정](ca-setting-up-emt-ssai.topic.md)
+ [광고 시간에 대한 SCTE-35 메시지](ca-scte-35-messages.md)

# MediaTailor를 사용하여 광고 삽입 설정
<a name="ca-setting-up-emt-ssai.topic"></a>

채널 스트림에 개인화된 광고를 삽입하려면 채널의 엔드포인트 URL이 콘텐츠 소스입니다 AWS Elemental MediaTailor. 이 가이드에서는 광고 삽입을 위해 MediaTailor를 설정하는 방법을 보여줍니다.

## 사전 조건
<a name="ca-setting-up-emt-ssai-prereqs"></a>

시작하기 전에 다음 요구 사항을 충족하는지 확인하세요.
+ MediaTailor 광고 삽입을 위한 HLS 및 DASH 스트림을 준비합니다.
  + 콘텐츠 스트림을 아직 준비하지 않은 경우 * MediaTailor 시작하기 광고 삽입* 주제[2단계: 스트림 준비](getting-started-ad-insertion.md#getting-started-prep-stream)의 섹션을 참조하세요.
+ 광고 결정 서버(ADS)가 있어야 합니다.
+ 프로그램에서 **광고 중단** 설정을 구성합니다. 자세한 내용은 [Configuring ad breaks for your program](channel-assembly-adding-programs.md#channel-assembly-programs-ad-breaks) 절차를 참조하세요.<a name="considerations"></a>

채널 어셈블리와 MediaTailor 광고 삽입 사이에 콘텐츠 전송 네트워크(CDN)를 사용하는 것이 좋습니다. MediaTailor 광고 삽입 서비스는 추가 오리진 요청을 생성할 수 있습니다. 따라서 채널 어셈블리에서 매니페스트를 프록시하도록 CDN을 구성한 다음 콘텐츠 소스 URLs에서 CDN 접두사 URL을 사용하는 것이 좋습니다.

## 광고 삽입을 위한 MediaTailor 구성
<a name="name"></a>

다음은 채널의 스트림에 개인화된 광고를 삽입할 수 있도록 MediaTailor 콘솔 설정을 구성하는 방법을 보여줍니다.<a name="ca-integrating-ssai-procedure"></a>

**광고 삽입을 위해 MediaTailor를 구성하려면**

1. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) MediaTailor 콘솔을 엽니다.

1. 탐색 창에서 **구성을** 선택합니다.

1. **필수 설정**에서 구성에 대한 기본 필수 정보를 입력합니다.
   + **이름**: 구성의 이름입니다.
   + **콘텐츠 소스**: 채널 출력의 재생 URL에서 파일 이름 및 확장명을 뺀 값을 입력합니다. MediaTailor 구성에 대한 고급 정보는 섹션을 참조하세요[필수 설정](configurations-create.md#configurations-create-main).
   + **광고 결정 서버**: ADS의 URL을 입력합니다.

1. 선택적으로 **구성 별칭**, **개인화 세부 정보** 및 **고급 설정을** 구성할 수 있습니다. 이러한 설정에 대한 자세한 내용은 섹션을 참조하세요[선택적 구성 설정](configurations-create.md#configurations-create-addl).

1. 탐색 모음에서 **구성 생성을** 선택합니다.

이제 광고 삽입을 위해 MediaTailor를 설정했으므로 광고 시간을 설정할 수도 있습니다. 자세한 지침은 [MediaTailor 광고 삽입 시작하기](getting-started-ad-insertion.md) 섹션을 참조하세요.

# 광고 시간에 대한 SCTE-35 메시지
<a name="ca-scte-35-messages"></a>

MediaTailor를 사용하면 소스 위치 및 VOD 소스 리소스를 기반으로 콘텐츠 채널을 생성할 수 있습니다. 그런 다음 채널 일정에 따라 각 프로그램에 대해 하나 이상의 광고 시간을 설정할 수 있습니다. SCTE-35 사양을 기반으로 하는 메시지를 사용하여 광고 중단에 대한 콘텐츠를 조절합니다. 예를 들어 SCTE-35 메시지를 사용하여 광고 시간에 대한 메타데이터를 제공할 수 있습니다. SCTE-35 사양에 대한 자세한 내용은 [디지털 프로그램 삽입 대기열 메시지를 참조하세요](https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022).

다음 두 가지 방법 중 하나로 광고 시간을 설정합니다.
+ 메시지와 함께 `time_signal` SCTE-35 `segmentation_descriptor` 메시지 연결. 이 `segmentation_descriptor` 메시지에는 광고 시간에 대한 자세한 정보를 전달하는 콘텐츠 식별자와 같은 고급 메타데이터 필드가 포함되어 있습니다. MediaTailor는 (HLS) 또는 `EXT-X-DATERANGE` (`EventStream`DASH) 광고 마커의 SCTE-35 데이터의 일부로 출력 매니페스트에 광고 메타데이터를 씁니다.
+ 광고 시간에 대한 기본 메타데이터를 제공하는 `splice_insert` SCTE-35 메시지 연결.
+ HLS:
  + 광고 마크업 유형이 인 경우 `Daterange` MediaTailor는 광고 나누기를 매니페스트에 `EXT-X-DATERANGE` 태그로 지정합니다.
  + 광고 마크업 유형이 인 경우 `Scte35 Enhanced` MediaTailor는 다음 태그를 사용하여 광고 시간을 지정합니다.
    + MediaTailor는 광고 슬레이트의 첫 번째 세그먼트`EXT-X-CUE-OUT`에를 배치하여 콘텐츠에서 광고 시간까지의 컷을 나타냅니다. 여기에는와 같은 예상 광고 중단 기간이 포함됩니다`EXT-X-CUE-OUT:Duration=30`.
    + `>EXT-X-ASSET`:이 태그는와 동일한 세그먼트에 나타나`EXT-X-CUE-OUT`며 프로그램이 생성되거나 업데이트될 때 AdBreak에 제공된 광고 중단 메타데이터를 포함합니다. 항상를 포함합니다`CAID`.
    + `EXT-OATCLS-SCTE35`:이 태그는와 동일한 세그먼트에 나타나`EXT-X-CUE-OUT`며 SCTE-35 메시지의 base64 인코딩 바이트를 포함합니다.
    + `EXT-X-CUE-OUT-CONT`:이 태그는 광고 슬레이트 내의 각 후속 세그먼트에 표시되며 기간 및 경과 시간 정보를 포함합니다. 또한 base64로 인코딩된 SCTE-35 메시지와 도 포함되어 있습니다`CAID`.
    + `EXT-X-CUE-IN`:이 태그는 광고 시간이 끝난 후 콘텐츠의 첫 번째 세그먼트에 표시되며, 광고 시간에서 콘텐츠로의 컷백을 나타냅니다.

다음 그림은 SCTE-35 메시지를 사용하여 채널에서 광고 시간을 설정하는 두 가지 방법을 보여줍니다.
+ `splice_insert()` 메시지를 사용하여 기본 메타데이터로 광고 시간을 설정합니다.
+ `time_signal()` 메시지와 함께 메시지를 사용하여 더 자세한 메타데이터로 광고 시간을 `segmentation_descriptor()` 설정합니다.

![\[SCTE-35 메시지를 사용하여 채널에서 광고 시간을 설정하는 두 가지 방법입니다.\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/scte-35-splice-insert-vs-time-signal-segmentation-descriptor.png)


사용에 대한 자세한 내용은 2022 SCTE-35 사양의 섹션 9.7.4, 디지털 프로그램 삽입 대기열 메시지를 `time_signal`참조하세요. [https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022](https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022) 

광고 중단 정보는 출력 `splice_info_section` SCTE-35 데이터에 표시됩니다. MediaTailor를 사용하면 단일 `segmentation_descriptor` 메시지와 단일 `time_signal` 메시지를 함께 페어링할 수 있습니다.

**참고**  
`segmentation_descriptor` 메시지를 보내는 경우 `time_signal` 메시지 유형의 일부로 보내야 합니다. `time_signal` 메시지에는 MediaTailor가 지정된 타임스탬프를 사용하여 구성하는 `splice_time` 필드만 포함됩니다.

다음 표에서는 MediaTailor가 각 `segmentation_descriptor` 메시지에 필요한 필드를 설명합니다. 자세한 내용은 [ANSI 웹 스토어 웹 사이트에서](https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022) 구매할 수 있는 2022 SCTE-35 사양의 섹션 10.3.3.1을 참조하세요.


**`segmentation_descriptor` 메시지의 필수 필드**  

| Field | Type | 기본값  | 설명 | 
| --- | --- | --- | --- | 
| segmentation\$1event\$1id | 정수 | 1 | 이는에 기록됩니다segmentation\$1descriptor.segmentation\$1event\$1id. | 
| segmentation\$1upid\$1type | 정수 | 14(0x0E) | 이는에 기록됩니다segmentation\$1descriptor.segmentation\$1upid\$1type. 값은 0에서 256 사이여야 합니다. | 
| segmentation\$1upid | 문자열 | "" (빈 문자열) | 이는에 기록됩니다segmentation\$1descriptor.segmentation\$1upid. 값은 문자 0-9 및를 포함하는 16진수 문자열이어야 합니다A-F. | 
| segmentation\$1type\$1id | 정수 | 48(0x30) | 이는에 기록됩니다segmentation\$1descriptor.segmentation\$1type\$1id. 값은 0에서 256 사이여야 합니다. | 
| segment\$1num | 정수 | 0 | 이는에 기록됩니다segmentation\$1descriptor.segment\$1num. 값은 0에서 256 사이여야 합니다. | 
| segments\$1expected | 정수 | 0 | 이는에 기록됩니다segmentation\$1descriptor.segments\$1expected. 값은 0에서 256 사이여야 합니다. | 
| sub\$1segment\$1num | 정수 | null | 이는에 기록됩니다segmentation\$1descriptor.sub\$1segment\$1num. 값은 0에서 256 사이여야 합니다. | 
| sub\$1segments\$1expected | 정수 | null | 이는에 기록됩니다segmentation\$1descriptor.sub\$1segments\$1expected. 값은 0에서 256 사이여야 합니다. | 

다음 표에는 MediaTailor가 일부 `segmentation_descriptor` 메시지 필드에 대해 자동으로 설정하는 값이 나와 있습니다.


**`segmentation_descriptor` 메시지 필드에 대해 MediaTailor에서 설정한 값**  

| Field | Type | 값 | 
| --- | --- | --- | 
| segmentation\$1event\$1cancel\$1indicator | 부울 | True | 
| program\$1segmentation\$1flag | 부울 | True | 
| delivery\$1not\$1restricted\$1flag | 부울 | True | 

MediaTailor는 항상를 `segmentation_duration_flag`로 설정합니다`True`. MediaTailor는 `segmentation_duration` 필드를 상태 콘텐츠의 기간으로 틱 단위로 채웁니다.

**참고**  
MediaTailor는 `time_signal` 메시지를 전송할 때 `splice_info_section` 메시지의 `splice_command_type` 필드를 6(0x06)으로 설정합니다.

HLS 출력에서 `time_signal` 메시지가 `AdBreak` 있는의 경우 출력 `EXT-X-DATERANGE` 태그에는 `splice_info_section` 메시지의 직렬화된 버전으로 설정된 `SCTE-35` 필드가 포함됩니다. 예를 들어 다음 `EXT-X-DATERANGE` 태그는 `splice_info_section` 메시지의 직렬화된 버전을 보여줍니다.

```
#EXT-X-DATERANGE:ID=\"1\",START-DATE=\"2020-09-25T02:13:20Z\",DURATION=300.0,SCTE35-OUT=0xFC002C00000000000000FFF00506800000000000160214435545490000000100E000019BFCC00E0030000000000000
```

DASH 출력에서 `time_signal` 메시지가 `AdBreak` 있는의 경우 출력 `EventStream` 요소에`scte35:TimeSignal`는 및 `scte35:SpliceInfoSection` 요소가 하위 요소인 `scte35:SegmentationDescriptor` 요소가 포함됩니다. `scte35:TimeSignal` 요소에는 하위 `scte35:SpliceTime` 요소가 있고 `scte35:SegmentationDescriptor` 요소에는 하위 `scte35:SegmentationUpid` 요소가 있습니다. 예를 들어 다음 DASH 출력은 `EventStream` 요소의 하위 요소 구조를 보여줍니다.

```
<EventStream schemeIdUri="urn:scte:scte35:2013:xml" timescale="90000">
    <Event duration="27000000">
        <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="0" tier="4095">
            <scte35:TimeSignal>
                <scte35:SpliceTime ptsTime="0" />
            </scte35:TimeSignal>
            <scte35:SegmentationDescriptor segmentNum="0" segmentationDuration="27000000" segmentationEventCancelIndicator="false" segmentationEventId="1" segmentationTypeId="48" segmentsExpected="0">
                <scte35:SegmentationUpid segmentationUpidFormat="hexBinary" segmentationUpidType="14">012345</scte35:SegmentationUpid>
            </scte35:SegmentationDescriptor>
        </scte35:SpliceInfoSection>
    </Event>
</EventStream>
```

SCTE-35 메시지를 사용하여 채널 어셈블리의 광고 시간, 해당 메시지의 구조 및 필수 필드, SCTE-35 메시지가 포함된 샘플 HLS 및 DASH 출력을 설정하는 방법을 배웠습니다.

# 채널 재생 시간 전환
<a name="channel-assembly-time-shift"></a>

MediaTailor 채널 어셈블리를 사용하면 채널의 재생 시간을 변경할 수 있습니다. 시간 이동을 통해 최종 사용자는 원래 브로드캐스트 시간이 아닌 시간에 채널의 콘텐츠를 볼 수 있습니다. 예를 들어, 시청자는 프로그램을 시작한 후 브로드캐스트에 참여하더라도 처음부터 프로그램 시청을 시작할 수 있습니다. 또는 최종 사용자는 프로그램을 일시 중지하고 나중에 다시 볼 수 있습니다.

채널의 재생을 시간 이동하려면 채널의 재생 URL에 `start` 파라미터를 추가합니다. `start` 파라미터는 현재 시간을 기준으로 재생이 시작되어야 하는 시간을 지정합니다. 예를 들어 현재 시간이 오후 2시이고 오후 1시에 재생을 시작하려면 `start` 파라미터를 초당 -1시간`-3600`인 로 설정합니다.

`start` 파라미터는 양수 값과 음수 값을 모두 초 단위로 허용합니다.
+ 음수 값은 현재 시간을 기준으로 과거의 시간을 나타냅니다. 예를 들어는 "1시간 전 재생 시작"을 `start=-3600` 의미합니다.
+ 양수 값은 현재 시간을 기준으로 미래 시간을 나타냅니다. 예를 들어는 "향후 1시간부터 재생 시작"을 `start=3600` 의미합니다.

다음 예제에서는 채널의 재생 URL에 `start` 파라미터를 추가하는 방법을 보여줍니다.

```
https://a1b2c3d4e5f6.mediapackage.us-west-2.amazonaws.com/out/v1/examplechannel/index.m3u8?start=-3600
```

이 예제에서는 재생이 1시간 전부터 시작됩니다.

`start` 파라미터에는 다음과 같은 제한 사항이 적용됩니다.
+ 최대 시간 이동 기간은 과거 또는 미래 24시간입니다.
+ 시간 이동은 선형 재생 모드를 사용하는 채널에서만 사용할 수 있습니다.
+ 루프 재생 모드를 사용하는 채널에는 시간 전환을 사용할 수 없습니다.

사용 가능한 시간 전환 기간을 벗어나는 `start` 파라미터를 지정하면 MediaTailor가 오류를 반환합니다.