# 2025.1.x から 2025.2.x への移行

2025.1.x から 2025.2.x への移行についての注意点をまとめています。

変更内容の詳細については [リリースノート](release.html) を参照してください。

## エンコーダー・デコーダー指定方法の変更

2025.1.x までは、ハードウェアアクセラレーターを優先して利用していましたが、
2025.2.x からは、libwebrtc が利用するエンコーダー・デコーダー以外のハードウェアアクセラレーターを利用する場合は明示的に指定を行う必要があります。

これまで通りエンコーダー・デコーダーにハードウェアアクセラレーターを優先して利用したい場合は、
以下のように、変更することで利用することができます。

ハードウェアアクセラレーターの優先順位は以下の通りです。

> > **注意**
> >
> > AMD AMF はドライバーが不安定なため、現在非推奨です。

- Intel VPL
- AMD AMF
- NVIDIA Video Codec
- Internal (未指定時に自動で使用される、libwebrtc が利用するエンコーダー・デコーダー)

```csharp
// ハードウェアエンコーダーが使える場合は優先して使う

// 1. ビデオエンコーダーの対応状況を取得する
var capability = Sora.GetVideoCodecCapability(new Sora.VideoCodecCapabilityConfig());

// 2. 取得した対応状況から、ハードウェアエンコードを優先するための設定を取得する
var preference = Sora.VideoCodecPreference.GetHardwareAcceleratorPreference(capability);

// 3. config に優先設定を適用することで、ハードウェアエンコーダーが利用できる環境ではソフトウェアエンコードより優先して使用される
config.VideoCodecPreference = preference;
```

### エンコーダー・デコーダーの指定方法の変更に伴い、以下の変更が行われました。

#### `Sora.Config.UseHardwareEncoder` の削除

`Sora.Config.UseHardwareEncoder` は削除されました。

今後は `Sora.Config.VideoCodecPreference` を使用してください。

これまでのような `true/false` のフラグではなく、利用するエンコーダー・デコーダーの実装を明示的に指定できるようになりました。

以下のように、利用可能なハードウェアエンコーダー／デコーダーを優先する設定が可能です。

詳細は [エンコーダーデコーダーの指定](functions_hardware_acceleration.html) を参照してください。

#### `Sora.IsH264Supported()` 関数の削除

`Sora.IsH264Supported()` 関数が削除されました。  
この関数は、H.264 のハードウェアエンコード・ハードウェアデコードが利用可能かどうかを true/false で返していました。  
今後は `Sora.GetVideoCodecCapability()` を使用し、対応しているエンコーダー・デコーダーの情報を確認してください。

以下のようにして、現在の環境で利用可能な実装と対応コーデックの一覧をログに出力できます。

```csharp
var capability = Sora.GetVideoCodecCapability(new Sora.VideoCodecCapabilityConfig());
foreach (var engine in capability.Engines)
{
    Debug.Log($"Implementation: {engine.Name}");
    foreach (var codec in engine.Codecs)
    {
        Debug.Log($"  Codec: {codec.Type}, Encoder: {codec.Encoder}, Decoder: {codec.Decoder}");
    }
}
```

## Ubuntu 20.04 のサポート終了

Ubuntu 20.04 のサポートが終了しました。
引き続き Ubuntu を利用する場合は Ubuntu22.04 または Ubuntu 24.04 への移行をお願いします。

Ubuntu 22.04 または Ubuntu 24.04 のインストール方法は [プロジェクトにインストールする](use.html) を参照してください。

## 音声コーデックと映像コーデックのデフォルト値変更

Sora.Config.VideoCodecType と Sora.Config.AudioCodecType のデフォルト値が変更されました。
2025.2.x からは Nullable 型になり、デフォルトは null (未指定)になります。

未指定の場合、以下の Sora のデフォルトのコーデックが使用されます。これは以前のデフォルト値と同じ値なので利用されるコーデックに変更はありません。

- 音声コーデック: OPUS
- 映像コーデック: VP9
