リリースノート¶
- 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_*でsora.confの設定を上書きできる機能を追加しました実験的機能として、クライアントから Sora の一部の HTTP API を DataChannel 経由で呼び出すことができる RPC 機能 を追加しました
実験的機能として、視聴側の環境に合わせてサイマルキャストのストリームを自動で切り替える機能を追加しました
実験的機能として、ノード単位での最大同時接続数制限機能を追加しました
実験的機能として、認証ウェブフックで録画を開始する機能を追加しました
正式版¶
今回のリリースで以下の機能が実験的機能から正式版になりました。
破壊的変更¶
マルチストリームにおける映像ビットレート自動シェアリング機能のデフォルト設定を 無効 に変更しました
もしビットレート自動シェアリング機能を有効にしたい場合は
sora.confの multistream_auto_sharing_video_bit_rate をtrueに設定してください
録画機能(セッション単位)のデフォルト出力フォーマットを MP4 に変更しました
sora.confのdefault_recording_formatのデフォルト値をwebmからmp4に変更しました
sora.confに テスト API を利用するかどうかを指定する test_api を追加して、デフォルト無効にしました利用する場合は test_api を
trueに設定してください
廃止機能¶
レガシー録画関連 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] マルチストリームにおける映像ビットレート自動シェアリング機能 をデフォルト無効にしました
もしビットレート自動シェアリング機能を有効にしたい場合は multistream_auto_sharing_video_bit_rate を
trueに設定してください
[CHANGE]
sora.confに テスト API を利用するかどうかを指定する test_api を追加し、デフォルトはテスト API を無効にしましたテスト API を利用する場合は test_api を
trueに設定してください
[CHANGE] レガシー録画機能を廃止しました
レガシー録画機能廃止に伴い
sora.confのlegacy_recordingを廃止しました
[CHANGE] コネクションログの
e2eeを廃止しましたE2EE 機能は 2024.2.0 で廃止されており、ログに出力しても意味がないため廃止しました
認証ウェブフックの
e2ee項目は削除しておりません
[CHANGE] コネクションログの
simulcastの出力条件を変更しましたサイマルキャストが有効でかつスポットライトが無効で、ロールが
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が付与されていない問題を修正しました[FIX] サイマルキャストで特定の
ridストリームが復帰した際に、最初のキーフレームの SRTP 復号をスキップしてしまう問題を修正しました[FIX] スポットライト機能利用時に
spotlight_numberを超える数のフォーカスが同時に当たり、かつ、次のアンフォーカスイベント発生まで、同時フォーカスが維持され続ける問題を修正しました[FIX] スポットライト機能利用時に default_spotlight_focus_min_interval の値より default_spotlight_auto_unfocus_interval の値が短い場合に default_spotlight_auto_unfocus_interval が優先される問題を修正しました
[FIX] サイマルキャスト機能利用時に、認証成功時の払い出しで
simulcast_ridを指定しても無視されてしまう問題を修正しました
role が recvonly の場合の codec_type や bit_rate などの指定を無視する変更¶
マルチストリーム機能のみの提供になっても、
Sora 2025.1.0 で廃止したレガシーストリームとの互換性を維持するために、
role が recvonly の場合でもシグナリングや認証成功時の払い出しで、
codec_type や bit_rate などの指定ができていました。
Sora 2025.2.0 からは、下記のように codec_type や bit_rate などを指定したとしても無視する仕様に変更しました。
[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 の一部の HTTP API をデータチャネル経由で呼び出すことができる RPC 機能を追加しました。 この機能を利用するにはデータチャネルシグナリングを有効にする必要があります。
[ADD]
sora.confに RPC 機能を指定する 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 です
channel_idとconnection_idは省略することができます
[ADD] メタデータ拡張機能の PutSignalingNotifyMetadataItem API を RPC 機能で利用できるようになりました
メソッド名は 2025.2.0/PutSignalingNotifyMetadataItem です
channel_idとconnection_idは省略することができます
[ADD] サイマルキャスト機能の RequestSimulcastRid API を RPC 機能で利用できるようになりました
メソッド名は 2025.2.0/RequestSimulcastRid です
channel_idとreceiver_connection_idは省略することができます
[ADD] スポットライト機能の RequestSpotlightRid API を RPC 機能で利用できるようになりました
メソッド名は 2025.2.0/RequestSpotlightRid です
channel_idとrecv_connection_idは省略することができます
[ADD] スポットライト機能の ResetSpotlightRid API を RPC 機能で利用できるようになりました
メソッド名は 2025.2.0/ResetSpotlightRid です
channel_idとrecv_connection_idは省略することができます
詳細は RPC 機能 をご確認ください。
セッション単位でのクライアント ID 重複時の既存接続の追い出し機能¶
これは実験的機能です
[ADD] クライアント ID 重複時の既存接続の追い出し機能が有効になっているセッションにおいて、追い出される対象の既存のコネクションが存在する場合に、そのクライアントの
ice_connection_stateを認証ウェブフックに含めるようになりましたシグナリング接続時に、その接続と重複した
client_idが指定されている追い出し対象のコネクションがすでに存在する場合にのみice_connection_stateが含まれます
サイマルキャスト新機能追加に関する設定項目名と API 名の変更¶
Sora 2025.2.0 から rid に none を設定できるようになりました。これに伴い sora.conf の設定や、接続時、認証成功時の払い出し項目、API の名前をよりわかりやすくしたものを追加しました。
Sora 2025.2.0 より前の古い設定項目名や 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 にて廃止予定です
send_connection_idをsender_connection_idへ変更していますrecv_connection_idをreceiver_connection_idへ変更しています
[ADD] サイマルキャスト視聴側がどの rid を視聴するかのデフォルトを指定する
sora.confの default_simulcast_request_rid を追加しましたデフォルトは
r0ですsimulcastがtrueの場合にのみ有効です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.2.0/RequestSimulcastRidで利用できるridを指定するsimulcast_rpc_ridsを追加しましたデフォルトは未指定で、どれも指定できません
simulcastがtrueの場合にのみ有効です"simulcast_rpc_rids": ["none", "r0", "r1"]のように指定します
サイマルキャスト機能利用時の視聴環境に合わせたストリーム自動切り替え機能¶
これは実験的機能です
実験的機能として、サイマルキャスト機能に Sora 側で視聴環境に合わせてストリームを自動で切り替える仕組みを追加しました。
例えば、 rid が r2 のストリームが高ビットレート、 r1 のストリームが低ビットレートの場合、視聴環境が悪化した場合に Sora が自動で r2 から r1 に切り替えます。
重要
simulcast_auto_rids が指定された場合、 Sora 2025.2.0 ではまだ 視聴環境が悪化した場合に、ビットレートが低い映像に自動的に下げる機能 のみになります。 視聴環境が改善した場合にビットレートが高い映像に自動的に上げる機能 は 2026 年リリース予定の Sora にて対応予定です。
[ADD]
sora.confにサイマルキャスト機能利用時に、視聴環境に合わせて Sora が自動で配信するridストリームを切り替える default_simulcast_auto_rids を追加しましたデフォルトは未指定で、自動では切り替わりません
default_simulcast_auto_rids はサイマルキャストが有効な場合のみ利用できます
default_simulcast_auto_rids = r0, r1のように複数指定することができます指定した
ridの中で視聴環境に合わせて Sora が自動で切り替えます
[ADD] 認証成功時の払い出しに、サイマルキャスト利用時に、視聴側の環境に合わせて配信する
ridストリームを Sora が自動で切り替える simulcast_auto_rids の払い出し を追加しましたデフォルトは default_simulcast_auto_rids の値です
simulcast_auto_rids の払い出し を払い出す場合は同時に
simulcastをtrueで払い出す必要がありますridsには["r0", "r1"]のように複数指定できます指定した
ridの中で視聴環境に合わせて Sora が自動で切り替えます空リスト
[]で指定した場合は自動で切り替わらなくなります
[ADD] サイマルキャスト機能利用時に視聴側の環境に合わせて Sora が自動で配信する
ridストリームを切り替えるように変更できる ChangeSimulcastAuto API を追加しましたデフォルトは default_simulcast_auto_rids の値です
ChangeSimulcastAuto API はサイマルキャストが有効な場合のみ利用できます
ridsには["r0", "r1"]のように複数指定できます指定した
ridの中で視聴環境に合わせて Sora が自動で切り替えます空リスト
[]を指定した場合、自動切り替えは無効になります
[ADD]
sora.confにサイマルキャスト機能利用時にsimulcast_auto_ridsを指定した際、自動で切り替わる最小の間隔を秒数で指定します simulcast_auto_min_switch_interval を追加しましたデフォルトは
5 sです範囲は
1..300 sです
[ADD] 統計情報にサイマルキャスト機能利用時に視聴環境に自動で切り替わる
simulcast_autoを追加しましたtarget_sender_countサイマルキャスト rid 切り替えの対象となった送信ストリーム数
total_switchedサイマルキャスト rid が自動で切り替わった回数
total_up_trend帯域推定が上昇傾向だった際に切り替えをスキップした回数
total_history_not_ready履歴サイズが十分でないために切り替えをスキップした回数の累計値
サイマルキャスト機能利用時の rid 切り替わり時のシグナリング通知機能¶
これは実験的機能です
今まで視聴側で simulcast の rid が切り替わったことを知る手段がありませんでした。
今回、サイマルキャストの rid が切り替わった際にシグナリング通知が送信される機能を追加しました。
[ADD] サイマルキャスト機能で rid が切り替わった際に送信するシグナリング通知
simulcast.switchedを追加しました[ADD]
sora.confにサイマルキャストの rid が切り替わった際にシグナリング通知を送信するかどうかを指定する signaling_notify_simulcast_switched を追加しましたデフォルトは
trueです
{
"type": "notify",
"timestamp": "string",
"event_type": "simulcast.switched",
"sender_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の場合、セッション単位の最大同時接続数制限を無視して接続が許可されたことを示します