本文にスキップする
Version: 5.5

最大リンク帯域幅

PlanetKitは、最大リンク帯域幅を設定する機能を提供します。LINE Planetは、ネットワークの総ビットレートを最大リンク帯域幅までに制限します。ここでは、LINE Planetでビットレートを制御する方法について説明します。

対応する通話タイプSDKの最低バージョン
1対1通話、グループ通話(カンファレンス)PlanetKit 3.3

アプリケーションの設定

コールセットアップ(call setup)段階で、1対1通話パラメータまたはグループ通話パラメータを構成する必要があります。そのとき、最大送信リンク帯域幅(maxSendLinkBandwidth)と最大受信リンク帯域幅(maxRecvLinkBandwidth)を設定すれば、PlanetKitがその値を考慮してネットワークの総ビットレートを制限します。通話タイプとユーザータイプごとにmaxSendLinkBandwidthmaxRecvLinkBandwidthを設定するためのAPIは次のとおりです。

最大送信リンク帯域幅の設定API最大受信リンク帯域幅の設定API
1対1通話の発信者PlanetKitMakeCallParam.BuildermaxSendLinkBandwidth()PlanetKitMakeCallParam.BuildermaxReceiveBandwidth()
1対1通話の受信者PlanetKitVerifyCallParam.BuildermaxSendLinkBandwidth()PlanetKitVerifyCallParam.BuildermaxReceiveBandwidth()
グループ通話の参加者PlanetKitConferenceParam.BuildermaxSendLinkBandwidth()PlanetKitConferenceParam.BuildermaxReceiveBandwidth()

このほかにも、PlanetKitにはdefaultMaxSendLinkBandwidthdefaultMaxRecvLinkBandwidthという最大リンク帯域幅のデフォルト値があります。PlanetKitは、アプリケーションの設定と最大リンク帯域幅のデフォルト値のうち、最小値でリンク帯域幅を適用します。これをlocalMaxSendLinkBandwidthおよびlocalMaxRecvLinkBandwidthと呼びます。

// Pseudocode description
localMaxSendLinkBandwidth = MIN(maxSendLinkBandwidth, defaultMaxSendLinkBandwidth)
localMaxRecvLinkBandwidth = MIN(maxRecvLinkBandwidth, defaultMaxRecvLinkBandwidth)

最終的に適用するビットレートの制限値は、通話タイプによって異なります。

1対1通話

PlanetKitは、コールセットアップ段階でローカルユーザーのlocalMaxSendLinkBandwidthとリモートユーザー(ピア)のlocalMaxRecvLinkBandwidthのうち最小値でビットレートを制限します。

// Pseudocode description
maxTransmitBitrate = MIN(localMaxSendLinkBandwidth, peerAttribute.localMaxRecvLinkBandwidth)
maxReceiveBitrate = MIN(localMaxRecvLinkBandwidth, peerAttribute.localMaxSendLinkBandwidth)

グループ通話

グループ通話の場合は、1対1通話とは異なり、通話参加者間の最小値ではなく、localMaxSendLinkBandwidthlocalMaxRecvLinkBandwidthでビットレートを制限します。

// Pseudocode description
maxTransmitBitrate = localMaxSendLinkBandwidth
maxReceiveBitrate = localMaxRecvLinkBandwidth

PlanetKitが定めた最大リンク帯域幅のデフォルト値、すなわちdefaultMaxSendLinkBandwidthdefaultMaxRecvLinkBandwidthとは接続したネットワークとデバイスのタイプによって異なります。

デフォルト値は下表を参照してください。defaultMaxSendLinkBandwidth/defaultMaxRecvLinkBandwidthの単位は、Mbpsです。

プラットフォームタイプEthernetWi-Fi2G3G4G5G
Android, iOSなし1.6/30.1/0.10.7/0.71.6/32.1/3
macOS, Windows10/104/6なしなしなしなし