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

ハードウェアビデオコーデックのサポート

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から引き渡されたPlanetKitCallConnectedParamisVideoHardwareCodecEnabledを使用してハードウェアコーデックの有効化の可否を確認できます。
  • グループ通話では、didConnectから引き渡されたPlanetKitConferenceConnectedParamisVideoHardwareCodecEnabledを使用してハードウェアコーデックの有効化の可否を確認できます。

関連API

ハードウェアビデオコーデックのサポートに関連するAPIは、次のとおりです。