リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2025.2.0-canary

メジャーアップデート

リリース:

2025 年 12 月 17 日

重要

Sora 2025.1.x から 2025.2.x への移行については 2025.1.x から 2025.2.x への移行 をご確認ください。

ハイライト

  • 実験的機能としてクライアントから Sora の一部 API を呼び出すことができる RPC 機能を追加しました

正式版

今回のリリースで以下の機能が実験的機能から正式版になりました。

破壊的変更

  • 録画機能(セッション単位)のデフォルト出力フォーマットを MP4 に変更しました

    • sora.confdefault_recording_format のデフォルト値を webm から mp4 に変更しました

廃止機能

  • レガシー録画関連 API を廃止しました

  • RTP ストリーム停止/再開 関連 API を廃止しました

  • sora.confturn を廃止し、 TURN 機能 を無効化することができなくなりました

  • sora.confwhip_turn を廃止し、 WHIP 機能 の TURN のサポートを無効化することができなくなりました

  • sora.confwhep_turn を廃止し、 WHEP 機能 の TURN のサポートを無効化することができなくなりました

  • sora.confice_connection_state_disconnected_timeout を廃止しました

  • sora.confice_connection_state_failed_timeout を廃止しました

  • sora.confav1 を廃止し、 AV1 のサポートを無効化することができなくなりました

  • sora.confh265 を廃止し、 H.265 のサポートを無効化することができなくなりました

  • sora.confdevtools を廃止し、組み込みの開発ツールが利用できなくなりました

    • 開発ツールを利用する場合は NGINX のリバースプロキシやホスティングを利用してください

    • 詳細は 開発ツール をご覧ください

  • sora.conflegacy_signaling_notify_network_status を廃止しました

  • sora.confsignaling_forwarding_filter を廃止しました

変更履歴

  • [CHANGE] コネクションログの simuclast_encodings の出力条件を変更しました

    • サイマルキャストが有効でかつスポットライトが無効で、ロールが sendonly または sendrecv の場合に出力されるようになりました

  • [CHANGE] コネクションログの spotlight_encodings の出力条件を変更しました

    • サイマルキャストが無効でかつスポットライトが有効で、ロールが sendonly または sendrecv の場合に出力されるようになりました

  • [CHANGE] シグナリングメッセージの "type": "re-answer" の受信待ち受け時間を 30 秒に制限しました

  • [ADD] スポットライトシグナリング通知を送るかどうかを sora.confsignaling_notify_spotlight で指定できるようになりました

    • デフォルトは true です

    • false に設定するとスポットライトシグナリング通知 spotlight.{focused, unfocused} が送信されなくなります

  • [ADD] コネクションログの項目を追加しました

    • id: コネクションログのユニーク ID

    • version: Sora のバージョン

    • label: Sora のラベル

    • node_name: Sora のノード名

  • [FIX] セッション単位での最大同時接続数制限機能セッション単位でのクライアント ID 重複時の既存接続の追い出し機能 を同時に有効にした場合に、最大同時接続数に達している状態で追い出しが発生した際、追い出しは成功するが最大同時接続数制限により接続が失敗する問題を修正しました

  • [FIX] 音声の SDP に a=rtcp-fbtransport-cc が付与されていない問題を修正しました

rolerecvonly 時の codec_typebit_rate などの指定の無視

Sora 2025.1.0 で廃止したレガシーストリームと互換性を維持するため、 マルチストリームになっても rolerecvonly でもシグナリングや認証成功時の払い出しで、 codec_typebit_rate などの指定ができていましたが、 Sora 2025.2.0 からは指定したとしても無視する仕様に変更しました。

  • [CHANGE] rolerecvonly の場合、シグナリングや認証成功時に以下の指定が無視されるようになりました

    • audiocodec_typebit_rateopus_params

    • videocodec_typebit_ratesimulcastvp9_paramsav1_paramsh264_paramsh265_params

  • [CHANGE] rolerecvonly の場合、connection ログに以下の情報が出力されなくなりました

    • audiocodec_typebit_rateopus_params

    • videocodec_typebit_ratesimulcastvp9_paramsav1_paramsh264_paramsh265_params

環境変数による sora.conf の設定上書き機能

環境変数にて SORA_<設定項目名> を指定することで sora.conf の設定を上書きできる機能を追加しました。

例えば SORA_DEFAULT_VIDEO_BIT_RATE=500 という環境変数を指定することで sora.confdefault_video_bit_rate の設定を上書きできます。もし設定が default_video_bit_rate = 300 であっても、Sora は起動時に環境変数の値を優先して 500 として動作します。

  • [ADD] 環境変数にて SORA_<設定項目名> を指定することで sora.conf の設定を上書きできるようになりました

詳細は 環境変数による設定上書き機能 をご確認ください。

RPC 機能

これは実験的機能です

クライアントから Sora の一部 API をデータチャネル経由で呼び出すことができる RPC 機能を追加しました。 この機能を利用するにはデータチャネルシグナリングを有効にする必要があります。

  • [ADD] sora.conf に RPC 機能を指定する sora_conf-data_channel_rpc を追加しました

    • デフォルトは true です

  • [ADD] 認証成功時の払い出しに利用できる RPC メソッドの一覧を指定する rpc_methods を追加しました

    • "rpc_methods": ["2025.2.0/RequestSimulcastRid"] のように指定します

    • 未指定または空リスト ([]) の場合は RPC 機能を利用できません

  • [ADD] シグナリングメッセージ "type": "offer" に認証成功時に払いだした rpc_methods が含まれるようになりました

  • [ADD] connection.jsonlrpc_methods が含まれるようになりました

  • [ADD] メタデータ拡張機能の PutSignalingNotifyMetadata API を RPC 機能で利用できるようになりました

    • メソッド名は 2025.2.0/PutSignalingNotifyMetadata です

  • [ADD] メタデータ拡張機能の PutSignalingNotifyMetadataItem API を RPC 機能で利用できるようになりました

    • メソッド名は 2025.2.0/PutSignalingNotifyMetadataItem です

  • [ADD] サイマルキャスト機能の RequestSimulcastRid API を RPC 機能で利用できるようになりました

    • メソッド名は 2025.2.0/RequestSimulcastRid です

  • [ADD] スポットライト機能の 20251217.RequestSpotlightRid API を RPC 機能で利用できるようになりました

    • メソッド名は 2025.2.0/RequestSpotlightRid です

  • [ADD] スポットライト機能の 20251217.ResetSpotlightRid API を RPC 機能で利用できるようになりました

    • メソッド名は 2025.2.0/ResetSpotlightRid です

詳細は RPC 機能 をご確認ください。

セッション単位でのクライアント ID 重複時の既存接続の追い出し機能

これは実験的機能です

  • [ADD] クライアント ID 重複時の既存接続の追い出し機能が有効なセッションの認証ウェブフックに、既に重複する client_id のコネクションが存在する場合、そのクライアントの ice_connection_state を含めるようになりました

    • シグナリング接続時に指定した client_id と重複する client_id のコネクションが存在する場合のみ含まれます

サイマルキャスト新機能追加に関する設定項目名と API 名の変更

Sora 2025.2.0 から none を設定できるようになりました。これに伴い sora.conf の設定、接続時や認証成功時の払い出し項目、API の名前をよりわかりやすくしたものを追加しました。

古い設定項目名や API 名も引き続き利用できますが、2027 年 12 月リリース予定の Sora にて廃止予定です。新しい設定項目名や API 名をご利用ください。

古い設定項目や API では ridnone を指定することはできません。

ResetRtpStream API については活用場所が難しく、 RequestSimulcastRid で代替できることから 2026 年 12 月にて廃止することにしました。

  • [CHANGE] ResetRtpStream API を非推奨にしました

  • [ADD] rid の切り替えをリクエストする RequestSimulcastRid API を追加しました

    • ridr0r1r2 に加えて none が指定できるようになりました

    • RequestRtpStream API は 2027 年 12 月リリース予定の Sora にて廃止予定です

  • [ADD] サイマルキャスト視聴側がどの rid を視聴するかのデフォルトを指定する sora.confdefault_simulcast_request_rid を追加しました

    • デフォルトは r0 です

    • sora.confdefault_simulcast_rid は 2027 年 12 月リリース予定の Sora にて廃止予定です

  • [ADD] シグナリング接続時に視聴するストリームの rid を指定する simulcast_request_rid を追加しました

    • simulcast_request_rid には noner0r1r2、 を指定できます

    • simulcast_request_ridrolesendrecv または recvonly の場合にのみ有効です

    • simulcasttrue の場合にのみ有効です

    • シグナリング接続時の simulcast_rid は 2027 年 12 月リリース予定の Sora にて廃止予定です

  • [ADD] 認証成功時の払い出しにて視聴するストリームの rid を指定する simulcast_request_rid を追加しました

    • simulcast_request_rid には noner0r1r2 を指定できます

    • simulcast_request_ridrolesendrecv または recvonly の場合にのみ有効です

    • simulcasttrue の場合にのみ有効です

    • 認証成功時の simulcast_rid は 2027 年 12 月リリース予定の Sora にて廃止予定です

  • [ADD] 認証成功時の払い出しにて RPC 機能経由で 2025.1.0/RequestSimulcastRidridauto_rids で利用できる rid を指定する simulcast_rpc_rids を追加しました

    • デフォルトは未指定で、どれも指定できません

    • simulcasttrue の場合にのみ有効です

    • "simulcast_rpc_rids": ["none", "r0", "r1"] のように指定します

サイマルキャスト自動ストリーム切り替え機能

これは実験的機能です

実験的機能としてサイマルキャスト機能に Sora 側で視聴環境に合わせたストリームを自動で切り替える仕組みを追加しました。

重要

simulcast_auto_rids が指定された場合、 Sora 2025.2.0 ではまだ「視聴環境が悪化した場合に、ビットレートが低い映像に自動的に下げる」といった機能のみになります。「視聴環境が改善した場合にビットレートが高い映像に自動的に上げる」機能は 2026 年リース予定の Sora にて対応予定です。

  • [ADD] sora.conf にサイマルキャスト機能で視聴環境に合わせて Sora が自動でストリームを切り替える default_simulcast_auto_rids を追加しました

    • デフォルトは未指定で、自動では切り替わりません

    • default_simulcast_auto_rids = r0, r1 のように複数指定することができます

    • 指定した rid の中で視聴環境に合わせて Sora が自動で切り替えます

    • simulcasttrue の場合にのみ有効です

  • [ADD] 認証成功時の払い出しにて、視聴環境に合わせて Sora が自動でストリームを切り替える authz_simulcast_auto_rids を追加しました

    • デフォルトは default_simulcast_auto_rids の値です

    • simulcasttrue の場合にのみ有効です

    • auto を指定した場合、視聴側の環境に合わせて rid が自動で切り替わるようになります

  • [ADD] 視聴側の環境に合わせて配信するストリームを切り替える用に変更できる ChangeSimulcastAuto API を追加しました

    • rids には ["r0", "r1"] のように複数指定できます

    • [] を指定した場合、自動切り替えは無効になります

  • [ADD] 認証成功時の払い出しにて simulcast_auto_rids で利用できる rid を指定することができます

    • デフォルトは未指定です

    • simulcasttrue の場合にのみ有効です

    • "simulcast_auto_rids": ["r0", "r1"] のように指定します

      • この場合 simulcast_auto_switched が有効な場合に Sora が選択できる ridnoner0r1 のみになります

  • [ADD] sora.confsimulcast_auto_rids を指定した際、自動で切り替わる最小の間隔を秒数で指定します sora_conf-simulcast_auto_min_switch_interval を追加しました

    • デフォルトは 5 s です

    • 範囲は 1..300 s です

  • [ADD] 統計情報に simulcast_auto を追加しました

    • target_sender_count : サイマルキャスト rid 切り替えの対象となった送信ストリーム数

    • total_switched : サイマルキャスト rid が自動で切り替わった回数

    • last_up_trend : 帯域推定が上昇傾向だった際に切り替えをスキップした回数

      • 帯域推定が上昇傾向だった際に切り替えをスキップした回数

サイマルキャスト rid 切り替わり時のシグナリング通知機能

これは実験的機能です

今まで視聴側で simulcast の rid が切り替わったことを知る手段がありませんでした。 今回、サイマルキャストの rid が切り替わった際にシグナリング通知が送信される機能を追加しました。

  • [ADD] サイマルキャスト機能で rid が切り替わった際に送信するシグナリング通知 simulcast.switched を追加しました

  • [ADD] sora.conf にサイマルキャストの rid が切り替わった際にシグナリング通知を送信するかどうかを指定する _sora_conf-signaling_notify_simulcast_switched を追加しました

    • デフォルトは true です

{
  "type": "notify",
  "event_type": "simulcast.switched",
  "timestamp": "string",
  "connection_id": "string",
  "priority": "higher | lower",
  "trigger": "api | rpc | sender | receiver",
  // simulcast_rpc_rids を指定した場合に含まれます
  // 未指定の場合は "rpc_rids": [] になります
  "rpc_rids": ["none", "r0", "r1", "r2"],
  // simulcast_auto_rids を指定した場合に含まれます
  // 未指定の場合は "auto_rids": [] になります
  "auto_rids": ["none", "r0", "r1", "r2"],
  "request_rid": "none | r0 | r1 | r2",
  "current_rid": "none | r0 | r1 | r2",
  "previous_rid": "none | r0 | r1 | r2",
}

認証ウェブフック経由での録画開始機能

これは実験的機能です

録画はセッションウェブフック session.created のタイミングで開始するか StartRecording API を呼び出すことで開始できますが、ウェブフックを利用して途中から録画を開始する事ができませんでした。

今回、実験機能として認証ウェブフックの戻り値で録画を開始できる仕組みを追加しました。

  • [ADD] sora.conf に認証ウェブフック成功時の払い出しで録画を開始できるかどうかを指定する auth_webhook_recording を追加しました。

  • [ADD] 認証ウェブフックの戻り値に recording を追加しました

    • recordingtrue を指定すると録画が既に開始されていない場合は録画を開始します

    • recordingfalse を指定した場合は無視します

  • [ADD] 認証ウェブフックの戻りに recordingtrue を指定した際に利用できる録画用の項目を追加しました

    • recording_expire_time

    • recording_split_only

    • recording_split_duration

    • recording_metadata

    • recording_format

    • これらの設定の詳細については 認証ウェブフック をご確認ください。

ノード単位での最大同時接続数制限機能

これは実験的機能です

Sora は今までノード単位の同時接続数はライセンスでのみ制限をしていましたが、 低スペックのインスタンスを一時的に利用する際、ノード単位での最大同時接続数を制限したいという要望がありました。

今回 sora.conf にてノード単位での接続数を制限する仕組みを追加しました。この機能を利用することでライセンスでは 300 同時接続まで許可されているが、ノード単位で 100 同時接続までに制限するといった運用が可能になります。

  • [ADD] sora.conf にノード単位での最大同時接続数を制限する max_connections を追加しました

    • デフォルトは未指定で無制限です

    • 0 から 10000 までの値を指定できます

    • この値をチェックする前にライセンスによる最大同時接続数をチェックします

セッション単位での最大同時接続数を無視する機能

これは実験的機能です

セッション作成時の max_connections にてセッション単位の最大同時接続数を制限できますが、 特定のクライアントは制限を無視して接続を許可したい場合があります。

今回、認証成功時の払い出しでセッション単位の最大同時接続数を無視して接続を許可する仕組みを追加しました。

  • [ADD] 認証成功時の払い出しにて ignore_max_connections を指定できるようになりました

    • セッション単位の最大同時接続数制限が指定されている場合に有効になります

    • ignore_max_connectionstrue を指定するとセッション単位での最大同時接続数制限を無視して接続を許可します

  • [ADD] コネクションログ connection.jsonlignore_max_connections を追加しました

    • ignore_max_connectionstrue の場合、セッション単位の最大同時接続数制限を無視して接続が許可されたことを示します

© Copyright 2025, Shiguredo Inc Created using Sphinx 8.2.3