疑難排解

本頁面說明如何解決 Video Stitcher API 相關問題。這個頁面顯示的錯誤是 Video Stitcher API 專屬錯誤。如要瞭解 Google API 中的一般錯誤,請參閱 Cloud API 的「錯誤」頁面。

系統只會傳回第一個錯誤。如果要求遇到多個錯誤,您需要修正傳回的錯誤,並重試要求,查看下一個錯誤。

建立工作階段時無法擷取播放清單

當 Video Stitcher API 無法從指定的 sourceUri 擷取影片資訊清單時,就會發生下列問題。

{
  "error": {
    "code": 404,
    "message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
    "status": "NOT_FOUND",
  }
}

如要解決這個問題,請按照下列步驟操作:

  1. 確認提供的 sourceUri 連結至有效的影片資訊清單。

    • 請將 curlsourceUri 搭配使用。如果資訊清單是供公開存取,請確保網址可供公開存取。
    • 如果 sourceUri 正確無誤,且影片資訊清單需要 URL 簽署,請繼續進行下一個步驟。
  2. 請確認 CDN 金鑰已在與要求相同的區域中註冊至 Video Stitcher API。

    • 確認 CDN 金鑰設定是否與 sourceUri 主機名稱相符。如果沒有這項設定,請使用 Video Stitcher API 註冊 CDN 金鑰。請等待至少 5 分鐘,讓設定傳播至服務。
    • 如果設定已存在,請繼續進行下一個步驟。
  3. 如果您懷疑用來簽署網址的私密金鑰有誤,建議您更新已註冊的 CDN 金鑰,並使用正確的私密金鑰。

CDN 金鑰過時

如果您最近註冊或更新了 CDN 金鑰,而 Video Stitcher API 尚未開始使用新設定簽署網址,請按照下列步驟診斷問題:

  1. 如果 CDN 金鑰最近已註冊至 Video Stitcher API,請等待至少 5 分鐘,讓更新套用。如果問題仍未解決,請繼續執行下一個步驟。

  2. 確認該區域的某個主機名稱只註冊了一個 CDN 鍵。如果有多個 CDN 鍵已使用相同的主機名稱註冊,Video Stitcher API 會選取其中一個 CDN 鍵來簽署網址。

直播期間未插入廣告

如果直播中沒有插入廣告,請按照下列步驟診斷問題:

  1. 確認來源直播在資訊清單中插入廣告插播。直播影片資訊清單中必須包含下列廣告標記,才能讓 Video Stitcher API 將來源影片片段替換成廣告片段。

    • 如果來源影片資訊清單沒有任何廣告標記,表示編碼器未觸發廣告插播,或者需要變更編碼器,才能插入支援的廣告標記

    • 如果來源資訊清單中清楚顯示廣告標記,請繼續執行下一個步驟。

  2. 確認提供的廣告代碼傳回的 VAST 回應是否非空白。

    • 將廣告代碼複製到網路瀏覽器 (例如 Chrome) 的網址列,並驗證是否會傳回非空白的 VAST 回應。以下是空白的 VAST 回應:

      <VAST version="3.0"/>
      
    • 如果傳回空白的 VAST 回應,則問題出在廣告代碼。確認廣告代碼已正確設定廣告伺服器。

    • 如果已填入 VAST 回應,請使用 curl 要求廣告代碼。部分廣告伺服器會要求提供 User-Agent 標頭。請試試下列 curl 指令:

      curl AD_TAG_URI
      
    • 如果 curl 指令傳回空白的 VAST 回應,請將 User-Agent 標頭新增至 curl 指令:

      curl -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" \
          AD_TAG_URI
      
    • 如果傳回已填入資料的 VAST 回應,則問題是建立直播工作階段時,需要將 User-Agent 標頭傳遞至 Video Stitcher API。Video Stitcher API 執行廣告代碼擷取廣告時,會使用該標頭。

    • 如果仍傳回空白回應,表示問題出在指定的廣告代碼。請向客戶確認廣告代碼是否正確,以及任何廣告代碼巨集值是否正確。

    • 如果客戶的廣告標記問題已解決,但廣告尚未插入,請繼續執行下一個步驟。

  3. 檢查即時工作階段。如果受影響的工作階段顯示廣告伺服器傳回廣告,請繼續進行下一個步驟。

  4. 廣告缺失的另一個可能原因是廣告重新編碼。API 會在首次遇到廣告時重新編碼,以便將廣告編碼為與來源影片相符的格式。廣告通常需要幾分鐘才能完成編碼。請在幾分鐘後重試建立新工作階段,看看是否已插入廣告。

    如果沒有插入廣告,可能是因為廣告無法編碼。廣告媒體網址可能無法連結。在這種情況下,客戶必須與廣告供應商合作,找出廣告媒體的問題。

VOD 工作階段中未插入廣告

  1. 確認提供的廣告代碼傳回非空白的 VAST 或 VMAP 回應。請按照下列指示使用提供的廣告代碼:

    • 將廣告代碼複製到網路瀏覽器 (例如 Chrome) 的網址列,並驗證該代碼是否會傳回非空白的 VAST、VMAP 或 SmartXML 回應。以下是空白的 VAST 回應:
    • 將廣告代碼放入網路瀏覽器 (例如 Chrome、Firefox 等瀏覽器的網址列,並驗證該瀏覽器是否傳回非空白的 VAST、VMAP 或 SmartXML 回應。空白的 VAST 回應如下所示:

      <VAST version="3.0"/>
      

      以下是空白的 VMAP 回應:

      <VMAP xmlns:vmap="http://www.iab.net/vmap-1.0" version="1.0"/>
      
    • 如果傳回空白的 VAST 回應,則問題出在廣告代碼。確認廣告代碼已正確設定廣告伺服器。

    • 如果已填入 VAST 回應,請使用 curl 要求廣告代碼。部分廣告伺服器會要求提供 User-Agent 標頭。請試試下列 curl 指令:

      curl AD_TAG_URI
      
    • 如果 curl 指令傳回空白的 VAST 回應,請將 User-Agent 標頭新增至 curl 指令:

      curl -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" \
          AD_TAG_URI
      
    • 如果傳回已填入資料的 VAST 或 VMAP 回應,則問題是需要在建立 VOD 工作階段時,將 User-Agent 標頭傳遞至 Video Stitcher API。Video Stitcher API 執行廣告代碼擷取廣告時,會使用該標頭。

    • 如果仍傳回空白回應,表示問題出在指定的廣告代碼。請向客戶確認廣告代碼是否正確,以及任何廣告代碼巨集值是否正確。

    • 如果客戶的廣告標記問題已解決,但廣告尚未插入,請繼續執行下一個步驟。

  2. 檢查 VOD 工作階段。如果受影響的工作階段顯示廣告伺服器傳回廣告,請繼續進行下一個步驟。

  3. 廣告缺失的另一個可能原因是廣告重新編碼。API 會在首次遇到廣告時重新編碼,以便將廣告編碼為與來源影片相符的格式。廣告通常需要幾分鐘才能完成編碼。請在幾分鐘後重試建立新工作階段,看看是否已插入廣告。

    如果沒有插入廣告,可能是因為廣告無法編碼。廣告媒體網址可能無法連結。在這種情況下,客戶必須與廣告供應商合作,找出廣告媒體的問題。