HLS和DASH串流針對相同的視訊短脈衝串提供不同的位元速率編碼(描述檔)。 TVSDK可根據可用頻寬來選取每個突發串的品質等級。
TVSDK會持續監視位元速率,以確保內容以目前網路連線的最佳位元速率播放。
您可以為多位速率(MBR)串流設定自適應位速率(ABR)切換策略和初始、最小和最大位速率。 TVSDK會自動切換至位元速率,以在指定組態中提供最佳播放體驗。
初始位元速率 | 第一段的所需播放位速率(以位/秒為單位)。 當播放開始時,第一個區段會使用最接近的描述檔,該描述檔等於或大於初始位元速率。 如果定義了最小位元速率,且初始位元速率低於最小速率,則TVSDK會選擇位元速率低於最小速率的描述檔。 如果初始速率高於最大速率,TVSDK會選擇低於最大速率的最高速率。 如果初始比特率為零或未定義,則初始比特率由ABR策略確定。 getABRInitialBitRate會傳回整數值,代表每秒位元組描述檔。 |
最低位元速率 | ABR可切換至的最低允許位速率。 ABR切換會忽略位速率低於此位速率的描述檔。 getABRMinBitRate會傳回一個整數值,代表每秒位元描述檔。 |
最大位元速率 | ABR可切換的最高允許位速率。 ABR切換會忽略位速率高於此位速率的描述檔。 getABRMaxBitRate會傳回一個整數值,代表每秒位元描述檔。 |
ABR交換策略 | 如果可能,播放會逐漸切換至最高位元速率的設定檔。 您可以設定ABR切換的原則,此原則會決定TVSDK在設定檔之間切換的速度。 預設值為 ABR_MODERATE。 當TVSDK決定切換至較高的位元速率時,播放器會根據目前的ABR原則,選擇理想的位元速率描述檔以切換至:
如果初始比特率為零或未指定,但指定了策略,則回放將從保守性的最低比特率配置檔案開始,中度可用配置檔案的中位數比特率最接近的配置檔案,以及侵略性的最高比特率配置檔案開始。 如果指定了最小和最大比特率,則策略在這些速率的約束下工作。 getABRPolicyles會從ABRControlParametersenum返回當 前設定:
|
請記住下列資訊:
TVSDK容錯機制可能會覆寫您的設定,因為TVSDK偏好持續播放體驗,而非嚴格遵循您的控制參數。
當位元速率變更時,TVSDK會在PlaybackEventListener
中調度onProfileChanged
事件。
您可以隨時變更ABR設定,而播放器會切換使用最符合最新設定的設定檔。
例如,如果串流具有下列描述檔:
如果您指定300000到2000000的範圍,TVSDK只會考慮設定檔1、2和3。 這可讓應用程式因應各種網路狀況進行調整,例如從wi-fi切換至3G或切換至手機、平板電腦或桌上型電腦等各種裝置。
要設定ABR控制參數,請在ABRControlParameter
類上設定參數。