最大リンク帯域幅
PlanetKitは、最大リンク帯域幅を設定する機能を提供します。LINE Planetは、ネットワークの総ビットレートを最大リンク帯域幅までに制限します。ここでは、LINE Planetでビットレートを制御する方法について説明します。
| 対応する通話タイプ | SDKの最低バージョン |
|---|---|
| 1対1通話、グループ通話(カンファレンス) | WebPlanetKit 5.1 |
アプリケーションの設定
コールセットアップ(call setup)段階で、1対1通話パラメータまたはグループ通話パラメータを構成する必要があります。そのとき、最大送信リンク帯域幅(maxSendLinkBandwidth)と最大受信リンク帯域幅(maxRecvLinkBandwidth)を設定すれば、PlanetKitがその値を考慮してネットワークの総ビットレートを制限します。通話タイプとユーザータイプごとにmaxSendLinkBandwidthとmaxRecvLinkBandwidthを設定するためのAPIは次のとおりです。
| 最大送信リンク帯域幅の設定API | 最大受信リンク帯域幅の設定API | |
|---|---|---|
| 1対1通話の発信者 | MakeCallParamsのmaxSendLinkBandwidth | MakeCallParamsのmaxReceiveLinkBandwidth |
| 1対1通話の受信者 | VerifyCallParamsのmaxSendLinkBandwidth | VerifyCallParamsのmaxReceiveLinkBandwidth |
| グループ通話の参加者 | ConferenceParamsのmaxSendLinkBandwidth | ConferenceParamsのmaxReceiveLinkBandwidth |
このほかにも、PlanetKitにはdefaultMaxSendLinkBandwidth、defaultMaxRecvLinkBandwidthという最大リンク帯域幅のデフォルト値があります。PlanetKitは、アプリケーションの設定と最大リンク帯域幅のデフォルト値のうち、最小値でリンク帯域幅を適用します。これをlocalMaxSendLinkBandwidthおよびlocalMaxRecvLinkBandwidthと呼びます。
// Pseudocode description
localMaxSendLinkBandwidth = MIN(maxSendLinkBandwidth, defaultMaxSendLinkBandwidth)
localMaxRecvLinkBandwidth = MIN(maxRecvLinkBandwidth, defaultMaxRecvLinkBandwidth)
最終的に適用するビットレートの制限値は、通話タイプによって異なります。
WebPlanetKitには、画面共有に関して次のような制約があります。
maxSendLinkBandwidthが1100kbps未満である場合- 画面共有を行うと、実際のビットレートが
maxSendLinkBandwidthで設定した値を超える場合があります。
- 画面共有を行うと、実際のビットレートが
maxRecvLinkBandwidthが1100kbps未満である場合- 他の参加者の画面共有において画質が悪い場合があります。
1対1通話
PlanetKitは、コールセットアップ段階でローカルユーザーのlocalMaxSendLinkBandwidthとリモートユーザー(ピア)のlocalMaxRecvLinkBandwidthのうち最小値でビットレートを制限します。
// Pseudocode description
maxTransmitBitrate = MIN(localMaxSendLinkBandwidth, peerAttribute.localMaxRecvLinkBandwidth)
maxReceiveBitrate = MIN(localMaxRecvLinkBandwidth, peerAttribute.localMaxSendLinkBandwidth)
グループ通話
グループ通話の場合は、1対1通話とは異なり、通話参加者間の最小値ではなく、localMaxSendLinkBandwidthとlocalMaxRecvLinkBandwidthでビットレートを制限します。
// Pseudocode description
maxTransmitBitrate = localMaxSendLinkBandwidth
maxReceiveBitrate = localMaxRecvLinkBandwidth
最大リンク帯域幅のデフォルト値
WebPlanetKitは、下表のように通話タイプによって最大リンク帯域幅のデフォルト値が異なるように適用します(単位:Mbps)。
| 通話タイプ | defaultMaxSendLinkBandwidth | defaultMaxRecvLinkBandwidth |
|---|---|---|
| 1対1通話 | 2.7 | 6 |
| グループ通話 | 3.2 | 6 |
- WebPlanetKit 5.0バージョン以下では、最大リンク帯域幅を設定できませんが、受信できる最大帯域幅のデフォルト値は6Mbpsに設定されています。
- PlanetKitとは異なり、WebPlanetKitは、接続したネットワークとデバイスのタイプによる最大リンク帯域幅を適用しません。