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

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

変更内容の詳細については リリースノート を参照してください。

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

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

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

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

  • Intel VPL

  • AMD AMF

  • NVIDIA Video Codec SDK

  • Internal (未指定時にで自動で使用される、libwebrtc が利用するエンコーダー・デコーダー)

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

// 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 のフラグではなく、利用するエンコーダー・デコーダーの実装を明示的に指定できるようになりました。

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

詳細は エンコーダーデコーダーの指定 を参照してください。

Sora.IsH264Supported() 関数の削除

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

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

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 のインストール方法は プロジェクトにインストールする を参照してください。

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

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

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

  • 音声コーデック: OPUS

  • 映像コーデック: VP9

© Copyright 2024, Shiguredo Inc. Created using Sphinx 8.2.3