HLS和DASH串流針對相同的視訊短脈衝串提供不同的位元速率編碼(描述檔)。 TVSDK可根據可用頻寬來選取每個突發串的品質等級。
TVSDK會持續監視位元速率,以確保內容以目前網路連線的最佳位元速率播放。
您可以為多位速率(MBR)串流設定自適應位速率(ABR)切換策略和初始、最小和最大位速率。 TVSDK會自動切換至位元速率,以在指定組態中提供最佳播放體驗。
初始位元速率 | 第一段的所需播放位速率(以位/秒為單位)。 當播放開始時,第一個區段會使用最接近的描述檔,該描述檔等於或大於初始位元速率。 如果定義了最小位元速率,且初始位元速率低於最小速率,則TVSDK會選擇位元速率低於最小速率的描述檔。 如果初始速率高於最大速率,TVSDK會選擇低於最大速率的最高速率。 如果初始比特率為零或未定義,則初始比特率由ABR策略確定。 ABRInitialBitRate傳 回一個整數值,代表每秒位元組描述檔。 |
最低位元速率 | ABR可切換至的最低允許位速率。 ABR切換會忽略位速率低於此位速率的描述檔。 ABRMinBitRate傳 回代表每秒位元描述檔的整數值。 |
最大位元速率 | ABR可切換的最高允許位速率。 ABR切換會忽略位速率高於此位速率的描述檔。 ABRMaxBitRate傳 回一個整數值,代表每秒位元描述檔。 |
ABR交換策略 | 如果可能,播放會逐漸切換至最高位元速率的設定檔。 您可以設定ABR切換的原則,此原則會決定TVSDK在設定檔之間切換的速度。 預設值為 MODERATE_POLICY 。 當TVSDK決定切換至較高的位元速率時,播放器會根據目前的ABR原則,選擇理想的位元速率描述檔以切換至:
如果初始比特率為零或未指定,但指定了策略,則回放將從保守性的最低比特率配置檔案開始,中度可用配置檔案的中位數比特率最接近的配置檔案,以及侵略性的最高比特率配置檔案開始。 如果指定了最小和最大比特率,則策略在這些速率的約束下工作。 ABRPolicy從 ABRControlParameters枚舉返回當 前 設定:CONSERVACTIVE_POLICY、MODERATE_POLICY或ACCORPISIVE_POLICY。 |
請記住下列資訊:
ProfileEvent.PROFILE_CHANGED
。例如,如果串流具有下列描述檔:
如果您指定300000到2000000的範圍,TVSDK只會考慮設定檔1、2和3。 這可讓應用程式因應各種網路狀況進行調整,例如從wi-fi切換至3G或切換至手機、平板電腦或桌上型電腦等各種裝置。
要設定ABR控制參數,請執行下列操作之一:
使用ABRControlParameterBuilder
幫助類設定參數的任何子集(在後台操作ABRControlParameter
)
在ABRControlParameter
類中設定參數。
使用ABRControlParametersBuilder
幫助類是設定ABR參數最簡單、最有效的方法。
ABRControlParametersBuilder
建構子將所有ABR參數設定為基礎ABRControlParameters
對象上的預設值。
只要您對相同ABRControlParametersBuilder
實例的引用保持不變,就可以在運行時重置單個ABR參數。
此類還包括toABRControlParameters()
幫助方法。 使用此方法可以獲取ABRControlParameters
的實例,並在mediaPlayer.ABRControlParameters
屬性上進行設定。 這會使您的設定在播放器中生效。
實例化ABRControlParametersBuilder
幫助程式類,並在Media Player上設定參數。
例如,以下示例將所有參數初始化為預設值,然後僅將策略設定為保守,並將最大比特率限制為1000000:
var abrBuilder:ABRControlParametersBuilder =
new ABRControlParametersBuilder();
abrBuilder.policy = ABRControlParameters.CONSERVATIVE_POLICY;
abrBuilder.maxBitRate = 1000000;
mediaPlayer.abrControlParameters =
abrBuilder.toABRControlParameters();
在運行時修改單個ABR參數。
要修改單個參數,同時保留其餘參數原樣:
// If later you want to reset the max bit rate to 2000000
abrBuilder.maxBitRate = 2000000;
mediaPlayer.abrControlParameters =
abrBuilder.toABRControlParameters();
若要保留先前的設定,您必須保留對您在步驟1中建立之相同ABRControlParametersBuilder
例項的參考。
您只能以ABRControlParameters
設定ABR控制值,但可隨時建立新值。
在ABRControlParametersBuilder
類別存在之前,支援此設定ABR參數的能力,但此能力對於在構建時設定ABR參數仍然有效。 但是,要在構建後更改單個參數,應使用ABRControlParametersBuilder
類。
以下條件適用於ABRControlParameters
:
ArgumentError
。決定初始、最小和最大位速率。
確定ABR策略:
CONSERVATIVE_POLICY
MODERATE_POLICY
AGGRESSIVE_POLICY
在ABRControlParameters
建構函式中設定ABR參數值,並將其指派給Media Player。
mediaPlayer.abrControlParameters = new ABRControlParameters(
ABRControlParameters.CONSERVATIVE_POLICY,
0, // Initial bit rate
0, // Minimum bit rate
1000000 // Maximum bit rate
);