HLS和DASH資料流為相同的短時連拍視訊提供不同的位元速率編碼(設定檔)。 TVSDK可以根據目前的緩衝層級和可用頻寬,選取每個高載的品質層級。
TVSDK會持續監控位元速率,確保內容以目前網路連線的最佳位元速率播放。 您可以設定最適化位元速率(ABR)切換原則,以及多位元速率(MBR)資料流的初始、最小和最大位元速率。 TVSDK會自動切換為位元速率,以在指定的設定中提供最佳播放體驗。
初始位元速率 | 第一個區段的所需播放位元速率(每秒位元數)。 開始播放時,第一個區段會使用最接近的輪廓,等於或大於初始位元速率。 如果已定義最低位元速率,且初始位元速率低於最低位元速率,TVSDK會選取最低位元速率高於最低位元速率的設定檔。 如果初始速率高於最大速率,TVSDK會選取低於最大速率的最高速率。 如果初始位元速率為零或未定義,則初始位元速率由ABR原則決定。 getABRIinitialBitRate 傳回代表每秒位元組設定檔的整數值。 |
最小位元速率 | ABR可切換的最低允許位元速率。 ABR切換會忽略位元速率低於此位元速率的設定檔。 getABRMinBitrate 傳回代表每秒位元設定檔的整數值。 |
最大位元速率 | ABR可切換的最高允許位元速率。 ABR切換會忽略位元速率高於此位元速率的設定檔。 getABRMaxBitRate 傳回代表每秒位元設定檔的整數值。 |
ABR切換原則 | 儘可能讓播放逐漸切換到最高位元速率設定檔。 您可以設定ABR切換原則,以決定TVSDK在設定檔之間切換的速度。 預設值為 ABR_MODERATE. 當TVSDK決定切換至較高的位元速率時,播放器會根據目前的ABR原則,選取要切換至的理想位元速率設定檔:
如果初始位元速率為零,或未指定但指定原則,則播放會從保守原則的最低位元速率設定檔、最接近中度原則可用設定檔位元速率中值的設定檔,以及積極原則的最高位元速率設定檔開始。 如果指定最小和最大位元速率,則原則會在限制中運作。 getABRPolicy 傳回目前設定,從 Abrcontrolparameters 列舉: ABR_CONSERVATIVE, ABR_MODERATE,或 ABR_AGGRESSIVE. 如需詳細資訊,請參閱ABRControlParameters API檔案。 |
請牢記以下資訊:
TVSDK容錯移轉機制可能會覆寫您的設定,因為TVSDK偏好持續播放體驗,而非嚴格遵守控制引數。
當位元速率變更時,TVSDK會傳送 onProfileChanged
中的事件 PlaybackEventListener
.
您可以隨時變更ABR設定,播放器會切換為使用最符合最新設定的設定檔。
例如,如果資料流有下列設定檔:
如果您指定300000至2000000的範圍,TVSDK只會考慮設定檔1、2和3。 這可讓應用程式根據各種網路狀況進行調整,例如從Wi-Fi切換至3G或各種裝置,例如手機、平板電腦或桌上型電腦。
若要設定ABR控制引數,請在 ABRControlParameter
類別。