최대 링크 대역폭
PlanetKit은 최대 링크 대역폭을 설정하는 기능을 제공합니다. LINE Planet은 총 네트워크 비트레이트를 최대 링크 대역폭까지로 제한합니다. 여기서는 LINE Planet에서 비트레이트를 제어하는 법을 기술합니다.
지원 통화 유형 | SDK 최소 버전 |
---|---|
1대1 통화, 그룹 통화(컨퍼런스) | PlanetKit 3.3 |
애플리케이션 설정
콜 셋업(call setup) 단계에서 1대1 통화 파라미터 또는 그룹 통화 파라미터를 구성해야 합니다. 이때 최대 송신 링크 대역폭(maxSendLinkBandwidth
)과 최대 수신 링크 대역폭(maxRecvLinkBandwidth
)을 설정하면 PlanetKit이 이 값을 고려해 총 네트워크 비트레이트를 제한합니다. 통화 유형 및 사용자 유형별로 maxSendLinkBandwidth
와 maxRecvLinkBandwidth
를 설정하기 위한 API는 다음과 같습니다.
이 밖에도 PlanetKit에는 defaultMaxSendLinkBandwidth
, defaultMaxRecvLinkBandwidth
라는 최대 링크 대역폭의 기본값이 있습니다. 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 통화와 달리 통화 참여자 사이의 최솟값을 찾지 않고, localMaxSendLinkBandwidth
와 localMaxRecvLinkBandwidth
으로 비트레이트를 제한합니다.
// Pseudocode description
maxTransmitBitrate = localMaxSendLinkBandwidth
maxReceiveBitrate = localMaxRecvLinkBandwidth
최대 링크 대역폭 기본값
PlanetKit이 정한 최대 링크 대역폭의 기본값, 즉 defaultMaxSendLinkBandwidth
와 defaultMaxRecvLinkBandwidth
는 접속망과 기기 종류에 따라 다릅니다.
기본값은 아래 표를 참고하세요. defaultMaxSendLinkBandwidth
/defaultMaxRecvLinkBandwidth
를 Mbps 단위로 표기했습니다.
플랫폼 유형 | Ethernet | Wi-Fi | 2G | 3G | 4G | 5G |
---|---|---|---|---|---|---|
Android, iOS | 없음 | 1.6/3 | 0.1/0.1 | 0.7/0.7 | 1.6/3 | 2.1/3 |
macOS, Windows | 10/10 | 4/6 | 없음 | 없음 | 없음 | 없음 |