

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

# 處理視訊輸入遺失
<a name="feature-input-loss"></a>

您可以自訂 MediaLive 在頻道的視訊輸入遺失時處理媒體的方式。

**Topics**
+ [MediaLive 如何處理視訊輸入遺失](#feature-input-loss-overview)
+ [設定取代內容](#feature-input-loss-customize-replacement)
+ [自訂交付](#feature-input-loss-customize-delivery)

## MediaLive 如何處理視訊輸入遺失
<a name="feature-input-loss-overview"></a>

當 MediaLive 擷取輸入時，可能會偵測到視訊來源已遺失。此遺失會導致 MediaLive 開始遵循*輸入遺失行為*處理。MediaLive 開始編碼輸出端的*替換內容* （填充影格）。此處理可確保頻道可以繼續編碼視訊內容。(MediaLive 的關鍵規則是執行中的頻道必須一律編碼內容。) 

頻道會遵循輸入遺失處理，直到復原並回到正常編碼。頻道復原的方式取決於您是否實作自動輸入容錯移轉：
+ 如果您實作[自動輸入容錯移轉](automatic-input-failover.md)，輸入遺失處理將繼續，直到視訊黑色容錯移轉條件觸發切換到另一個輸入 （或直到輸入復原為止）。如果第二個輸入失敗，輸入遺失處理會重新啟動並繼續，直到您修正兩個輸入的問題為止。
+ 如果您未實作自動輸入容錯移轉，輸入遺失處理會持續進行，直到輸入復原，或直到您使用輸入解決問題為止。

這兩個功能互相補充，但處理不同的時間：
+ 一旦預期的影格無法到達，就會立即處理輸入遺失。例如，如果輸入的影格率為 60 FPS，則如果影格未在前一個影格的 17 毫秒內到達，則會觸發處理。(17 Msecs 約為 1 秒除以 60。)
+ 自動輸入容錯移轉的觸發條件較長且可設定。典型的觸發條件是 1000 毫秒。

**相較於輸入探查失敗的輸入遺失**

輸入遺失處理只會在先前運作狀態良好的輸入變成運作狀態不佳後發生。

在這之前，輸入也可能會失敗。當頻道啟動且 MediaLive 開始擷取第一個輸入時，它會*探查*輸入，嘗試偵測輸入和來源。如果偵測失敗，則輸入和通道會立即失敗。您必須解決問題並重新啟動頻道。問題可能是輸入不存在 （此問題主要適用於 RTMP 輸入），或輸入超過[目前的頻道規格](input-specification.md)，或[輸入設定錯誤](create-input.md)。

**預設行為輸入遺失處理**

輸入遺失處理的預設值如下：
+ 編碼取代內容：重複並編碼最後收到的有效影格。重複 1000 毫秒。然後編碼 1000 Msecs 的黑色影格。然後無限期地編碼黑色板塊。
+ 交付內容：預設處理是發出 （交付） 編碼的替換內容。

**自訂輸入遺失處理**
+ 您可以自訂取代內容的時間，也可以自訂 Slate 的內容。
+ 在某些輸出群組類型中，您可以變更交付，使編碼的內容不會交付。

## 設定取代內容
<a name="feature-input-loss-customize-replacement"></a>

您可以自訂替換內容的持續時間，也可以自訂用於板塊的影像或顏色。例如，您可以將板塊變更為影像 （例如*請站立*)。

**注意**  
本節假設您熟悉建立或編輯頻道，如[從零開始建立頻道](creating-channel-scratch.md)中所述。

1. 在 MediaLive 主控台的**建立**頻道頁面上，選擇**一般設定**。展開**全域組態**。如有必要，請選擇**啟用全域組態**。

1. 在**輸入遺失行為**中，選擇**輸入遺失行為**。會出現更多的欄位。這些欄位控制取代內容，如下所示：
   + 對重複影格 **Msec 中指定的時間的最後有效影格**進行編碼。零表示已停用 （略過重複影格並移至黑色影格）。值 1，000，000 表示永遠重複上一個。
   + 當**重複影格 Msec **過期時，請對黑色**影格 Msec** 中指定的時間進行編碼。零表示已停用 （略過黑色影格並前往板塊）。值 1，000，000 表示永遠重複黑色影格。
   + 當 **Black Frame Msec** 過期時，請切換到傳送指定的板塊或顏色，如**輸入損失影像類型**中指定，然後**輸入損失影像顏色**或**輸入損失影像板**中指定。

1. 完成一或多個欄位以自訂行為。如需 MediaLive 主控台上欄位的詳細資訊，請選擇欄位旁的**資訊**連結。

## 自訂交付
<a name="feature-input-loss-customize-delivery"></a>

您可以變更取代內容的預設處理方式，以便 MediaLivediscards 取代內容，而不是交付編碼的輸出。您可以在下列類型的輸出群組中變更處理方式：
+ HLS
+ Microsoft Smooth
+ RTMP
+ UDP/TS

對於 MediaPackage 以外的所有其他輸出群組類型，MediaLive 一律會交付內容。對於 MediaPackage 輸出群組，MediaLive 一律[會暫停交付](mediapackage-create-result.md)。

**注意**  
本節假設您熟悉建立或編輯頻道，如[從零開始建立頻道](creating-channel-scratch.md)中所述。

1. 在 MediaLive 主控台的**建立**頻道頁面上，選擇左側導覽列中的輸出群組。

1. 在輸出群組**的設定**區段中，尋找該輸出群組的**輸入遺失動作**欄位。針對此輸出群組中的所有輸出 （包括不包含視訊的輸出），選擇您想要的選項。在此步驟之後，請參閱 資料表。

此資料表列出輸出群組的交付選項。讀取每一列。


| 輸出群組的類型 | 欄位 | Description | 
| --- | --- | --- | 
| HLS<br />Microsoft Smooth<br />RTMP | EMIT\_OUTPUT | 交付替換內容。這是這些輸出群組的預設值。 | 
| HLS<br />Microsoft Smooth<br />RTMP | PAUSE\_OUTPUT | 如果[頻道設定為](#feature-input-loss-customize-replacement)處理重複影格，則僅編碼重複影格。在該內容結束後，停止交付此輸出群組中的所有輸出。請注意，MediaLive 會保持基礎 RTMP 連線開啟。 | 
| UDPSRT | EMIT\_PROGRAM | 編碼取代內容，並交付此輸出群組的程式和所有資料表。這是 UDP 的預設值。 | 
| UDPSRT | DROP\_TS | 在此輸出群組中停止交付整個傳輸串流。 | 
| UDPSRT | DROP\_PROGRAM | 從傳輸串流捨棄程式。MediaLive 會將程式取代為 null 封包，以符合 TS 位元速率需求。<br />交付此輸出群組的 null 封包和所有資料表。 | 

**建議**

您應該確保交付符合下游系統的期望。

例如，如果頻道是標準頻道 （具有兩個備援管道），則可以設定下游系統來切換到第二個管道的輸出。在這種情況下，最好設定輸出以停止發出輸出。

另一個範例是，頻道可能只有一個管道。此外，如果下游系統遺失 MediaLive 的交付，可能無法正常運作。因此，建議您設定 以發出輸出。下游系統將保持穩定，而且您可以使用「請站立」板塊來設定 MediaLive，以改善觀看影片的人的體驗。