

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

# 即時內容處理
<a name="what-is-flow-live"></a>

在即時內容的處理流程中，編碼器會將即時 HLS 串流傳送至 MediaPackage。然後，MediaPackage 會封裝內容，將其格式化以回應來自下游裝置的播放請求。

以下小節描述即時處理流程。

**Topics**
+ [一般 MediaPackage 即時處理流程](what-is-flow-gen.md)
+ [即時輸入備援 AWS Elemental MediaPackage 處理流程](what-is-flow-ir.md)

# 一般 MediaPackage 即時處理流程
<a name="what-is-flow-gen"></a>

以下概述 MediaPackage 中即時內容的一般流程：

1. 上游編碼器 （例如 AWS Elemental MediaLive) 會透過 WebDAV 將具有摘要身分驗證的 HLS 即時串流傳送至 MediaPackage 頻道輸入 URL，並包含頻道的存取憑證 （如 MediaPackage 所提供）。如果您使用輸入備援，編碼器會將兩個相同的 HLS 即時串流傳送至 MediaPackage，一個串流傳送至頻道上的每個輸入 URL。MediaPackage 使用來自一個輸入 URL 的串流做為來源內容。如果 MediaPackage 停止接收作用中輸入 URL 上的內容，它會自動切換到來源內容的其他輸入 URL。此外， 會向上和向下 AWS 擴展資源，以處理傳入流量。

   如需詳細資訊，請參閱[即時輸入備援 AWS Elemental MediaPackage 處理流程](what-is-flow-ir.md)。
**注意**  
為了允許支援如時間轉移檢視等功能，MediaPackage 會在有限的時間內存放所有接收的內容。只有在遇到端點上所定義 ** startover window (從頭播放時段)**，這段儲存內容才可供播放。如果存放的內容在啟動時段之外，或者您尚未在端點上定義時段，則無法播放。如需詳細資訊，請參閱[中的時間轉移檢視參考 AWS Elemental MediaPackage](time-shifted.md)。

1. 下游裝置透過端點輸出 URL 從 MediaPackage 請求內容。下游裝置可以是影片播放器或 CDN。輸出 URL 與特定串流格式 (Apple HLS、DASH-ISO、Microsoft Smooth Streaming 或 CMAF) 的端點相關聯。

1. 當 MediaPackage 從下游裝置接收播放請求時，它會根據您在端點上指定的設定動態封裝串流。封裝可以包含新增加密和設定音訊、影片和字幕或字幕軌輸出。

   請務必訂購您的輸入，以便先在父資訊清單的音訊區段中列出您偏好的音訊轉譯。對字幕或字幕執行相同的動作。當封裝音訊和字幕或字幕音軌時，MediaPackage 會將第一個音訊和字幕或字幕音軌指定為 `DEFAULT=YES`和 `AUTO-SELECT=YES`。此封裝會覆寫輸入的預設和自動選取設定。

1. MediaPackage 透過 HTTPS 將輸出串流傳送到請求裝置。如同輸入， 會向上和向下 AWS 擴展資源，以處理流量的變更。

1. MediaPackage 透過 Amazon CloudWatch 記錄活動。您可以檢視資訊，例如內容請求的數量，以及 MediaPackage 已接收或交付的內容數量。如需在 CloudWatch 中檢視 MediaPackage 指標的詳細資訊，請參閱 [AWS Elemental MediaPackage 使用 Amazon CloudWatch 指標進行監控](monitoring-cloudwatch.md)。

在整個內容輸入和輸出程序中，MediaPackage 會在潛在基礎設施故障成為瀏覽者的問題之前對其進行偵測並緩解。

下圖顯示了整個過程。

![\[MediaPackage 工作流程\]](http://docs.aws.amazon.com/zh_tw/mediapackage/latest/ug/images/bbl_flow1.png)


# 即時輸入備援 AWS Elemental MediaPackage 處理流程
<a name="what-is-flow-ir"></a>

透過傳送兩個串流來分隔 MediaPackage 中頻道上的輸入 URLs， AWS Elemental MediaPackage 以在 中實現輸入備援。其中一個串流會成為主要的啟動中端點內容來源，而另一個串流則持續被動接收內容。如果 MediaPackage 停止從作用中串流接收內容，則會切換到其他輸入串流，讓內容播放不會中斷。

如果您搭配 AWS Elemental MediaLive （例如） 使用 MediaPackage，以下是輸入備援的流程：

1. 您可以在 MediaPackage 中建立頻道，如中所述[建立頻道](channels-create.md)。當 MediaPackage 佈建頻道時，它會為頻道建立兩個輸入 URLs。如果您不使用輸入備援，可以將串流傳送至任一個輸入 URL。您不需要將內容傳送至這兩個 URLs。
**注意**  
當輸入備援可用時，MediaPackage 會將第二個輸入 URL 新增至現有頻道，並將現有 URL 更新為新格式。您可以使用現有或新的 URL 進行內容輸入。

1. 您可以在 MediaPackage 中建立端點，如中所述[建立端點](endpoints-create.md)。
**重要**  
如果您使用短輸出區段，視播放裝置而定，您可能會在 MediaPackage 切換輸入時看到緩衝。您可以使用端點的時間延遲功能減少緩衝的發生。請注意，使用時間緩衝會造成端到端內容傳送的延遲。如需啟用時間延遲的詳細資訊，請參閱 [建立端點](endpoints-create.md)。

1. 您可以在 中建立輸入和頻道 AWS Elemental MediaLive，並將 MediaPackage 輸出群組新增至 MediaLive 中的頻道。如需詳細資訊，請參閱*AWS Elemental MediaLive 《 使用者指南*》中的[從 Scratch 建立頻道](https://docs.aws.amazon.com/medialive/latest/ug/creating-channel-scratch.html)。

   如果您在 中使用 HLS 輸出群組 AWS Elemental MediaLive，則必須設定 HLS 群組設定上的輸入遺失動作，以便在服務未接收輸入時暫停輸出。如果 MediaLive 在缺少輸入時傳送黑色影格或其他填充物影格，則 MediaPackage 無法判斷區段何時遺失，也無法執行容錯移轉。如需在 MediaLive 中設定輸入遺失動作的詳細資訊，請參閱*AWS Elemental MediaLive 《 使用者指南*》中的 [HLS 群組的欄位](https://docs.aws.amazon.com/medialive/latest/ug/hls-group-fields.html)。
**重要**  
如果您使用不同的編碼器 （不是 AWS Elemental MediaLive)，並將兩個不同的串流傳送至 MediaPackage 中的相同頻道，則串流必須具有相同的編碼器設定和資訊清單名稱。否則，輸入備援可能無法正常運作，並且如果輸入切換，則播放可能中斷。

1. 您可以在 中啟動頻道 AWS Elemental MediaLive ，將串流傳送至 MediaPackage。

1. MediaPackage 會接收兩個輸入 URLs上的內容，但一次只會將其中一個串流用於來源內容。如果作用中串流遺失任何區段，則 MediaPackage 會自動容錯移轉至另一個串流。MediaPackage 會繼續使用此串流，直到再次需要容錯移轉為止。

   用來判斷輸入是否遺失區段的公式，是以輸入和端點上的區段長度為基礎。如果輸入遺失分段並快速恢復，分段長度較短的端點就不會切換輸入。這可能會導致頻道上的不同端點使用不同的輸入 (如果一個端點切換，而另一個沒有切換)。這是合乎預期的行為，應不至於影響內容工作流程。