

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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、標準 Web 伺服器、內容交付網路 (CDN)，例如 Amazon CloudFront，或封裝原始伺服器，例如 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 建立來源位置的資訊，請參閱 *AWS Elemental MediaTailor API 參考*中的 [CreateSourceLocation](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateSourceLocation.html)。<a name="create-source-location-procedure"></a>

**建立來源位置**

1. 在 https：//[https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) 開啟 MediaTailor 主控台。

1. 在導覽窗格中，選擇**頻道組件** > **來源位置**。

1. 在導覽列上，選擇**建立來源位置**。

1. 在**來源位置組態**下，輸入原始伺服器的名稱和基本 URL：
   + **名稱**：來源位置的識別符，例如 **my-origin**。
   + **基本 URL**：內容存放之原始伺服器的通訊協定和基本 URL，例如 **https://111111111111.cloudfront.net**。URL 必須是標準 HTTP URL 格式，字首為 **http：//** 或 **https：//**。

     如果您的來源位置是 **Amazon S3 儲存貯體，而且您想要將 Signature 第 SigV4**4 用於 Amazon S3 身分驗證。 Amazon S3 AWS 如需進階資訊，請參閱 [設定來源位置的身分驗證](channel-assembly-source-locations-access-configuration.md)。

1. <a name="access-configuration-console"></a>在**存取組態**下，選擇性地設定來源位置的身分驗證：
   + **存取類型**：選取 MediaTailor 用來存取來源位置原始伺服器上存放內容的身分驗證類型。
     + 適用於 **Amazon S3 的 SigV4 ** - MediaTailor 使用 Amazon Signature 第 4 版 (SigV4) 向您的原始伺服器授權請求。如需詳細資訊，請參閱[使用 SigV4 驗證對 Amazon S3 的請求 SigV4](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. 在**區段交付伺服器組態**下，選擇性地設定伺服器以交付您的內容區段：
   + **使用預設區段交付伺服器**：輸入用來交付內容區段的伺服器基本 URL，例如 CDN。如果您想要使用與來源位置伺服器不同的伺服器來提供內容區段，請設定**預設區段主機名稱**。例如，您可以針對**基本 HTTP URL** (MediaTailor 用來存取資訊清單的內容） 和**預設區段基本 URL **（玩家用來存取內容區段的內容），使用不同的 CDN 組態來限制對玩家原始資訊清單的存取。如果您未輸入值，MediaTailor 會預設為來源位置伺服器以進行區段交付。
   + **使用具名客群交付伺服器**：如果您已設定預設客群交付伺服器，您也可以設定其他客群交付伺服器。每個名稱都必須具有唯一的名稱和基本 URL。基本 URL 可以是完整的 HTTP URL，也可以是類似 `/some/path/` 的相對路徑。名稱用於識別 MediaTailor 收到內容區段的請求時應使用哪些伺服器。如果請求包含 標頭，`X-MediaTailor-SegmentDeliveryConfigurationName`且 標頭的值符合名稱，則會使用對應的基本 URL 來提供內容。如果 標頭未包含在請求中，或不符合任何名稱，則會使用預設區段交付伺服器。

1. 選擇**建立來源位置**。

1. 若要新增更多來源位置，請重複步驟 2-6。

# 設定來源位置的身分驗證
<a name="channel-assembly-source-locations-access-configuration"></a>

使用**存取組態**來設定來源位置的身分驗證。開啟存取組態時，MediaTailor 只會在 MediaTailor 和原始伺服器之間授權請求時，從原始伺服器擷取來源資訊清單。存取組態預設為關閉。

MediaTailor 支援下列身分驗證類型：
+ Amazon S3 身分驗證的 SigV4 
+ AWS Secrets Manager 存取字符
+ SigV4 for MediaPackage 第 2 版 (v2) 身分驗證

 本章說明如何將 SigV4 用於 Amazon S3、MediaPackage v2 和 AWS Secrets Manager 存取字符用於來源位置驗證。

 如需詳細資訊，請選取適用的主題。

**Topics**
+ [使用 SigV4 驗證對 Amazon S3 的請求 SigV4](channel-assembly-access-configuration-sigv4.md)
+ [使用 SigV4 for MediaPackage 第 2 版](channel-assembly-access-configuration-sigv4-empv2.md)
+ [使用 AWS Secrets Manager 存取權杖身分驗證](channel-assembly-access-configuration-access-token.md)

# 使用 SigV4 驗證對 Amazon S3 的請求 SigV4
<a name="channel-assembly-access-configuration-sigv4"></a>

Amazon S3 的 Signature 第 4 版 (SigV4) 是一種簽署通訊協定，用於透過 HTTPS 驗證對 Amazon S3 的請求。當您將 SigV4 用於 Amazon S3 時，MediaTailor 會在 HTTPS 請求中包含已簽章的授權標頭，該請求會傳送至做為原始伺服器的 Amazon S3 儲存貯體。如果已簽署的授權標頭有效，則您的原始伺服器會滿足請求。如果無效，請求會失敗。

 如需 SigV4 for 的一般資訊 AWS Key Management Service，請參閱 *Amazon S3 API 參考*中的[驗證請求AWS （簽章第 4 版）](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) 主題。

**注意**  
MediaTailor 一律使用 SigV4 簽署對這些原始伺服器的請求。

## 要求
<a name="channel-assembly-access-configuration-sigv4-how-to"></a>

 如果您針對來源位置的 Amazon S3 身分驗證啟用 SigV4，則必須符合下列要求：
+ 您必須授予 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 的發起人必須具有 **s3：GetObject** IAM 許可，才能讀取 MediaTailor VOD 來源套件組態參考的所有多變體播放清單。
+ 您的 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)。

# 使用 SigV4 for MediaPackage 第 2 版
<a name="channel-assembly-access-configuration-sigv4-empv2"></a>

MediaPackage v2 的簽章版本 4 (SigV4) 是用來透過 HTTP 驗證 MediaPackage v2 請求的簽署通訊協定。當您將 SigV4 用於 MediaPackage v2 時，MediaTailor 會在 HTTP 請求中包含已簽章的授權標頭，以對做為原始伺服器的 MediaPackage v2 端點發出請求。如果已簽署的授權標頭有效，則您的原始伺服器會滿足請求。如果無效，請求會失敗。

 如需 SigV4 for MediaPackage v2 的一般資訊，請參閱 *MediaPackage v2 API 參考*中的[驗證請求AWS （簽章版本 4)](https://docs.aws.amazon.com/mediapackage/latest/userguide/sig-v4-authenticating-requests.html) 主題。

## 要求
<a name="channel-assembly-access-configuration-sigv4-empv2-how-to"></a>

 如果您為來源位置啟用 SigV4 for MediaPackage v2 身分驗證，則必須符合下列要求：
+ 您必須在端點的原始存取政策中授予 **mediatailor.amazonaws.com** 主體存取權，以允許 MediaTailor 存取您的 MediaPackage v2 端點。
+ 您的 MediaTailor 來源位置基礎 URL 必須是 MediaPackage v2 端點。
+ API 的發起人必須具有 **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 管理主控台 或以程式設計方式使用 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. 您可以將 AWS Elemental MediaTailor 來源位置設定為使用 Secrets Manager 存取權杖身分驗證。

下一節提供如何設定 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/)頁面。

您可以使用 AWS KMS AWS 管理主控台 或以程式設計方式使用 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 Resource Name (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 會套用 [GrantConstraints](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) 操作，只允許我們*解密*與 Secrets Manager 加密內容中所含秘密 ARN `SecretString`相關聯的 。

如需有關 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 開發人員指南*》中的 [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 執行下列動作：
  + 呼叫 ，`Decrypt`讓它可以在呼叫 [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) 時成功擷取 Secrets Manager 秘密。
  + 在刪除來源位置或撤銷對秘密的存取時，呼叫 `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)。

您可以使用 或以 AWS 管理主控台 程式設計方式使用 Secrets Manager APIs 建立 Secrets Manager 秘密。

### 若要建立機密
<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)。`SecretString` 應該是有效的 JSON 物件，其中包含包含存取權杖的金鑰和值。例如，\$1"MyAccessTokenIdentifier"："112233445566"\$1。值長度必須介於 8-128 個字元之間。

  當您使用存取權杖身分驗證設定來源位置時，您可以指定 `SecretString`金鑰。MediaTailor 使用 金鑰來查詢和擷取存放在 中的存取字符`SecretString`。

  記下秘密 ARN 和 `SecretString`金鑰。當您將來源位置設定為使用存取權杖身分驗證時，將使用它們。

### 連接以資源為基礎的秘密政策
<a name="channel-assembly-access-configuration-access-token-secret-policy"></a>

若要讓 MediaTailor 存取秘密值，您必須將資源型政策連接至秘密。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[將許可政策連接至 Secrets Manager Secret](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>

您可以使用 AWS 管理主控台 或使用 MediaTailor APIs 以程式設計方式設定 Secrets Manager 存取字符身分驗證。

**使用 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 《 使用者指南*》中的步驟。

1. 完成[步驟 1：建立 AWS KMS 對稱客戶受管金鑰](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-how-to-create-kms)中的程序。

1. 修改您在設定 MediaPackage CDN 授權時建立的秘密。使用下列值修改秘密：
   + `KmsKeyId` 使用您在 中建立的客戶受管金鑰 ARN 更新 [步驟 1：建立 AWS KMS 對稱客戶受管金鑰](channel-assembly-access-configuration-access-configuring.md#channel-assembly-access-configuration-access-token-how-to-create-kms)。
   + （選用） 對於 `SecretString`，您可以將 UUID 輪換為新的值，或者您可以使用現有的加密秘密，只要它是標準 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 會傳送 [DescribeSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html#SecretsManager-DescribeSecret-request-SecretId) 請求給 Secrets Manager，以判斷與秘密相關聯的 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 對客戶受管金鑰的存取權。如需詳細資訊，請參閱 *AWS Key Management Service API 參考*中的 [RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)。

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 播放請求的端點。

如果您想要自動偵測資訊清單中廣告標記的位移，則所有套件組態的每個廣告標記都必須以相同的位移顯示，且持續時間為零。針對 HLS，MediaTailor 會偵測 `DATERANGE`和` EXT-X-CUE-OUT` 標籤。對於 DASH，HLS 會偵測每個標籤中的第一個事件`EventStream`標籤。

在下列範例中，因為`DATERANGE`標籤的持續時間為 0.0，所以會以 12000ms 的偏移偵測廣告休息機會。不會偵測到偏移 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
```

在下列範例中，將會以 0ms 的偏移偵測廣告休息機會，因為`EXT-X-CUE-OUT`標籤的持續時間為 0，後面接著 `EXT-X-CUE-IN`標籤。不會偵測到第二個 `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
```

在下列範例中，將會以 0 毫秒的偏移偵測廣告休息機會，因為 中的第一個事件`EventStream`發生在從 PT0.000S 開始的期間。`EventStream` 將不會偵測到 `Event`中的第二個。

```
<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>

下列程序說明如何將 VOD 來源新增至來源位置，並使用 MediaTailor 主控台設定套件組態。如需有關如何使用 MediaTailor API 新增 VOD 來源的資訊，請參閱 *AWS Elemental MediaTailor API 參考*中的 [CreateVodSource](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateVodSource.html)。

**重要**  
新增 VOD 來源之前，請確定它們符合下列要求：  
來源變體必須全部具有相同的長度，如來源資訊清單所決定。
在套件組態中，每個來源必須具有相同數量的子串流。
由於這些要求，我們不支援每個標題或自動化 ABR，因為這些編碼方法可能會產生不同的資訊清單長度和子串流。  
我們建議您使用包含最小區段長度的編碼範本，以確保您的編碼來源符合這些要求。<a name="add-vod-sources-procedure"></a>

**將 VOD 來源新增至來源位置**

1. 在 https：//[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 來源的名稱：
   + **名稱**：VPD 來源的識別符，例如 **my-example-video**。

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-7。

# 使用即時來源
<a name="channel-assembly-working-live-sources"></a>

*即時來源*代表您新增至來源位置的單一即時串流，例如即時足球遊戲或新聞廣播。建立頻道之後，您可以將一或多個即時來源新增至來源位置，然後將每個即時來源與程式建立關聯。

MediaTailor 支援這些類型的線性頻道組件：
+ 包含 VOD VOD-to-live 來源
+ 頻道的即時來源，其中包含與 VOD-to-live live-to-live內容混合的即時內容

VOD-to-live內容的範例是將 VOD 資產庫組合成即時串流的頻道。live-to-live內容與 VOD-to-live內容混合的一個範例是主要顯示 VOD 內容的頻道，但夜間新聞事件或預先排程的即時運動事件除外。live-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 設定**  

|  標準  |  設定  |  Value  |  必要性  |  備註  | 
| --- | --- | --- | --- | --- | 
|  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`  |  Disabled  |  建議  |    | 
|  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 新增即時來源的資訊，請參閱 *AWS Elemental MediaTailor API 參考*中的 [CreateLiveSource](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateLiveSource.html)。

**重要**  
在新增即時來源之前，請確定在套件組態中，每個來源都有相同數量的子串流。<a name="add-live-sources-procedure"></a>

**將即時來源新增至來源位置**

1. 在 https：//[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-6。

# 使用套件組態
<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：//[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 支援下列層：
     + **Basic** - Basic 層同時支援線性和循環播放模式，且不支援即時來源。
     + **Standard** - Standard 層支援即時來源，且需要線性播放模式。

       在**頻道詳細資訊**中選取**標準**時，您可以在**對象詳細資訊**下定義對象。當您要為預設程式建立 audienceMedia 時，這些對象將用於 programRules。 audienceMedia 
       + 選擇**新增**。
       + 在文字方塊中輸入**對象**名稱。長度必須介於 1 到 32 個英數字元之間。
       +  選擇**確認**。
       + 選擇**下一步**。
   + <a name="playback-mode"></a><a name="playback-mode.title"></a>**播放模式**：播放模式會設定頻道的播放行為。MediaTailor 支援下列播放模式：
     + **Loop** - 排程中的程式會在無限迴圈中back-to-back播放。在排程中播放最後一個程式之後，播放循環會回到第一個程式。播放會繼續循環，直到您停止頻道為止。
     + **線性** - 排程中的每個程式會播放一次，back-to-back。

1. <a name="filler-slate"></a>針對**填充器板**塊，選取參考板塊**位置的來源位置名稱**，以及要用作板塊的 **VOD 來源名稱**。MediaTailor 使用 Slate 填補排程中程式之間的差距。如果板塊的持續時間小於程式之間的間隙持續時間，MediaTailor 會循環板塊。如果您的頻道使用線性播放模式，則必須設定填充板欄位 。MediaTailor 不支援迴圈播放模式的填充板。

1. 選擇**下一步**。

1. 在計劃規則下指定對象詳細資訊。

1. 在**頻道詳細資訊**中選取**標準**時，您可以在**對象**詳細資訊下定義對象。當您要為預設程式建立 audienceMedia 時，這些對象將用於 **programRules**： **audienceMedia** 
   + 選取**新增**，然後在文字方塊中新增對象，然後選取**確認**。
**注意**  
輸入不超過 \$1 32 個英數字元的名稱。
   + **輸出類型**：選取頻道的串流格式。支援 DASH 和 HLS。
   + **來源群組**：輸入您在套件組態中建立的來源群組名稱，如中所述[將 VOD 來源新增至來源位置](channel-assembly-add-vod-source.md)。

1. 選取**下一步**。

1. 在**資訊清單設定**下，輸入資訊清單設定的其他資訊：
   + **資訊清單視窗 （秒）**：每個資訊清單中包含的時段，以秒為單位。最小值為 30 秒，最大值為 3600 秒。
   + **廣告標記類型 （僅限 HLS 輸出）**：顯示在 VOD 程式廣告休息時間中的廣告標籤類型。選取`Daterange`讓 MediaTailor 將廣告休息時間插入具有`EXT-X-DATERANGE`標籤的 VOD 程式。選取`Scte35 Enhanced`讓 MediaTailor 使用 `EXT-X-CUE-OUT`和 `EXT-X-CUE-IN`標籤將廣告休息時間插入 VOD 程式。如需這些標籤類型的詳細資訊，請參閱 [廣告休息時間的 SCTE-35 訊息](ca-scte-35-messages.md)。對於即時工作流程，MediaTailor 一律會傳遞`DATERANGE`標籤，而且不會傳遞任何增強型 Scte35 標籤，無論選取的廣告標記類型為何。

1. 如果您想要設定多個頻道輸出，請在**輸出**下選擇**新增**。然後，完成此程序中的步驟 6 和 7 來設定輸出的詳細資訊。

1. 選擇**下一步**。

1. 在**頻道政策**下，選擇頻道的 IAM 政策設定：
   + **請勿連接頻道政策**：僅限可存取此帳戶登入資料的人員播放。
   + **連接自訂政策**：定義您自己的政策，並盡可能限制對 的存取。
   + **連接公有政策**：接受所有傳入用戶端請求到頻道的輸出。如果您想要使用 MediaTailor 廣告插入，則必須使用此選項。

1. 選擇**下一步**。

1. 在檢閱**和建立窗格中檢閱**您的設定。

1. 選擇 **Create channel (建立頻道)**。
**注意**  
頻道會以停止狀態建立。在您使用 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：//[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 建立程式的資訊，請參閱 *AWS Elemental MediaTailor API 參考*中的 [CreateProgram](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateProgram.html)。<a name="add-programs-procedure"></a>

**新增程式**

1. 在 https：//[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** - 程式播放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 來源**，然後選擇您用於先前在此任務中新增之 Slate 的 VOD 來源。板塊的持續時間決定廣告休息時間的持續時間。
   + **以毫秒為單位的位**移：此值決定廣告休息開始時間，以毫秒為單位，做為相對於程式開始的位移。輸入任何小於 VOD 來源持續時間的值，並與程式 VOD 來源內所有音軌 （所有音訊、視訊和隱藏式字幕音軌） 上的區段界限相符的值，否則會略過廣告休息時間。例如，如果您輸入 **0**，這會建立在程式開始之前播放的預導廣告休息時間。
   + **可用號碼**：MediaTailor 將此值寫入 `splice_insert.avail_num`，如 SCTE-35 規格[的數位程式插入提示訊息第 9.7.3.1. 節](https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022)所定義。預設值為 0。值必須介於 0 到 256 之間，包括在內。
   + **預期可用**：MediaTailor 會將此值寫入 `splice_insert.avails_expected`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 0。值必須介於 0 到 256 之間，包括在內。
   + **接合事件 ID**：MediaTailor 會將此值寫入 `splice_insert.splice_event_id`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 1.
   + **唯一程式 ID**：MediaTailor 將此值寫入 `splice_insert.unique_program_id`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 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** - 程式播放 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 來源**，然後選擇您在本教學課程稍早新增用於 Slate 的 VOD 來源。板塊的持續時間決定廣告休息時間的持續時間。
   + 對於**以毫秒為單位的位**移：此值決定廣告休息開始時間，以毫秒為單位，做為相對於程式開始的位移。輸入任何小於 VOD 來源持續時間的值，並與程式 VOD 來源內所有音軌 （所有音訊、視訊和隱藏式字幕音軌） 上的區段界限相符的值，否則會略過廣告休息時間。例如，如果您輸入 **0**，這會建立在程式開始之前播放的預導廣告休息時間。
**注意**  
如果 MediaTailor 偵測到廣告標記，例如`DATERANGE` HLS `EXT-X-CUE-OUT`的 或 和 DASH `EventStream`的 ，且 VOD 來源的持續時間為零，您可以從要用作廣告休息時間位移的下拉式功能表中選取這些廣告標記的位移。為了偵測廣告機會，其在 VOD 來源內的所有套件組態中必須存在相同的位移，且其持續時間必須為零。
   + **訊息類型**：SCTE-35 廣告插入類型。選擇 **SPLICE\$1INSERT** 或 **TIME\$1SIGNAL**：
     + **SPLICE\$1INSERT**：使用接合插入參數提供廣告休息時間的基本中繼資料。
     + **TIME\$1SIGNAL**：使用分段描述項提供更進階的中繼資料。如需訊息類型之間差異的詳細資訊，請參閱 [廣告休息時間的 SCTE-35 訊息](ca-scte-35-messages.md)。

     對於 **SPLICE\$1INSERT** 訊息類型：
     + 對於**可用號碼**，這會寫入 `splice_insert.avail_num`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 `0`。值必須介於 `0`和 之間`256`，包括 。
     + 對於 **Avail 預期**，這會寫入 `splice_insert.avails_expected`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 `0`。值必須介於 `0`和 之間`256`，包括 。
     + 對於**接合事件 ID**，這會寫入 `splice_insert.splice_event_id`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 `1`。
     + 對於**唯一程式 ID**，這會寫入 `splice_insert.unique_program_id`，如 SCTE-35 規格第 9.7.3.1. 節所定義。預設值為 `0`。值必須介於 `0`和 之間`256`，包括 。

     對於 **TIME\$1SIGNAL** 訊息類型：
     + 對於**分段事件 ID**，這會寫入 `segmentation_descriptor.segmentation_event_id`，如 SCTE-35 規格的第 10.3.3.1 節所定義。預設值為 `1`。
     + 對於**區段類型 ID**，這會寫入 `segmentation_descriptor.segmentation_type_id`，如 SCTE-35 規格的第 10.3.3.1 節所定義。預設值為 `48`(0x30)。值必須介於 `0`和 之間`256`，包括 。
     + 對於**分段 UPID**，這會寫入 `segmentation_descriptor.segmentation_upid`，如 SCTE-35 規格的第 10.3.3.1 節所定義。值必須是包含字元 `0-9`和 的十六進位字串`A-F`。預設值為空字串。
     + 對於**區段 UPID 類型**，這會寫入 `segmentation_descriptor.segmentation_upid_type`，如 SCTE-35 規格的第 10.3.3.1 節所定義。預設值為 `14`(0x0E)。值必須介於 `0`和 之間`256`，包括 。
     + 對於**區段號碼**，這會寫入 `segmentation_descriptor.segment_num`，如 SCTE-35 規格的第 10.3.3.1 節所定義。預設值為 `0`。值必須介於 `0`和 之間`256`，包括 。
     + 對於**預期的區段**，這會寫入 `segmentation_descriptor.segments_expected`，如 SCTE-35 規格的第 10.3.3.1 節所定義。預設值為 `0`。值必須介於 `0`和 之間`256`，包括 。

1. 選擇**新增程式**。

    如需使用 MediaTailor 個人化廣告休息時間的更進階資訊，請參閱 [在頻道串流中插入個人化廣告和廣告休息時間](channel-assembly-integrating-mediatailor-ssai.md)。
**注意**  
如果您的頻道至少有一個具有`Enhanced Scte35`廣告標記類型的輸出，您可以提交廣告中斷中繼資料。MediaTailor 會將提交的鍵值對寫入廣告休息時間的`EXT-X-ASSET`標籤。

# 使用計劃規則定義受眾群組和替代內容
<a name="working-with-program-rules"></a>

透過計劃規則，您可以定義頻道的對象群組，並指定要為這些對象播放的替代媒體。您可以將一或多個替代內容來源與計畫的受眾建立關聯。程式結束後，除非您指定進一步的替代媒體，否則將會播放預設受眾內容。

具有 LINEAR 播放模式的 STANDARD 層頻道上提供計劃規則。MediaTailor 頻道支援所有 VOD 來源和即時來源的替代媒體。

如需範例使用方式，請參閱[搭配使用程式規則與 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 到 32 個英數字元之間。如果提供給對象的值無效，則請求會失敗。

您只能使用 LINEAR 播放模式在 STANDARD 層頻道上定義對象。

當您需要更新對象時，您可以使用 MediaTailor 主控台或 MediaTailor `UpdateChannel` API 來執行此操作。

如果您使用 `ProgramRules`功能，請確定在 `CreateProgram`或 `UpdateProgram`請求中`AudienceMedia`定義的 包含頻道中定義的現有對象。

## 建立替代媒體
<a name="program-rules-creating-alternate-media"></a>

下列任務說明如何使用 MediaTailor 主控台定義替代媒體。如需有關如何使用 MediaTailor API 定義替代媒體的資訊，請參閱《 *AWS Elemental MediaTailor API 參考*[https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateProgram.html](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateProgram.html)》中的 。

若要在新程式上定義替代媒體：

1. 在 https：//[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>

開始之前，請確定符合下列要求：
+ 準備 HLS 和 DASH 串流以進行 MediaTailor 廣告插入。
  + 如果您尚未準備內容串流，請參閱 * 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：//[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 會將廣告中繼資料寫入輸出資訊清單，做為 `EXT-X-DATERANGE`(HLS) 或 `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/zh_tw/mediatailor/latest/ug/images/scte-35-splice-insert-vs-time-signal-segmentation-descriptor.png)


如需使用 的資訊`time_signal`，請參閱 2022 SCTE-35 規格第 9.7.4 節，[數位程式插入提示訊息](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`訊息所需的欄位。如需詳細資訊，請參閱 2022 SCTE-35 規格的第 10.3.3.1 節，您可以在 [ANSI Webstore 網站](https://webstore.ansi.org/Standards/SCTE/ANSISCTE352022)購買。


**`segmentation_descriptor` 訊息的必要欄位**  

| 欄位 | Type | 預設值 | Description | 
| --- | --- | --- | --- | 
| segmentation\$1event\$1id | integer | 1 | 這會寫入 segmentation\$1descriptor.segmentation\$1event\$1id。 | 
| segmentation\$1upid\$1type | integer | 14 (0x0E) | 這會寫入 segmentation\$1descriptor.segmentation\$1upid\$1type。值必須介於 0 到 256 之間，包括 。 | 
| segmentation\$1upid | string | "" （空字串） | 這會寫入 segmentation\$1descriptor.segmentation\$1upid。值必須是十六進位字串，其中包含字元 0-9和 A-F。 | 
| segmentation\$1type\$1id | integer | 48 (0x30) | 這會寫入 segmentation\$1descriptor.segmentation\$1type\$1id。值必須介於 0 到 256 之間，包括 。 | 
| segment\$1num | integer | 0 | 這會寫入 segmentation\$1descriptor.segment\$1num。值必須介於 0 到 256 之間，包括 。 | 
| segments\$1expected | integer | 0 | 這會寫入 segmentation\$1descriptor.segments\$1expected。值必須介於 0 到 256 之間，包括 。 | 
| sub\$1segment\$1num | integer | null | 這會寫入 segmentation\$1descriptor.sub\$1segment\$1num。值必須介於 0 到 256 之間，包括 。 | 
| sub\$1segments\$1expected | integer | null | 這會寫入 segmentation\$1descriptor.sub\$1segments\$1expected。值必須介於 0 到 256 之間，包括 。 | 

下表顯示 MediaTailor 自動為部分`segmentation_descriptor`訊息欄位設定的值。


**MediaTailor 為`segmentation_descriptor`訊息欄位設定的值**  

| 欄位 | Type | Value | 
| --- | --- | --- | 
| segmentation\$1event\$1cancel\$1indicator | Boolean | True | 
| program\$1segmentation\$1flag | Boolean | True | 
| delivery\$1not\$1restricted\$1flag | Boolean | True | 

MediaTailor 一律將 `segmentation_duration_flag`設定為 `True`。MediaTailor 會將狀態內容的持續時間以刻度填入 `segmentation_duration` 欄位。

**注意**  
當 MediaTailor 傳送訊息時`time_signal`，會將`splice_info_section`訊息中的 `splice_command_type` 欄位設定為 6 (0x06)。

在 HLS 輸出中，對於`AdBreak`具有`time_signal`訊息的 ，輸出`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 輸出中，對於`AdBreak`具有`time_signal`訊息的 ，輸出`EventStream`元素包含具有 `scte35:SpliceInfoSection` `scte35:TimeSignal`和 元素的`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 頻道組件，您可以轉移頻道的播放時間。時間轉移可讓檢視器在原始廣播時間以外的時間觀看頻道的內容。例如，檢視器可以從頭開始觀看節目，即使它們在廣播開始後加入廣播。或者，瀏覽者可以暫停程式，並在稍後繼續觀看。

若要將頻道的播放時間轉移，您可以將`start`參數新增至頻道的播放 URL。`start` 參數會指定相對於目前時間，播放應該開始的時間。例如，如果目前時間是下午 2：00，而您想要從下午 1：00 開始播放，您可以將 `start` 參數設定為 `-3600`，即 -1 小時，以秒為單位。

`start` 參數接受正值和負值，以秒為單位：
+ 負值表示過去的時間，相對於目前時間。例如， `start=-3600`表示「從 1 小時前開始播放」。
+ 正值表示相對於目前時間的未來時間。例如， `start=3600`表示「從未來 1 小時開始播放」。

下列範例示範如何將 `start` 參數新增至頻道的播放 URL：

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

在此範例中，播放會從 1 小時前開始。

`start` 參數受限於下列限制：
+ 時間轉移時段上限為過去或未來的 24 小時。
+ 時間轉移僅適用於使用線性播放模式的頻道。
+ 時間轉移不適用於使用循環播放模式的頻道。

如果您指定的`start`參數不在可用的時間轉移時段內，MediaTailor 會傳回錯誤。