TVSDK可偵測主m3u8資料清單中的即時串流播放資訊變更,並在串流播放時更新播放資訊。 TVSDK支援動態位元速率描述檔集,當描述檔從主資訊清單中出現或消失時,包括更新間不重疊的描述檔位元速率。
支援下列功能:
必須符合下列所有條件:
以下是有關TVSDK如何容納更新的主資料清單的資訊和範例。
預設情況下,此功能將關閉。 如果您的應用程式透過設定更新頻率(以分鐘為單位)來開啟它,每次更新間隔後都會執行下列步驟:
TVSDK會檢查主資訊清單上次修改的時間和etag,以判斷檔案是否已更新。
如果時間和etag都已變更,則會將檔案視為已修改。
TVSDK會分析並分析新資訊清單,並根據更新的性質採取適當動作。
如果目前的播放位元速率符合已修改資訊清單的位元速率,TVSDK會切換至新的設定檔。
新的描述檔可以來自不同的伺服器或相同的伺服器,位元速率相同。 在這種情況下,轉場是平穩的。
如果目前播放位元速率不再存在於新資訊清單中,TVSDK會嘗試在目前的資料中尋找位元速率,而新資訊清單中也存在該位元速率。
如果更新成功,TVSDK會派單MediaPlayerItemEvent.MASTER_UPDATED
事件。
如果更新未成功,則播放會繼續從此更新之前進行設定。
以下位元速率正在即時廣播:
2100k串流有一些問題,因此需要重新啟動。 主資訊清單已更新為僅包含500k和900k。 稍後,2100k的觀看者將會體驗到900k的位元速率切換。 90萬觀看的用戶繼續90萬觀看。 之後,2100k串流會繼續,並新增至主資訊清單中。 過了一會兒,900k的觀看者,有頻寬的使用者,會切換到2100k。
以下位元速率正在即時廣播:
所有這些比特率都需要重新啟動。 在400k和1500k上,為此設定了兩個時間流。 用戶切換到400k ,這是新配置的最低比特率。 有些使用者在頻寬足夠時會切換至1500k。 之後,備份三位元速率並更新主資訊清單。 使用者在500k時自動切換回觀看,這是修訂(原始)資訊清單中最低的頻寬。 稍後,使用者會切換至其網路允許的最高頻寬(900k或1200k)。
您可以開啟此功能並檢查相關事件。
NetworkConfiguration.masterUpdateInterval
屬性,以設定更新頻率(以分鐘為單位)。MediaPlayerItemEvent.MASTER_UPDATED
事件以追蹤成功的資訊清單更新。