

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

# 將程式新增至頻道的排程
<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`