Video Stitcher API 的最佳做法

本頁面將概述 Video Stitcher API 的最佳做法。如果您剛開始使用 Video Stitcher API,請參閱直播快速入門VOD 素材資源快速入門

條件 VOD 素材資源

設定來源編碼器和轉碼器,以便輸出支援 DASH 週期和 HLS 片段之間廣告插播的資訊清單。Video Stitcher API 不會分割片段或區段來拼接廣告插播,因此廣告插播只會在片段和區段邊界處拼接。

如果廣告代碼傳回 VMAP 回應,則 VMAP 中指定的每個廣告插播都應與時間段或片段邊界相符。否則,系統會在最接近的邊界處拼接廣告插播點。

避免 HLS 廣告插播不對齊

針對 VOD 拼接,您應為片中廣告插播預先設定來源影片資訊清單,並設定影片多重廣告播放清單 (VMAP) 廣告標記,以便在預先設定的偏移位置傳回片中廣告插播。Video Stitcher API 會採用轉碼輸出的結果,並盡可能在您指定的位置插入廣告。使用預先設定的片中廣告插播輸入內容,讓廣告接縫行為一致且準確。

舉例來說,下列影片播放清單會在 7 秒處顯示廣告刊登位置:

#EXTM3U

#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4

#EXTINF:2.0
../video/180_250000/hls/segment_0.ts
#EXTINF:2.0
../video/180_250000/hls/segment_1.ts
#EXTINF:2.0
../video/180_250000/hls/segment_2.ts
#EXTINF:1.0
../video/180_250000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:2.0
../video/180_250000/hls/segment_4.ts

下列音訊播放清單會在 7 秒處顯示廣告刊登位置:

#EXTM3U

#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4

#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_0.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_1.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_2.ts
#EXTINF:1.03
../audio/1_stereo_128000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_4.ts

下列 VMAP 設定會指定在第七秒處插入廣告插播。影片和音訊播放清單會在七秒處插入廣告插播:

<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
  <vmap:AdBreak timeOffset="00:00:07.000" breakType="linear" breakId="midroll‑1">
    <vmap:AdSource id="midroll-1‑ad‑1" allowMultipleAds="false" followRedirects="true">
      <vmap:AdTagURI templateType="vast3">
      <![CDATA[
      https://securepubads.g.doubleclick.net/gampad/ads?...
      ]]>
      </vmap:AdTagURI>
    </vmap:AdSource>
  </vmap:AdBreak>
</vmap:VMAP>

為 HLS 設定 EXT-X-PROGRAM-DATE-TIME

為確保各 HLS 呈現版本的片段時間同步,建議您為每個 HLS 呈現版本設定 EXT-X-PROGRAM-DATE-TIME。這有助於在播放期間變更版本時,讓播放器順利轉換。

為直播和 VOD 資產使用多週期 DASH 資訊清單

請設定來源編碼器和轉碼器,以便輸出多週期而非單一週期的 DASH 資訊清單。與VOD 條件設定類似,Video Stitcher API 不會分割時段來拼接廣告插播,因此含有多個時段的 DASH 資訊清單將有更多機會在預期的時間長度內拼接廣告插播。

在 ISOBMFF 中封裝字幕

DASH 資訊清單的字幕應封裝在 ISO 基本媒體檔案格式 (ISOBMFF) 中,例如 MP4,以便與多數媒體播放器相容。

使用固定比特率

為確保直播的播放體驗穩定,請在輸出串流資訊清單時,將來源編碼器或轉碼器設為使用固定位元率。這樣一來,Video Stitcher API 就能更一致地拼接廣告,以符合資訊清單中指定的編碼設定檔。

使用支援的廣告標記

請參閱廣告標記說明文件,瞭解系統支援哪些廣告標記,以及來源編碼器或轉碼器應如何輸出廣告標記,確保廣告插播能順利拼接。

驗證來源播放

為確保直播和 VOD 串流的播放體驗穩定,建議您在使用 Video Stitcher API 進行拼接前,先使用廣泛可用的用戶端播放器,確認來源串流是否可播放。

HLS:

DASH:

管理 CDN 金鑰

如果來源媒體受到網址簽署保護,您必須使用 Video Stitcher API 註冊 CDN 金鑰。這麼做可讓 API 執行以下操作:

  • 擷取拼接作業所需的來源影片資訊清單
  • 為來源影片片段簽署,讓播放器可以擷取影片片段進行播放

請參閱管理 CDN 金鑰相關資訊。

設定 Media CDN

如要設定 Media CDN 來發布媒體素材資源,請參閱 Media CDN 快速入門指南

為資訊清單和媒體區段設定不同的路徑,並設定適當的存留時間。如需詳細資訊和範例,請參閱 Media CDN 進階路徑指南

如果任何路由使用私人 Cloud Storage 來源,請參閱「使用私人 Cloud Storage 值區」。具體來說,請將這些路徑的快取模式設為 FORCE_CACHE_ALL

如需 HTTPS 設定說明,請參閱「設定 SSL (TLS) 憑證」。

Media CDN 已簽署的要求

如要使用啟用已簽署要求的 Media CDN,請參閱「使用已簽署要求」,然後執行下列操作:

  1. 建立非對稱式金鑰組。如要瞭解如何建立與 Video Stitcher API 相容的私密金鑰,請參閱「建立 Media CDN 專用的私密金鑰」一文。

  2. 使用影片拼接工具 API 註冊私人 Media CDN 金鑰

長時間執行的直播工作階段的時間限制

除非在 5 分鐘內沒有任何播放清單要求,否則 LiveSession 資源不會過期。不過,所有播放 URI 的生命週期上限為 180 天。如要在 180 天後繼續播放,您必須建立新的直播工作階段。為確保可靠性,請至少每 30 天建立一個新的直播工作階段。