ハードウェアビデオコーデックのサポート
LINE Planetは、1対1通話やグループ通話(カンファレンス)でユーザーデバイスのハードウェアビデオコーデックが有効化または無効化されるようにリクエストできます。
ここでは、ハードウェアビデオコーデックの有効化または無効化を設定し、その結果を確認する方法を説明します。
対応する通話タイプ | SDKの最低バージョン |
---|---|
1対1通話、グループ通話 | PlanetKit 3.2 |
Note
ハードウェアビデオコーデックをサポートするために、LINE Planet自体でH.264コーデックを提供することはなく、ユーザーデバイスにH.264ハードウェアコーデックがある場合、LINE PlanetはユーザーデバイスのH.264ハードウェアコーデックが有効化されるようにリクエストします。詳しくは、LINE Planet通話品質を参照してください。
ハードウェアビデオコーデックにおける有効化または無効化の設定
このセクションでは、ハードウェアビデオコーデックを有効または無効にする設定方法について説明します。
Note
- 以下の理由から、必ずしもハードウェアビデオコーデックが有効になるとは限りません。
- 1対1通話で、ピアがハードウェアビデオコーデックを利用できない場合があります。
- LINE Planetチームが運営上のイシューで該当機能を無効にする場合があります。
- PlanetKit 6.0以前では、1対1通話を発信/受信したり、グループ通話に参加したりする際に通話パラメーターを利用してハードウェアビデオコーデックの有効化の可否を設定しました。しかし、PlanetKit 6.0からはそれぞれの1対1通話やグループ通話毎に個別に設定する代わりに
PlanetKitManager
を通じてハードウェアビデオコーデックの有効化または無効化を設定します。
SDKを初期化する際、withSetPreferredHardwareCodecKey()
を使用してハードウェアビデオコーデックの有効化の可否を設定できます。
class YourApplication {
func initializePlanetKit() {
let logLevel: PlanetKitLogLevel = .simple
let logSizeLimit: PlanetKitLogSizeLimit = .small
// Create preferred hardware codec settings
let preferredHardwareCodec = PlanetKitPreferredHardwareCodec(/* set params*/)
let settingBuilder = PlanetKitInitialSettingBuilder()
.withEnableKitLogKey(level: logLevel, enable: true, logSize: logSizeLimit)
.withSetKitServerKey(serverUrl: planet_base_url)
// Configure the preferred hardware codec settings
.withSetPreferredHardwareCodecKey(preferredHardwareCodec: preferredHardwareCodec)
let initialSettings = settingBuilder.build()
// Initialize PlanetKit with the preferred hardware codec settings
PlanetKitManager.shared.initialize(initialSettings: initialSettings)
...
}
}
初期化した後、ハードウェアビデオコーデックの有効化の可否を設定するには、新しい設定と共にupdate()
を使用します。
func updatePlanetKit() {
// Create a preferred hardware codec instance with the current settings
let preferredHardwareCodec = PlanetKitPreferredHardwareCodec(/* set params*/)
// Create update settings with the new hardware codec preferences
let updateSettings = PlanetKitInitialSettingBuilder()
.withSetPreferredHardwareCodecKey(preferredHardwareCodec: preferredHardwareCodec)
.build()
// Update PlanetKit with the preferred hardware codec settings
PlanetKitManager.shared.update(initialSettings: updateSettings)
}
ハードウェアビデオコーデックにおける有効化の可否の確認
ハードウェアビデオコーデックの有効化/無効化の結果は、コールセットアップ(call setup)の過程で決定されます。そのため、didConnect
イベントが発生した後に結果を確認する必要があります。
- 1対1通話では、
didConnect
から引き渡されたPlanetKitCallConnectedParam
のisVideoHardwareCodecEnabled
を使用してハードウェアコーデックの有効化の可否を確認できます。 - グループ通話では、
didConnect
から引き渡されたPlanetKitConferenceConnectedParam
のisVideoHardwareCodecEnabled
を使用してハードウェアコーデックの有効化の可否を確認できます。
関連API
ハードウェアビデオコーデックのサポートに関連するAPIは、次のとおりです。