VOD的廣告插入和故障切換

隨選視訊(VOD)廣告插入程式由廣告解析、廣告插入和廣告播放階段組成。 對於廣告追蹤,TVSDK必須通知遠端追蹤伺服器有關每個廣告的播放進度。 當出現意外情況時,會採取適當的動作。

廣告解析階段

TVSDK會連絡廣告傳送服務,例如Adobe Primetime廣告決策,並嘗試取得與廣告的視訊串流對應的主要播放清單檔案。 在廣告解析階段,TVSDK會對遠端廣告傳送伺服器進行HTTP呼叫,並分析伺服器的回應。

TVSDK支援下列類型的廣告提供者:

  • 中繼資料廣告提供者

    廣告資料會編碼為純文字JSON檔案。

  • Primetime廣告決策廣告供應商

    TVSDK會傳送要求(包括一組定位參數和資產識別碼)至Primetime廣告決策後端伺服器。 Primetime廣告決策會以包含所需廣告資訊的SMIL(同步化多媒體整合語言)檔案做出回應。

在此階段中,可能會發生以下故障切換情形之一:

  • 由於缺乏連接或伺服器端錯誤(例如找不到資源等)等原因,無法擷取資料。

  • 已擷取資料,但格式無效。

    這可能是因為,例如,對入站資料的解析失敗。

TVSDK會針對錯誤發出警告通知,並繼續處理。

廣告插入階段

TVSDK會將替代內容(廣告)插入與主要內容對應的時間軸。

當廣告解析階段完成時,TVSDK會提供已分組為廣告插播的廣告資源順序清單。 每個廣告插播都使用以毫秒(ms)表示的開始時間值,定位在主要內容時間軸上。 廣告分段中的每個廣告都有持續時間屬性,也以毫秒錶示。 廣告插播中的廣告被一個接一個地連結在一起。 因此,廣告分段的持續時間等於個別合成廣告的持續時間之和。

在此階段中,可能會發生故障切換,而且廣告插入期間時間軸上可能會發生衝突。 對於廣告分段開始時間/持續時間值的特定組合,廣告區段可能會重疊。 重疊發生在廣告分段的最後一部分與下一個廣告分段中第一個廣告的開頭相交時。 在這些情況下,捨棄稍後的廣告插播,並繼續廣告插入程式與清單中的下一個項目,直到所有廣告插播被插入或捨棄。

TVSDK會針對錯誤發出警告通知,並繼續處理。

廣告播放階段

TVSDK會下載廣告區段,並在裝置螢幕上呈現廣告區段。

目前,TVSDK已解析廣告、將廣告放在時間軸上,並嘗試在螢幕上呈現內容。

在此階段中可能會出現以下主要錯誤類:

  • 連接到主機伺服器時出錯
  • 下載資訊清單檔案時發生錯誤
  • 下載媒體區段時發生錯誤

對於這三個錯誤類別,TVSDK會將觸發的事件轉送至您的應用程式,包括:

  • 發生故障切換時觸發的通知事件。

  • 當由於故障切換演算法而變更描述檔時,通知事件。

  • 當已考慮所有故障切換選項時觸發的通知事件,且無法自動採取其他操作。

    您的應用程式需要採取適當的動作。

不論是否發生錯誤,TVSDK都會針對每個AdBreakPlaybackEvent.AD_BREAK_STARTED呼叫AdBreakPlaybackEvent.AD_BREAK_COMPLETE,並針對每個AdPLaybackEvent.AD_STARTED呼叫AdPlaybackEvent.AD_COMPLETED。 不過,如果無法下載區段,時間軸中可能會有空隙。 當間隙足夠大時,播放磁頭位置中的值和報告的廣告進度可能會出現不連續。

本頁內容