本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudFront 和 AWS 媒體服務提供即時串流視訊
若要搭配使用 AWS 媒體服務, CloudFront 向全球使用者提供即時內容,請參閱下列指引。
使用 AWS Elemental MediaLive 即時編碼即時視訊串流。若要對大型視訊串流進行編碼,請將其 MediaLive 壓縮為較小的版本 (編碼),以便發佈給觀眾。
壓縮即時視訊串流之後,您可以使用以下兩個主要選項的其中之一來準備和提供內容:
-
將您的內容轉換成所需的格式,然後提供 — 如果您需要多種格式的內容,請使AWS Elemental MediaPackage
用針對不同裝置類型封裝內容。封裝內容時,您也可以實作其他功能,並新增數位版權管理 (DRM),以防止未經授權使用您的內容。如需 step-by-step 使用 CloudFront來提供 MediaPackage 格式化內容的指示,請參閱提供格式化的實時視頻 AWS Elemental MediaPackage。 -
使用可擴展的來源存儲和提供您的內容-如果 MediaLive 編碼的內容是您的觀眾使用的所有設備所要求的格式,請使用高度可擴展的來源,例AWS Elemental MediaStore如提供內容。如需 step-by-step 使用 CloudFront 來提供儲存在容器中之內 MediaStore 容的指示,請參閱通過使用 AWS Elemental MediaStore 作為原點來提供視頻。
使用以下其中一個選項設定來源後,您可以使用將即時串流影片發佈給觀眾 CloudFront。
提示
您可以瞭 AWS 解可自動部署服務以建立高可用性即時檢視體驗的解決方案。若要檢視自動部署此解決方案的步驟,請參閱即時串流自動化部署。
通過使用 AWS Elemental MediaStore 作為原點來提供視頻
如果您有儲存在容AWS Elemental MediaStore器中的視訊,您可以建立 CloudFront 分發來提供內容。
若要開始使用,您可以授與 MediaStore 容器的 CloudFront 存取權。然後,您創建一個CloudFront 分發並將其配置為使用 MediaStore。
從容 AWS Elemental MediaStore 器提供內容
-
請遵循允許 Amazon 存取您 CloudFront 的 AWS Elemental MediaStore 容器中的程序,然後返回以下步驟建立分發。
-
透過下列設定建立分佈:
-
原始網域 — 指派給您的 MediaStore 容器的資料端點。從下拉列表中,選擇直播視頻的 MediaStore 容器。
-
原點路徑 — 儲存物件之 MediaStore 容器中的資料夾結構。如需詳細資訊,請參閱 原始伺服器路徑。
-
新增自訂標頭 — 如果您想要在將請求轉寄 CloudFront 至來源時新增自訂標頭,請新增標頭名稱和值。
-
檢視器通訊協定原則 — 選擇「將 HTTP 重新導向至 HTTPS 如需詳細資訊,請參閱 檢視器通訊協定政策。
-
快取原則和原始要求政策
-
針對 Cache policy (快取政策),選擇 Create policy (建立政策),然後建立適合您快取需求和區段持續時間的快取政策。建立政策後,重新整理快取政策的清單,然後選擇您剛建立的政策。
-
針對 Origin 要求政策,請從下拉式清單CustomOrigin中選擇 CORS-。
-
對於其他設定,您可以根據您的其他技術需求或業務需求來設定特定的值。如需適用於分佈的所有選項清單以及設定相關資訊,請參閱發佈設定參考。
-
-
對於應用程式中的連結 (例如媒體播放程式),請使用與您正在發佈的其他物件所使用的格式相同的格式來指定媒體檔案名稱 CloudFront。
提供格式化的實時視頻 AWS Elemental MediaPackage
如果您使用格式化即時串流 AWS Elemental MediaPackage,您可以建立 CloudFront分發並設定快取行為來提供即時串流。下列程序假設您已使用建立頻道,並為即時影片新增端點 MediaPackage。
若要 MediaPackage 手動建立 CloudFront 發行版,請依照下列步驟執行:
步驟
步驟 1:建立並設定 CloudFront 散發
請完成下列程序,為您建立的即時視訊頻道設定 CloudFront 分發 MediaPackage。
為您的即時視訊頻道建立分佈
登入 AWS Management Console 並開啟 CloudFront 主控台,位於https://console.aws.amazon.com/cloudfront/v4/home
。 -
選擇 Create Distribution (建立分佈)。
-
選擇分佈的設定,包括下列項目:
- 原始網域
-
MediaPackage 即時視訊頻道和端點所在的來源。選擇文字欄位,然後從下拉式清單中選擇即時影片的 MediaPackage 來源網域。您可以將一個網域對應到多個原始端點。
如果您已使用另一個 AWS 帳戶建立原始網域,請在此欄位中輸入原始 URL 值。原始伺服器必須為 HTTPS URL。
例如,對於像是
https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8
的 HLS 端點,原始網域會是3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com
。如需詳細資訊,請參閱 原始網域。
- 原始伺服器路徑
-
提供內容之 MediaPackage 端點的路徑。
原始路徑欄位不會自動填入。您必須手動輸入正確的原始路徑。
如需有關原始伺服器路徑如何運作的詳細資訊,請參閱 原始伺服器路徑。
重要
通配符路徑需要
*
在發行版中的某個位置進 CloudFront 行路由。為了避免不符合明確路徑的請求路由至真實來源的情況,請為該萬用字元路徑建立一個「虛設」來源。範例 :建立「虛設」來源
在下列範例中,端點
abc123
和def456
路由至「真實」來源,但對任何其他端點的視訊內容的請求會路由至沒有適當子網域的mediapackage.us-west-2.amazonaws.com
,這樣會導致 HTTP404
錯誤。MediaPackage 端點:
https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8 https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/def456/index.m3u8
CloudFront 原產地 A:
Domain: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com Path: None
CloudFront 原產地 B:
Domain: mediapackage.us-west-2.amazonaws.com Path: None
CloudFront 緩存行為:
1. Path: /out/v1/abc123/* forward to Origin A 2. Path: /out/v1/def456/* forward to Origin A 3. Path: * forward to Origin B
對於其他分佈設定,請根據您的其他技術需求或業務需求來設定特定的值。如需適用於分佈的所有選項清單以及設定相關資訊,請參閱發佈設定參考。
當您完成選擇其他分佈設定時,請選擇 Create Distribution (建立分佈)。
-
選擇您剛才建立的分佈,然後選擇 Behaviors (行為)。
-
選擇預設的快取行為,然後選擇 Edit (編輯)。針對您為原始伺服器選擇的頻道指定正確的快取行為設定。您之後將會新增額外的一或多部原始伺服器,並編輯其快取行為設定。
-
等到發行版的 [上次修改] 欄的值已從 [部署] 變更為日期和時間,表示 CloudFront 已建立您的發行版本。
步驟 2:為 MediaPackage 端點的網域新增來源
重複此處的步驟,將每個 MediaPackage 通道端點新增到您的發佈中,請記住需要建立「虛擬」來源。
新增其他端點當做原始伺服器
-
在主 CloudFront 控台上,選擇您為頻道建立的發行版。
-
選擇 Origins (原始伺服器),然後選擇 Create origin (建立原始伺服器)。
-
對於 Origin 網域,請在下拉式清單中選擇頻道的MediaPackage 端點。
-
對於其他設定,請根據您的其他技術需求或業務需求來設定值。如需詳細資訊,請參閱 原始設定。
-
選擇 Create Origin (建立原始伺服器)。
步驟 3:為所有端點設定快取行為
對於每個端點,您都必須設定快取行為,以新增路徑模式來正確地路由傳遞請求。您指定的路徑模式取決於您提供的視訊格式。以下程序包含用於 Apple HLS、CMAF、DASH 和 Microsoft Smooth Streaming 格式的路徑模式資訊。
您通常會針對每個端點設定兩個快取行為:
-
父系資訊清單,也就是檔案的索引。
-
區段,也就是影片內容的檔案。
為端點建立快取行為
-
在主 CloudFront 控台上,選擇您為頻道建立的發行版。
-
選擇 Behaviors (行為),然後選擇 Create behavior (建立行為)。
-
對於路徑模式,請使用特定的 MediaPackage
OriginEndpoint
GUID 作為路徑前綴。- 路徑模式
-
如果是 HLS 端點 (如
https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8
),請建立以下兩個快取行為:-
對於父系和子系資訊清單,請使用
/out/v1/abc123/*.m3u8
。 -
對於內容區段,請使用
/out/v1/abc123/*.ts
。
如果是 CMAF 端點 (如
https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8
),請建立以下兩個快取行為:-
對於父系和子系資訊清單,請使用
/out/v1/abc123/*.m3u8
。 -
對於內容區段,請使用
/out/v1/abc123/*.mp4
。
如果是 DASH 端點 (如
https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.mpd
),請建立以下兩個快取行為:-
對於父系資訊清單,請使用
/out/v1/abc123/*.mpd
。 -
對於內容區段,請使用
/out/v1/abc123/*.mp4
。
如果是 Microsoft Smooth Streaming 端點 (如
https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.ism
),則只會提供清單檔案,所以您只會建立一個快取行為:out/v1/abc123/index.ism/*
。 -
-
對於每個快取行為,請指定下列設定的值:
- 檢視器通訊協定政策
-
選擇 Redirect HTTP to HTTPS (將 HTTP 重新引導至 HTTPS)。
- 快取政策和原始伺服器請求政策
-
針對 Cache policy (快取政策),選擇 Create policy (建立政策)。針對新的快取政策,請指定下列設定:
- 最短 TTL
-
設定為 5 秒或更少,以協助防止提供過時內容。
- 查詢字串
-
針對 (Cache key settings (快取金鑰設定) 中的) Query strings (查詢字串),選擇 Include specified query strings (包含指定查詢字串)。針對 Allow (允許),輸入下列值來進行新增,並選擇 Add item (新增項目):
-
新增
m
為您要做為快取基礎 CloudFront 的查詢字串參數。 MediaPackage 回應永遠包含用?m=###
來擷取端點修改時間的標籤。如果內容已使用此標籤的不同值快取, CloudFront 請求新的資訊清單,而不是提供快取版本。 -
如果您在中使用時移檢視功能 MediaPackage,請在資訊清單要求 (
*.m3u8
、start
和index.ism/*
) 的快取行為上指定和end
做為其他查詢字串參數。*.mpd
如此一來,就會提供資訊清單請求內所要求之時段的專屬內容。如需有關時間轉移檢視和格式化內容 start 與 end 請求參數的詳細資訊,請參閱《AWS Elemental MediaPackage 使用者指南》中的時間轉移檢視。 -
如果您在中使用資訊清單篩選功能 MediaPackage,請指定
aws.manifestfilter
為快取原則的其他查詢字串參數,該參數與資訊清單要求 (*.m3u8
*.mpd
、和index.ism/*
) 的快取行為搭配使用。這將配置您的發行版以將aws.manifestfilter
查詢字符串轉發到您的 MediaPackage 來源,這是清單過濾功能工作所必需的。如需詳細資訊,請參閱《AWS Elemental MediaPackage 使用者指南》中的資訊清單檔案篩選。 -
如果您使用低延遲 HLS (LL-HLS),請指定
_HLS_msn
和_HLS_part
作為您搭配清單檔案請求的快取行為所使用快取政策 (*.m3u8
) 的其他查詢字串參數。這將配置您的發行版以將_HLS_msn
和_HLS_part
查詢字符串轉發到您的MediaPackage 來源,這是 LL-HLS 阻止播放列表請求功能工作所必需的。
-
-
選擇建立。
-
建立快取政策後,返回快取行為建立工作流程。重新整理快取政策的清單,然後選擇您剛建立的政策。
-
選擇 Create behavior (建立行為)。
-
如果您的端點並非 Microsoft Smooth Streaming 端點,請重複前述的步驟來建立第二個快取行為。
步驟 4:啟用基於標題的 CDN MediaPackage 授權
我們建議您在 MediaPackage CloudFront 端點和散佈之間啟用標頭型 MediaPackage CDN 授權。如需詳細資訊,請參閱AWS Elemental MediaPackage 使用指南 MediaPackage中的啟用 CDN 授權。
步驟 5:用CloudFront 於提供直播頻道
建立散發、新增來源、建立快取行為,以及啟用標頭型 CDN 授權後,您可以使用. CloudFront CloudFront 根據您針對快取行為所設定的設定,將檢視器的要求路由至正確的MediaPackage 端點。
對於應用程式中的連結 (例如媒體播放器),請以 URL 的標準格式指定媒體檔案的 CloudFront URL。如需更多詳細資訊,請參閱 自訂中URL檔案的格式 CloudFront。