

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

# 設定備援資訊清單的程序
<a name="hls-rm-procedure"></a>

在 MediaLive HLS 輸出中設定備援資訊清單有兩個部分。您必須開啟輸出群組中的 功能。您還必須調整輸出名稱和目的地路徑的設計 （相較於未實作備援資訊清單的 HLS 輸出）。

下列欄位專與備援資訊清單相關：
+ **HLS output group – Manifests and Segments – Redundant manifests (HLS 輸出群組 – 資訊清單和區段 – 備援資訊清單)** 欄位

**設定備援資訊清單**

1. 與下游系統的運算子交談，了解他們是否支援備援資訊清單。

1. 閱讀[輸出目的地的欄位 – 傳送至 HTTP 伺服器](hls-destinations-http.md)中的資訊。資訊清單會被視為從 MediaLive 輸出。因此，有關輸出目的地的一般規則適用於備援資訊清單。

1. 設計兩個管道的 URL。HLS 檔案的 URL 有特殊需求。閱讀適當的章節：
   + [適用於大多數下游系統的規則](hls-redundant-manif-most-systems.md) 
   + [Akamai CDN 的規則](hls-redundant-manif-akamai.md)

   這些規則會補充[輸出目的地的欄位 – 傳送至 HTTP 伺服器](hls-destinations-http.md)中的資訊。

1. 如果您還需要資訊清單的自訂路徑，請確定您閱讀[自訂路徑的運作方式](hls-manifests-how-work.md#hls-custom-manifest-paths)中的資訊。設計 URL 時，必須考慮自訂路徑的規則。

1. 在 **HLS output group (HLS 輸出群組)** 區段中，針對 **Manifest and segments (資訊清單和區段)**，針對 **Redundant manifest (備援資訊清單)**，選擇 **ENABLED (已啟用)**。此欄位適用於輸出群組中的所有輸出。

1. 依照您的設計完成這些欄位：
   + **Output group – HLS group destination (輸出群組 – HLS 群組目的地)** 區段
   + **Output group – HLS settings – CDN (輸出群組 – HLS 設定 – CDN)** 區段
   + **Output group – Location – Directory structure (輸出群組 – 位置 – 目錄結構)**
   + **Output group – Location – Segments per subdirectory (輸出群組 – 位置 – 每個子目錄的區段)**
   + **HLS 輸出 – 輸出設定 – 名稱修改器**
   + **HLS 輸出 – 輸出設定 – 區段修飾詞**
   + **HLS 輸出群組 – Location –Base URL 資訊清單** （如果您也設定自訂路徑）
   + **HLS 輸出群組 – 位置 – 基本 URL 內容** （如果您也設定自訂路徑） 

如需此功能如何變更 HLS 資訊清單內容的相關資訊，請參閱[HLS 資訊清單的媒體內容](hls-rm-manifests-contents.md)。

## 此設定的結果
<a name="hls-redundant-manif-results"></a>

以下是備援資訊清單如何在三個失敗案例中運作的相關資訊。

### 案例 A – 輸入遺失動作是發出輸出
<a name="hls-redundant-manif-results-emit"></a>

如果其中一個管道上的輸入遺失，且[**輸入遺失動作**欄位](hls-other-features.md#hls-resiliency)設定為 **EMIT\_OUTPUT**，MediaLive 會繼續更新父系和子系資訊清單。

從下游系統的角度來看，任一管道的父項或子項資訊清單都沒有變更。媒體檔案內的內容是填充內容，但這不會影響下游系統讀取資訊清單的方式。

### 案例 B – 輸入遺失動作是暫停輸出
<a name="hls-redundant-manif-results-pause"></a>

如果其中一個管道 （例如管道 0) 上的輸入遺失，且**輸入遺失動作**欄位設定為 **PAUSE\_OUTPUT**，MediaLive 會執行下列動作：
+ 移除管道 0 之子資訊清單的清單。
+ 將要求傳送至管道 0 的子資訊清單位置，以刪除子資訊清單。

正在讀取管道 0 上主要資訊清單之下游系統的結果：系統將再也找不到管道 0 之子資訊清單的清單。系統會在管道 0 的主要資訊清單中尋找替代的子資訊清單。如果找到管道 1 的子資訊清單，它會切換為讀取該子資訊清單。

正在讀取管道 1 主要資訊清單的下游系統不會受到影響，因為這些系統可能正在讀取管道 1 的子資訊清單 (因為這些子資訊清單最先出現在資訊清單中)。

### 案例 C – 管道故障
<a name="hls-redundant-manif-results-pipeline-failure"></a>

管道也有可能失敗。此失敗與輸入失敗不一樣。當管道 (例如管道 0) 失敗時，會發生下列情況：
+ 輸出停止。
+ 管道 0 的主要資訊清單不會遭到刪除。它仍然包含管道 0 之子資訊清單的清單。
+ 子資訊清單不會更新，因為沒有產生新的媒體檔案。子資訊清單「過時」**。
+ 管道 1 的主要資訊清單不會變更。它仍然包含管道 0 (和管道 1) 之子資訊清單的清單。

正在讀取管道 0 主要資訊清單之下游系統的結果：系統會找到管道 0 之子資訊清單的清單，但該資訊清單將過時。如果系統可以偵測到資訊清單過時，它可以返回管道 0 主要資訊清單，並搜尋替代的子資訊清單。如果找到管道 1 的子資訊清單，它會切換為讀取該子資訊清單。

正在讀取管道 1 主要資訊清單的下游系統不會受到影響。這些系統可能正在讀取管道 1 的子資訊清單 (因為這些子資訊清單最先出現在清單中)。

**注意**  
如果 HLS 輸出的下游系統是 AWS Elemental MediaStore，您可以設定 MediaStore 來刪除過時的輸入。請參閱[物件生命週期政策的元件](https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle-components.html)。刪除子資訊清單後，MediaStore 會回到案例 B 的「資訊清單已刪除」邏輯之後。