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