リリースノート¶
- 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.confのdefault_recording_formatのデフォルト値をwebmからmp4に変更しました
廃止機能¶
レガシー録画関連 API を廃止しました
StartRecording API を廃止しました
StopRecording API を廃止しました
GetStartedRecording API を廃止しました
ListStartedRecording API を廃止しました
ListArchiving API を廃止しました
RTP ストリーム停止/再開 関連 API を廃止しました
PauseRtpStream API を廃止しました
ResumeRtpStream API を廃止しました
ListPauseRtpStreams API を廃止しました
sora.confのturnを廃止し、 TURN 機能 を無効化することができなくなりましたsora.confのwhip_turnを廃止し、 WHIP 機能 の TURN のサポートを無効化することができなくなりましたsora.confのwhep_turnを廃止し、 WHEP 機能 の TURN のサポートを無効化することができなくなりましたsora.confのice_connection_state_disconnected_timeoutを廃止しました今後は default_ice_connection_state_disconnected_timeout をご利用ください
sora.confのice_connection_state_failed_timeoutを廃止しました今後は default_ice_connection_state_failed_timeout をご利用ください
sora.confのav1を廃止し、 AV1 のサポートを無効化することができなくなりましたsora.confのh265を廃止し、 H.265 のサポートを無効化することができなくなりましたsora.confのdevtoolsを廃止し、組み込みの開発ツールが利用できなくなりました開発ツールを利用する場合は NGINX のリバースプロキシやホスティングを利用してください
詳細は 開発ツール をご覧ください
sora.confのlegacy_signaling_notify_network_statusを廃止しましたsora.confのsignaling_forwarding_filterを廃止しました
変更履歴¶
[CHANGE] コネクションログの
simuclast_encodingsの出力条件を変更しましたサイマルキャストが有効でかつスポットライトが無効で、ロールが
sendonlyまたはsendrecvの場合に出力されるようになりました
[CHANGE] コネクションログの
spotlight_encodingsの出力条件を変更しましたサイマルキャストが無効でかつスポットライトが有効で、ロールが
sendonlyまたはsendrecvの場合に出力されるようになりました
[CHANGE] シグナリングメッセージの
"type": "re-answer"の受信待ち受け時間を 30 秒に制限しました
[ADD] スポットライトシグナリング通知を送るかどうかを
sora.confのsignaling_notify_spotlightで指定できるようになりましたデフォルトは
trueですfalseに設定するとスポットライトシグナリング通知spotlight.{focused, unfocused}が送信されなくなります
[ADD] コネクションログの項目を追加しました
id: コネクションログのユニーク IDversion: Sora のバージョンlabel: Sora のラベルnode_name: Sora のノード名
[FIX]
セッション単位での最大同時接続数制限機能とセッション単位でのクライアント ID 重複時の既存接続の追い出し機能を同時に有効にした場合に、最大同時接続数に達している状態で追い出しが発生した際、追い出しは成功するが最大同時接続数制限により接続が失敗する問題を修正しました[FIX] 音声の SDP に
a=rtcp-fbのtransport-ccが付与されていない問題を修正しました
role が recvonly 時の codec_type や bit_rate などの指定の無視¶
Sora 2025.1.0 で廃止したレガシーストリームと互換性を維持するため、
マルチストリームになっても role が recvonly でもシグナリングや認証成功時の払い出しで、
codec_type や bit_rate などの指定ができていましたが、
Sora 2025.2.0 からは指定したとしても無視する仕様に変更しました。
[CHANGE]
roleがrecvonlyの場合、シグナリングや認証成功時に以下の指定が無視されるようになりましたaudioのcodec_type、bit_rate、opus_paramsvideoのcodec_type、bit_rate、simulcast、vp9_params、av1_params、h264_params、h265_params
[CHANGE]
roleがrecvonlyの場合、connection ログに以下の情報が出力されなくなりましたaudioのcodec_type、bit_rate、opus_paramsvideoのcodec_type、bit_rate、simulcast、vp9_params、av1_params、h264_params、h265_params
環境変数による sora.conf の設定上書き機能¶
環境変数にて SORA_<設定項目名> を指定することで sora.conf の設定を上書きできる機能を追加しました。
例えば SORA_DEFAULT_VIDEO_BIT_RATE=500 という環境変数を指定することで sora.conf の default_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.jsonlにrpc_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 では rid に none を指定することはできません。
ResetRtpStream API については活用場所が難しく、 RequestSimulcastRid で代替できることから 2026 年 12 月にて廃止することにしました。
[CHANGE] ResetRtpStream API を非推奨にしました
今後は RequestSimulcastRid API をご利用ください
[ADD]
ridの切り替えをリクエストする RequestSimulcastRid API を追加しましたridはr0、r1、r2に加えてnoneが指定できるようになりましたRequestRtpStream API は 2027 年 12 月リリース予定の Sora にて廃止予定です
[ADD] サイマルキャスト視聴側がどの rid を視聴するかのデフォルトを指定する
sora.confの default_simulcast_request_rid を追加しましたデフォルトは
r0ですsora.confの default_simulcast_rid は 2027 年 12 月リリース予定の Sora にて廃止予定です
[ADD] シグナリング接続時に視聴するストリームの rid を指定する
simulcast_request_ridを追加しましたsimulcast_request_ridにはnone、r0、r1、r2、 を指定できますsimulcast_request_ridはroleがsendrecvまたはrecvonlyの場合にのみ有効ですsimulcastがtrueの場合にのみ有効ですシグナリング接続時の
simulcast_ridは 2027 年 12 月リリース予定の Sora にて廃止予定です
[ADD] 認証成功時の払い出しにて視聴するストリームの rid を指定する
simulcast_request_ridを追加しましたsimulcast_request_ridにはnone、r0、r1、r2を指定できますsimulcast_request_ridはroleがsendrecvまたはrecvonlyの場合にのみ有効ですsimulcastがtrueの場合にのみ有効です認証成功時の
simulcast_ridは 2027 年 12 月リリース予定の Sora にて廃止予定です
[ADD] 認証成功時の払い出しにて RPC 機能経由で
2025.1.0/RequestSimulcastRidのridやauto_ridsで利用できるridを指定するsimulcast_rpc_ridsを追加しましたデフォルトは未指定で、どれも指定できません
simulcastがtrueの場合にのみ有効です"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 が自動で切り替えますsimulcastがtrueの場合にのみ有効です
[ADD] 認証成功時の払い出しにて、視聴環境に合わせて Sora が自動でストリームを切り替える authz_simulcast_auto_rids を追加しました
デフォルトは default_simulcast_auto_rids の値です
simulcastがtrueの場合にのみ有効ですautoを指定した場合、視聴側の環境に合わせてridが自動で切り替わるようになります
[ADD] 視聴側の環境に合わせて配信するストリームを切り替える用に変更できる ChangeSimulcastAuto API を追加しました
ridsには["r0", "r1"]のように複数指定できます[]を指定した場合、自動切り替えは無効になります
[ADD] 認証成功時の払い出しにて
simulcast_auto_ridsで利用できるridを指定することができますデフォルトは未指定です
simulcastがtrueの場合にのみ有効です"simulcast_auto_rids": ["r0", "r1"]のように指定しますこの場合
simulcast_auto_switchedが有効な場合に Sora が選択できるridはnone、r0、r1のみになります
[ADD]
sora.confにsimulcast_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を追加しましたrecordingにtrueを指定すると録画が既に開始されていない場合は録画を開始しますrecordingにfalseを指定した場合は無視します
[ADD] 認証ウェブフックの戻りに
recordingがtrueを指定した際に利用できる録画用の項目を追加しましたrecording_expire_timerecording_split_onlyrecording_split_durationrecording_metadatarecording_formatこれらの設定の詳細については 認証ウェブフック をご確認ください。
ノード単位での最大同時接続数制限機能¶
これは実験的機能です
Sora は今までノード単位の同時接続数はライセンスでのみ制限をしていましたが、 低スペックのインスタンスを一時的に利用する際、ノード単位での最大同時接続数を制限したいという要望がありました。
今回 sora.conf にてノード単位での接続数を制限する仕組みを追加しました。この機能を利用することでライセンスでは 300 同時接続まで許可されているが、ノード単位で 100 同時接続までに制限するといった運用が可能になります。
[ADD]
sora.confにノード単位での最大同時接続数を制限するmax_connectionsを追加しましたデフォルトは未指定で無制限です
0 から 10000 までの値を指定できます
この値をチェックする前にライセンスによる最大同時接続数をチェックします
セッション単位での最大同時接続数を無視する機能¶
これは実験的機能です
セッション作成時の max_connections にてセッション単位の最大同時接続数を制限できますが、
特定のクライアントは制限を無視して接続を許可したい場合があります。
今回、認証成功時の払い出しでセッション単位の最大同時接続数を無視して接続を許可する仕組みを追加しました。
[ADD] 認証成功時の払い出しにて
ignore_max_connectionsを指定できるようになりましたセッション単位の最大同時接続数制限が指定されている場合に有効になります
ignore_max_connectionsにtrueを指定するとセッション単位での最大同時接続数制限を無視して接続を許可します
[ADD] コネクションログ
connection.jsonlにignore_max_connectionsを追加しましたignore_max_connectionsがtrueの場合、セッション単位の最大同時接続数制限を無視して接続が許可されたことを示します