

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

# 整合 MediaTailor 與 MediaPackage 和 CDN
<a name="mediapackage-integration"></a>

AWS Elemental MediaTailor 與 整合 AWS Elemental MediaPackage ，透過內容交付網路 (CDN) 提供個人化影片廣告。MediaPackage 是一種just-in-time影片封裝和起始服務，可準備和保護您的影片內容，以便透過網際網路交付。它會取得您的即時或隨需視訊內容，並將其封裝為串流格式，例如 HLS 和 DASH，使其可供各種裝置上的瀏覽者使用。

當您將 MediaPackage 與 MediaTailor 和 CDN 結合時，您可以建立完整的串流工作流程，大規模交付個人化廣告。CDN 會全域分發您的內容，減少延遲並改善瀏覽者體驗，同時 MediaTailor 會將目標性廣告插入您的串流。

本主題著重於讓 MediaTailor、MediaPackage 和 CDN 一起運作的基本整合步驟。如需進階組態選項、疑難排解和監控指引，請參閱 [後續步驟](#emp-cdn-next-steps)。

## 了解 MediaPackage 和 CDN 工作流程
<a name="emp-cdn-overview"></a>

在設定整合之前，請務必了解 MediaPackage、MediaTailor 和 CDN 如何一起運作：

1. **內容準備**：MediaPackage 會接收您的即時或隨需視訊內容，並將其封裝為串流格式 (HLS 或 DASH 資訊清單和區段）。

1. **廣告插入**：MediaTailor 向 MediaPackage 請求資訊清單、插入個人化廣告，並向瀏覽者提供修改的資訊清單。

1. **全域分佈**：您的 CDN 會快取內容區段 （來自 MediaPackage) 和廣告區段 （來自 MediaTailor) 並分發給全球瀏覽者。

1. **觀眾播放**：影片播放器透過 CDN 請求資訊清單，它會在 MediaTailor （資訊清單） 和 MediaPackage （內容區段） 之間適當地路由請求。

此架構提供數種優點：
+ **可擴展性**：CDN 可處理高檢視器負載，而不會影響原始伺服器
+ **效能**：內容從最接近瀏覽者的節點交付
+ **成本效益**：透過快取降低頻寬成本
+ **可靠性**：多個節點提供備援

## 先決條件
<a name="emp-cdn-prerequisites"></a>

開始之前，請確定您已設定下列元件：

1. **MediaPackage 端點**：已設定的 MediaPackage 端點，可接收和封裝您的影片內容。如需設定說明，請參閱 [ MediaPackage 使用者指南中的 MediaPackage 入門](https://docs.aws.amazon.com/mediapackage/latest/ug/getting-started.html)。 MediaPackage 

1. **MediaTailor 組態**：使用 MediaPackage 端點做為內容原始伺服器的 MediaTailor MediaTailor 組態。如需設定說明，請參閱 [整合 MediaTailor 廣告插入的內容來源](integrating-origin.md)。

1. **CDN 分佈**：設定為使用串流媒體的 CDN 分佈 （例如 CloudFront)。如需設定說明，請參閱 CloudFront 開發人員指南中的[建立分佈](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html)。

1. **廣告決策伺服器**：已設定的廣告決策伺服器，會傳回 VAST 或 VMAP 回應以進行廣告插入。

## 步驟 1：設定基本 CDN 設定
<a name="mediapackage-best-practices"></a>

適當的 CDN 組態對於成功的 MediaPackage 整合至關重要。不正確的設定可能會導致播放失敗、快取效能不佳和成本增加。如果沒有正確的快取政策和查詢參數轉送，您的 CDN 可能無法正確交付資訊清單，或可能完全略過快取，導致高原始伺服器負載和降低檢視器體驗。

### 設定基本快取設定
<a name="mediapackage-cache-control"></a>

設定基本快取至關重要，因為 MediaPackage 使用特定的快取控制標頭來最佳化內容交付。如果沒有適當的快取設定，您的 CDN 可能會忽略這些標頭，導致不必要的原始伺服器請求和增加的延遲。請依照下列步驟來確保最佳的快取行為：

若要設定與 MediaPackage 搭配使用的基本快取：

1. 在 CloudFront 主控台中開啟 CloudFront 分佈設定。

1. 選取或建立 MediaPackage 原始伺服器的快取政策。

1. 啟用「原始快取控制標頭」選項。

1. 允許 MediaPackage 透過其快取控制標頭控制快取行為。

此基本組態可讓 MediaPackage 自動為不同的內容類型設定適當的快取持續時間。若要使用特定 TTL 值和效能調校實作進階快取最佳化，請先完成此基本設定，然後繼續 [針對 MediaTailor 和 MediaPackage 內容交付最佳化 CDN 快取](cdn-emp-caching.md)。

### 設定基本查詢參數
<a name="mediapackage-query-strings"></a>

查詢參數組態對 MediaPackage 功能至關重要。您的 CDN 必須轉送特定查詢參數，才能啟用時間轉移檢視和低延遲串流等功能。不正確的查詢參數設定可能會阻止這些功能運作，我擔心會降低快取效率。請依照下列步驟設定查詢參數轉送：

若要確保您的 CDN 轉送所需的查詢參數至 MediaPackage：

1. 在您的 CloudFront 分佈設定中，選取或建立資訊清單請求的快取政策。

1. 在「快取金鑰設定」下，選取「包含指定的查詢字串」。

1. 新增下列基本查詢參數：
   + `start` 和 `end` - 用於時間轉移檢視功能。這些參數會傳遞至 MediaPackage，以定義特定內容時段進行啟動和追查檢視
   + `_HLS_msn` 和 `_HLS_part` - 支援 LL-HLS 播放請求
   + `m` - 用於擷取端點的修改後 ti/compame。MediaPackage 回應一律包含 `?m=###`標籤，以擷取端點的修改時間。如果內容已使用此標籤的不同值快取，CloudFront 會請求新的資訊清單，而不是提供快取的版本
   + `aws.manifestfilter` - 用於資訊清單篩選功能。如果您使用資訊清單篩選，則必須包含此參數來設定分佈，將`aws.manifestfilter`查詢字串轉送至 MediaPackage 原始伺服器，這是資訊清單篩選功能運作所需的

1. 僅包含 MediaPackage 使用的查詢字串。包含不必要的查詢字串可透過為相同內容建立多個快取變化來降低快取效率。

這些參數可透過 CDN 啟用基本 MediaPackage 功能。如果您需要針對不同的訂閱方案或裝置類型實作內容篩選，請先完成此基本查詢參數設定，然後繼續 [使用 MediaTailor、MediaPackage 和 CDN 設定資訊清單篩選](cdn-emp-manifest-filtering.md)。

如需有關 MediaTailor 如何將 `start`和 `end` 等查詢參數傳遞至 MediaPackage 以進行時間轉移檢視的資訊，請參閱 [原始伺服器的 MediaTailor 查詢參數處理](origin-query-parameters.md)中的 [MediaTailor 資訊清單查詢參數](manifest-query-parameters.md)。

### 設定 LL-HLS 的回應逾時
<a name="mediapackage-response-timeout"></a>

逾時組態對於低延遲 HLS 至關重要，因為 LL-HLS 使用「封鎖請求」機制，其中 CDN 會等待新的內容區段。如果您的逾時太短，在 MediaPackage 可以回應新的客群之前，請求將會失敗，導致播放中斷和檢視器體驗不佳。設定適當的逾時，以確保順暢播放 LL-HLS：

如果您使用的是低延遲 HLS，請設定 CDN 逾時設定：

1. 在您的 CDN 設定中，找到原始伺服器逾時組態。

1. 將回應逾時值設定為組件持續時間的至少三倍。

1. 例如，如果您的組件持續時間為 0.3 秒，請將逾時設定為至少 0.9 秒。

這可確保 CDN 在使用封鎖請求機制時，等待 MediaPackage 回應的時間夠長。

## 步驟 2：驗證您的整合
<a name="manifest-filtering-integration"></a>

測試您的整合對於確保所有元件在瀏覽者遇到問題之前都能正確運作至關重要。失敗的整合可能會導致播放中斷、遺失廣告或效能不佳。此驗證程序可協助您識別和解決受控環境中的問題。

設定 CDN 設定後，透過測試從內容請求到廣告插入的完整工作流程，確認您的整合是否正常運作。

### 步驟 2.1：測試基本播放
<a name="manifest-filtering-overview"></a>

基本播放測試會驗證 CDN 是否正確處理資訊清單請求，並將其轉送至 MediaTailor。此測試有助於識別快取政策、查詢參數轉送和資訊清單處理的組態問題。請依照下列步驟測試基本資訊清單交付：

透過 CDN 請求資訊清單，測試您的基本整合是否正常運作：

1. 使用 Web 瀏覽器或 curl 透過 CDN 請求資訊清單 URL。

1. 確認資訊清單載入成功，並同時包含內容和廣告區段。

1. 檢查資訊清單中的內容區段 URLs是否指向您的 CDN 網域。

1. 確認廣告區段 URLs也指向您的 CDN 網域。

如果資訊清單正確載入並包含預期的 URLs，則您的基本整合正在運作。如需完整的測試方法和進階驗證程序，請參閱 [CDN 和 MediaTailor 整合的測試和驗證](cdn-integration-testing.md)。若要設定整合效能和運作狀態的完整監控，請參閱 [監控 MediaPackage、CDN 和 MediaTailor 整合的效能](cdn-emp-monitoring.md)。

### 步驟 2.2：測試影片播放
<a name="manifest-filtering-cdn-config"></a>

影片播放測試可確保您的完整整合end-to-end運作，包括透過 CDN 的廣告插入和內容交付。此測試會驗證內容區段和廣告區段都已正確快取和交付，並且檢視器體驗符合您的品質標準。請依照下列步驟測試完整的播放功能：

測試已插入廣告的影片播放是否正常運作：

1. 使用影片播放器 （例如 Video.js 或 HLS.js) 透過 CDN 播放您的內容。

1. 確認影片播放順暢，而不會緩衝問題。

1. 確認在播放期間的預期時間插入廣告。

1. 檢查內容和廣告區段是否都從 CDN 載入 （而不是直接從原始伺服器載入）。

如果播放與廣告搭配順暢運作，您的整合會正常運作。如需完整的測試方法和進階驗證程序，請參閱 [CDN 和 MediaTailor 整合的測試和驗證](cdn-integration-testing.md)。如果您遇到任何播放問題、緩衝或廣告插入問題，請參閱 [針對 MediaPackage、CDN 和 MediaTailor 整合進行故障診斷](cdn-emp-troubleshooting.md)。

## 後續步驟
<a name="emp-cdn-next-steps"></a>

完成基本整合後，您可以實作進階功能和最佳化：

**進階 CDN 最佳化**  
如需詳細的快取最佳化、TTL 組態和效能調校，請參閱 [針對 MediaTailor 和 MediaPackage 內容交付最佳化 CDN 快取](cdn-emp-caching.md)。

**資訊清單篩選**  
若要實作分層服務、裝置最佳化或存取控制的內容篩選，請參閱 [使用 MediaTailor、MediaPackage 和 CDN 設定資訊清單篩選](cdn-emp-manifest-filtering.md)。

**疑難排解**  
如果您遇到整合問題，請參閱 [針對 MediaPackage、CDN 和 MediaTailor 整合進行故障診斷](cdn-emp-troubleshooting.md)。

**效能監控**  
若要設定全面監控並了解關鍵效能指標，請參閱 [監控 MediaPackage、CDN 和 MediaTailor 整合的效能](cdn-emp-monitoring.md)。