開始使用 MediaTailor 廣告插入 - AWS Elemental MediaTailor

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

開始使用 MediaTailor 廣告插入

使用 AWS Elemental MediaTailor,您需要一個 AWS 帳戶 以及存取、檢視和編輯 MediaTailor 組態的權限。如需如何執行此作業的資訊,請參閱 設定 AWS Elemental MediaTailor

此入門教學課程說明如何執行以下任務:

  • 準備您的HLS或DASH內容串流

  • 設定廣告決策伺服器 (ADS) 範本 URL

  • 建立包含播放端點的 MediaTailor 組態

  • 使用您的播放器或內容傳遞網路 (CDN) 提出播放要求 MediaTailor

完成後,您就可以向直播中的個人化廣告內容傳送播放要求。 MediaTailor

必要條件

開始之前,請務必先完成 設定 AWS Elemental MediaTailor 中的步驟。

步驟 1:存取 AWS Elemental MediaTailor

使用您的IAM認證登入 MediaTailor 主控台,位於https://console.aws.amazon.com/mediatailor/home

步驟 2:準備直播

設定您的原始伺服器以產生HLS或相容DASH的資訊清單 AWS Elemental MediaTailor.

準備串HLS流

HLS艙單必須滿足以下要求:

  • 資訊清單必須可在公有網際網路上供存取。

  • 資訊清單必須是即時或視訊隨選 (VOD)。

  • 資訊清單必須有 3 或更高的 EXT-X-VERSION

  • 對於即時內容,資訊清單必須包含標記來描述廣告時段。這對於VOD內容來說是可選的,而是可以使用VMAP時間偏移。

    資訊清單檔案必須以下列其中一項標示廣告時段:

    • # EXT-X-CUE--OUT/# EXT-X-CUE IN(更常見的)與持續時間,如下面的例子所示。

      #EXT-X-CUE-OUT:60.00 #EXT-X-CUE-IN
    • # EXT-X-DATERANGE(不太常見),持續時間如下面的例子所示。

      #EXT-X-DATERANGE:ID="",START-DATE="",DURATION=30.000,SCTE35-OUT=0xF #EXT-X-DATERANGE:ID="",START-DATE="",DURATION=30.000,SCTE35-OUT=0xF

      顯示 #EXT-X-DATERANGE 的所有欄位為必要欄位。

    您在資訊清單中設定廣告標記的方式,會影響廣告是否要在串流中插入或取代串流中的其他片段。如需詳細資訊,請參閱瞭解 MediaTailor 廣告插入行為

  • HLS主資訊清單必須遵循HTTP即時串流中記錄的HLS規範:主播放清單標籤。特別是,#EXT-X-STREAM-INF 必須包含欄位 RESOLUTIONBANDWIDTHCODEC

設定串流之後,請記下主資訊清單的內容來源URL前置詞。你需要它來創建配置 AWS Elemental MediaTailor,在本自學課程的後面。

準備串DASH流

DASH艙單必須滿足以下要求:

  • 資訊清單必須可在公有網際網路上供存取。

  • 資訊清單必須是即時或視訊隨選 (VOD)。

  • 資訊清單必須使用接合插入標記或時間信號標記,將事件標記為廣告時段。您可以提供清晰XML或 base64 編碼二進位的廣告標記。對於接合插入,必須啟用 out-of-network指示器。對於時間信號標記,位於分段內的分段UPID類型 ID 必須是由以下人員識別的提示值 AWS Elemental MediaTailor。 廣告可用性會在活動開始時開始,並持續活動持續時間 (如果有指定的話),或直到下一個活動開始為止。

    以下範例顯示使用接合插入標記指定為廣告時段的事件。此廣告時段的持續時間為事件的持續時間。

    <Period start="PT444806.040S" id="123586" duration="PT15.000S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="1350000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095"> <scte35:SpliceInsert spliceEventId="4026531855" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="1350000"/> </scte35:SpliceInsert> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" ... </AdaptationSet> </Period>
  • 廣告可用性必須AdaptationSet與內容串流具有相同的Representation設定。 AWS Elemental MediaTailor 使用這些設定將廣告轉碼以符合內容串流,以便在兩者之間順暢切換。

設定串流後,請記下DASH資訊清單的內容來源URL前置詞。你需要它來創建配置 AWS Elemental MediaTailor,在本自學課程的後面。

步驟 3:設定ADS要求URL和查詢參數

若要判斷所ADS需的查詢參數,請URL從產生廣告代碼ADS。這可URL做為要求的範本ADS,且由下列項目組成:

  • 靜態值

  • 產生的值 AWS Elemental MediaTailor (由sessionavail查詢參數表示)

  • 播放器產生的值,從用戶端應用程式取得 (以 player_params. 查詢參數表示)

範例 URL來自廣告標籤 ADS
https://my.ads.com/ad?output=vast&content_id=12345678&playerSession=[session.id]&cust_params=[player_params.cust_params]

其中:

  • outputcontent_id 是靜態值

  • playerSession= [會話 .id] 是由提供的動態值 AWS Elemental MediaTailor。 [session.id] 的值會針對每個玩家工作階段而變更,並且會針對每個工作階段的VAST要求產生不同URL的結果。

  • cust_params 是播放器提供的動態值

來自播放器的主清單請求必須提供與請ADS求URL中player_params.查詢參數相對應的鍵值對。有關在請求中配置鍵值對的更多信息 AWS Elemental MediaTailor,請參閱使用動態廣告變數 MediaTailor

在中建立原始伺服器/ADS對映URL時 MediaTailor,請輸入已設定的「範本」。步驟 4:建立組態

測試

您可以使用來自您的靜態VAST響應ADS進行測試。理想情況下,VAST響應返回夾層質量再現 MP4 AWS Elemental MediaTailor 可以轉碼。如果來自的回應ADS包含多個播放節目,請 MediaTailor 挑選最高品質和解析度MP4節目,並將其傳送至轉碼器。

步驟 4:建立組態

所以此 AWS Elemental MediaTailor 組態會保留原始伺服器和的對應資訊ADS。

建立組態 (主控台)
  1. 在開啟 MediaTailor 主控台https://console.aws.amazon.com/mediatailor/

  2. Configurations (組態) 頁面上,選擇 Create configuration (建立組態)

  3. 在頁面底部的 Configuration (組態) 區段中,對於 Configuration name (組態名稱),輸入描述組態的唯一名稱。名稱為組態的主要識別符。允許的長度上限為 512 個字元。

  4. 對於視訊內容來源,請輸入此串流的HLS主資訊清DASH單或資訊清單的URL前置詞,減去資產 ID。例如,如果主資訊清單URL是http://origin-server.com/a/master.m3u8,您將輸入http://origin-server.com/a/。或者,您可以輸入較短的字首,例如 http://origin-server.com,但接著您必須將 /a/ 包含在播放器內容請求的資產 ID 中。長度上限為 512 個字元。

    注意

    如果您的內容來源使用HTTPS,其憑證必須來自知名的憑證授權單位。(不能是自簽憑證。) 否則, AWS Elemental MediaTailor 無法連線至內容來源,且無法提供資訊清單以回應播放程式要求。

  5. 針對「URL廣告決策伺服器」,請輸入您的ADS. 這可VASTURL能是中所述URL的 and 變量步驟 3:設定ADS要求URL和查詢參數,或者是用於測試目的的靜態。長度上限為 25,000 個字元。

    注意

    如果您ADS使用HTTPS,則其憑證必須來自知名的憑證授權單位。(不能是自簽憑證。) 同樣是由返URLs回的夾層廣告如此. ADS 否則, MediaTailor 無法從內容來源擷取廣告並將其拼接到資訊清單中。

  6. (視需要選擇性DASH) 對於「位置」,請選擇您是DISABLED否已設定存取資 MediaTailor 訊清單的CDN路由規則,而且您使用的是用戶端報表,或是您的玩家支援固HTTP定重新導向。

    如需 Location (位置) 功能的詳細資訊,請參閱 DASH位置功能

  7. (選擇性) 如果原始伺服器產生單一期間資訊DASH清單,請選擇 DASHmpd 資訊清單原始類型,然後選擇 _。SINGLE PERIOD依預設,會將DASH資訊清單 MediaTailor 處理為多重期間資訊清單。如需詳細資訊,請參閱整合 MPEG-DASH 源

  8. 選擇建立組態

    AWS Elemental MediaTailor 在「組態」頁面上顯示新的組

步驟 5:測試配置

儲存設定之後,請使用串流通訊協定URL的適當格式來測試串流:

  • 範例:HLS

    playback-endpoint/v1/master/hashed-account-id/origin-id/master.m3u8
  • 範例:DASH

    playback-endpoint/v1/dash/hashed-account-id/origin-id/manifest.mpd

其中:

  • playback-endpoint是唯一的播放端點 AWS Elemental MediaTailor 建立組態時產生。

    範例

    https://bdaaeb4bd9114c088964e4063f849065.mediatailor.us-east-1.amazonaws.com
  • hashed-account-id是您的 AWS 帳戶 識別碼。

    範例

    AKIAIOSFODNN7EXAMPLE
  • origin-id 是您在建立組態時提供的名稱。

    範例

    myOrigin
  • master.m3u8manifest.mpd 是來自測試串流的資訊清單名稱加上其副檔名。定義此項目,使得當您將它附加到在步驟 4:建立組態中設定的影片內容來源時,可讓您取得完整識別的資訊清單。

使用上述範例中的值,完整內容URLs如下。

  • 範例:HLS

    https://bdaaeb4bd9114c088964e4063f849065.mediatailor.us-east-1.amazonaws.com/v1/master/AKIAIOSFODNN7EXAMPLE/myOrigin/master.m3u8
  • 範例:DASH

    https://bdaaeb4bd9114c088964e4063f849065.mediatailor.us-east-1.amazonaws.com/v1/dash/AKIAIOSFODNN7EXAMPLE/myOrigin/manifest.mpd

您可以使用下列其中一個方法來測試串流。

  • 如前面的範例所示,在獨立播放程式URL中輸入.

  • 在您自己的播放器環境中測試串流。

步驟 6:將播放請求發送到 AWS Elemental MediaTailor

設定下游播放程式,或CDN將播放要求傳送至所提供之組態的播放端點 AWS Elemental MediaTailor。 您在ADS要求中使用的任何播放器定義的動態變數,都步驟 3:設定ADS要求URL和查詢參數必須URL在播放程式的資訊清單要求中定義。

範例

假設你的模板ADSURL如下。

https://my.ads.com/ad?output=vast&content_id=12345678&playerSession=[session.id]&cust_params=[player_params.cust_params]

然後通過[player_params.cust_params]在鍵值對前面定義播放器請求。ads. AWS Elemental MediaTailor 將前面沒有加上的參數傳遞ads.給原始伺服器,而不是. ADS

播放器請求URL是以下內容HLS和DASH示例的一些變化。

https://bdaaeb4bd9114c088964e4063f849065.mediatailor.us-east-1.amazonaws.com/v1/master/AKIAIOSFODNN7EXAMPLE/myOrigin/master.m3u8?ads.cust_params=viewerinfo
https://bdaaeb4bd9114c088964e4063f849065.mediatailor.us-east-1.amazonaws.com/v1/dash/AKIAIOSFODNN7EXAMPLE/myOrigin/manifest.mpd?ads.cust_params=viewerinfo

當 AWS Elemental MediaTailor 接收播放器請求,它根據請求中的信息定義播放器變量。由此產生的ADS請求URL是一些變化。

https://my.ads.com/ad?output=vast&content_id=12345678&playerSession=<filled_in_session_id>&cust_params=viewerinfo

如需有關配置鍵值配對以傳遞給的詳細資訊ADS,請參閱使用動態廣告變數 MediaTailor

步驟 7(可選):監視 AWS Elemental MediaTailor activity

使用 Amazon CloudWatch 和 Amazon CloudWatch 日誌跟踪 AWS Elemental MediaTailor 活動,例如填寫的請求,錯誤和廣告可用性的計數。

如果這是您第一次使 CloudWatch 用 AWS Elemental MediaTailor,建立 AWS Identity and Access Management (IAM) 允許服務之間通訊的角色。

若要允許 AWS Elemental MediaTailor 存取 CloudWatch (主控台)
  1. 在開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 在IAM主控台的導覽窗格中,選擇 [角色],然後選擇 [建立角色]。

  3. 選擇另一個 AWS 帳戶角色類型。

  4. 對於帳戶 ID,請輸入您的 AWS 帳戶 識別碼。

  5. 選取 Require external ID (需要外部 ID),然後輸入 midas。此選項會自動新增條件到信任政策,讓服務只在請求包含正確的 sts:ExternalID 時才擔任該角色。

  6. 選擇下一步:許可

  7. 新增指定此角色可以完成之動作的許可政策。選取以下其中一個選項,然後選擇 Next: Review (下一步:檢閱)

    • CloudWatchLogsFullAccess提供對 Amazon CloudWatch 日誌的完全訪問權限

    • CloudWatchFullAccess提供對 Amazon 的完全訪問權限 CloudWatch

  8. 針對角色名稱,輸入 MediaTailorLogger,然後選擇建立角色

  9. Roles (角色) 頁面上,選取您剛剛建立的角色。

  10. 編輯信任關係以更新委託人:

    1. 在角色的 Summary (摘要) 頁面上,選擇 Trust relationship (信任關係) 標籤。

    2. 選擇編輯信任關係

    3. 在政策文件中,將主參與者變更為 AWS Elemental MediaTailor 服務。它應該如下所示。

      "Principal": { "Service": "mediatailor.amazonaws.com" },

      整個政策看起來應該如下所示。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "mediatailor.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "Midas" } } } ] }
    4. 選擇 Update Trust Policy (更新信任政策)。

步驟 8:清除

為了避免產生額外的費用,請刪除所有不必要的組態。

刪除組態 (主控台)
  1. 在「」 AWS Elemental MediaTailor 「組態」頁面中,執行下列其中一項作業:

    • 選擇您要刪除的組態的 Configuration name (組態名稱)

    • Configuration name (組態名稱) 資料欄中,選擇名稱旁的選項按鈕,然後選擇 Delete (刪除)

  2. Delete configuration (刪除組態) 確認方塊中,輸入 Delete,然後選擇 Delete (刪除)

    AWS Elemental MediaTailor 移除組態。