

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

# 準備：設定 SCTE 35 來源 - 區段或資訊清單
<a name="scte35-getting-ready-source"></a>

如果您在 MediaLive 頻道中有 HLS 輸入，則必須設定輸入來識別 SCTE 35 訊息的來源。有兩種可能的來源：
+ 傳輸串流 (TS) 中的區段。這種來源類型適用於可包含 SCTE 35 訊息的所有輸入。除非選取特定的 SCTE 35 封包識別符 (PID)，否則將使用 TS 中存在的第一個 PID。
+ HLS 輸入資訊清單中的標籤。這種類型的來源僅適用於 HLS 輸入。

**在非 HLS 輸入中設定來源**

1. 在**建立/編輯頻道**頁面上的導覽窗格中，選擇**輸入附件**。

1. 在**一般輸入設定**中，完成下列欄位：
   + **SCTE 35 PID**：輸入 PID 值。如果值保留空白，則會選取輸入中存在的第一個 SCTE 35 PID。

1. 如果適當，請對其他**輸入附件**重複 。

**在 HLS 輸入中設定來源**

1. 在**建立/編輯頻道**頁面上的導覽窗格中，選擇**輸入附件**。

1. 對於每個 HLS 輸入，在**網路輸入設定**中，在 **HLS 輸入設定**中，選擇 **HLS 輸入**。會出現更多的欄位。

1. 將 SCTE 35 來源設定為 **SEGMENTS** （預設） 或 **MANIFEST**。

**Topics**
+ [支援的資訊清單格式](#scte35-get-ready-source-support)
+ [MediaLive 如何建立 SCTE 35 訊息](#scte35-get-ready-source-create-message)
+ [MediaLive 如何插入訊息：preroll](#scte35-get-ready-source-preroll)

## 支援的資訊清單格式
<a name="scte35-get-ready-source-support"></a>

如果您設定 使用 HLS 輸入資訊清單做為 SCTE 35 來源，請閱讀下列各節。

MediaLive 可以從來源 HLS 資訊清單中的 **EXT-X-CUE-OUT** 和選擇性 **EXT-X-CUE-IN** 標籤產生 SCTE35 接合插入訊息。以下是這些標籤支援格式的範例。
+ `#EXT-X-CUE-OUT:DURATION=60.000`
+ `#EXT-X-CUE-OUT:DURATION="60.000"`
+ `#EXT-X-CUE-OUT:60.000`
+ `#EXT-X-CUE-OUT:"60.000"`
+ `#EXT-X-CUE-IN`

## MediaLive 如何建立 SCTE 35 訊息
<a name="scte35-get-ready-source-create-message"></a>

針對每個 `EXT-X-CUE-OUT`，MediaLive 會使用下列資料建立接合插入類型的 SCTE 35 訊息：
+ `splice_event_id`：遞增的數字，從 MediaLive 從目前輸入建立的第一個 CUE-OUT 訊息的 1 開始。
+ `out_of_network_indicator`： true (1)
+ `program_splice_flag`： true (1)
+ `duration_flag`： true (1)
+ `break_duration`:
  + `auto_return`：1
  + `reserved`：0
  + `duration`：資訊清單的持續時間，轉換為 90kHz 刻度。例如，15 秒是 1350000 個刻度。
+ `splice_immediate_flag`：0 (false)
+ `splice_time`：使用輸入資訊清單中遵循此 EXT-X-CUE-OUT 之影片片段第一個影格的影片 PTS
+ `unique_program_id`：0
+ `avail_num`：遞增的數字，從 MediaLive 從目前輸入建立的第一個 CUE-OUT 訊息的 1 開始。
+ `avails expected`：0

針對每個 `EXT-X-CUE-IN`，MediaLive 會使用下列資料建立接合插入類型的 SCTE 35 訊息：
+ `splice_event_id`：資訊清單中最新 EXT-X-CUE-OUT 的 ID。
+ `out_of_network_indicator`：false (0)
+ `program_splice_flag`： true (1)
+ `duration_flag`：false (0)
+ `splice_immediate_flag`：0 (false)
+ `splice_time`：使用輸入資訊清單中遵循此 EXT-X-CUE-IN 之影片片段第一個影格的影片 PTS
+ `unique_program_id`：0
+ `avail_num`：來自最新 EXT-X-CUE-OUT 的值
+ `avails expected`：0

## MediaLive 如何插入訊息：preroll
<a name="scte35-get-ready-source-preroll"></a>

MediaLive 會在插入對應至 CUE-OUT 的 SCTE 35 訊息時包含前導。此前導是在 SCTE 35 訊息中 splice\_time 之前的 5 秒。

如果頻道沒有足夠的緩衝來允許前導，MediaLive 會減少前導。緩衝區是以下項目的乘積，以秒為單位：
+ 輸入區段持續時間，在輸入資訊清單中指定
+ 緩衝區中要包含的區段數量。當您連接 HLS 輸入時，您可以在**緩衝區段**欄位中設定此值。

例如，如果區段持續時間為 6 秒，且區段數目為 3，則緩衝區為 18 秒。

**確保適當的前導**

如果您的輸入計算緩衝區短於 5 秒，MediaLive 會減少前導。MediaLive 可能會將前導降至 0，這表示 SCTE35 訊息的 PTS 值等於接合時間的 PTS。

為了避免預導不足，建議您確保緩衝*區至少*等於預導，加上一個區段。請遵循下列步驟：
+ 步驟 1：計算您輸入的最小緩衝區，以秒為單位：以秒為單位前導 \+ 以秒為單位的一個區段長度
+ 步驟 2：計算該最小緩衝區中的區段數目：將最小緩衝區除以區段長度
+ 步驟 3：將最小值四捨五入到整數。或者，該最小值小於 3，將該數字四捨五入到 3。
+ 步驟 4：在輸入附件的**緩衝區段**中輸入此數字 （或較大的數字，如果您想要的話）。

例如，假設區段長度為 2 秒。
+ 步驟 1：5 \+ 2 = 7
+ 步驟 2：7 秒除以 2 = 3.5
+ 步驟 3：四捨五入至 4。
+ 步驟 4：在輸入附件的**緩衝區段**中輸入該數字 （或較大的數字）。