2024.2.x から 2025.1.x への移行¶
概要¶
2024.2.x から 2025.1.x への移行について変更点や注意点をまとめています。
もし不明点がある場合はサポートまでお問い合わせください。
Chrome 137 以降の WebRTC の仕様変更に伴う影響¶
Google Chrome 137 の仕様変更により、 以下の条件を全て満たす場合に、映像が受信できなくなる問題が発生しておりました。
1 チャネルで 3 接続以上ある
1 チャネルで 2 種類以上の映像コーデックを利用している
異なる映像コーデックを送信するクライアント(ロールが sendrecv または sendonly)が 2 接続以上いる
Sora 2025.1.0 では、上記の条件を満たす場合でも映像が受信できるように対応しましたので設定は特に不要です。
帯域推定機能の導入による画質への影響について¶
これまでは回線が不安定になった場合、クライアント側の帯域推定にのみ依存していましたが、 帯域推定機能の導入により、サーバー側でも帯域推定を行えるようになり、 より適切なビットレートを選択できるようになりました。 そのため、回線が不安定な際には、配信される映像の画質がこれまでより低く感じられる場合があります。
これは、これまで適切なビットレートを選択できておらず、 回線状況に対して過剰なビットレートで映像配信を行い、結果的により不安定になっていたためです。
今回の変更により、回線状況に応じた適切なビットレートで配信されるようになり、 結果として、より安定した映像配信が実現できるようになりました。
レガシーストリーム機能を廃止しました¶
シグナリング接続時に "multistream": false
を指定して接続した場合、バリデーションエラーになります。
詳細は レガシーストリーム(非マルチストリーム)機能からマルチストリームへの移行 をご確認ください。
multistream 項目の廃止¶
レガシーストリーム廃止に伴い、 multistream
項目をウェブフック、ログ、API から削除しました。
session.vanished ウェブフックを廃止しました¶
Sora Exporter を利用することで、より柔軟なセッションの監視ができることから、
session.vanished
ウェブフックを廃止しました。
移行に際する不明点などはサポートまでお問い合わせください。
legacy_signaling_error の廃止¶
2024.1.x までのシグナリングエラー時のログ出力先やウェブフック connection.failed の通知タイミングを維持する legacy_signaling_error
を廃止しました。
今後は以下の挙動になります。
シグナリング時のエラーが
sora.jsonl
に出力されませんシグナリング時のエラーが
signaling_error.jsonl
に出力されます認証失敗時のエラーが
sora.jsonl
に出力されません認証失敗時のエラーが
signaling_error.jsonl
に出力されますイベントウェブフック connection.failed が認証失敗時には通知されません
イベントウェブフック connection.failed が認証成功後に接続に失敗した時のみ通知されます
認証失敗時のエラーログの出力¶
認証失敗時のログを sora.jsonl
から signaling_error.jsonl
に出力します。
認証失敗時のエラーはシグナリングエラーと同等として扱います。
sora.jsonl
に ERROR
で出力されるシグナリング失敗のエラーメッセージは connection.created 以降に変更します。
イベントウェブフック connection.failed の挙動¶
connection.failed はシグナリング時にエラーが発生した場合通知する仕組みでしたが、 今後は認証が成功した後に接続が失敗した場合のみ通知されます。
これにより、認証が失敗した場合には connection.failed ウェブフックは通知されません。
WHIP/WHEP 時のリソース URL をセッション URL に変更しました¶
WHIP の RFC 9725 化に伴い WHIP/WHEP 時のリソース URL をセッション URL に変更しました。
/whip-session/:channel_id/:secret/
を追加しました/whep-session/:channel_id/:secret/
を追加しました/whip-resource/:channel_id/:secret/
を非推奨にしました/whep-resource/:channel_id/:secret/
を非推奨にしました2025 年 12 月リリース予定の Sora にて
/whip-resource/:channel_id/:secret/
は廃止します2025 年 12 月リリース予定の Sora にて
/whep-resource/:channel_id/:secret/
は廃止します
NGINX の設定変更¶
NGINX を利用している場合は Sora 2025.1.0 デプロイ時に location
の設定を resource
から session
に変更してください。
location ~ ^/(whip|whip-session|whep|whep-session)/ {
# ...
}
クラスター利用時のローリングアップデート¶
クラスター機能を利用している場合、
Sora 2025.1.0 へローリングアップデートを行う前に whip-session
と whep-session
を許可するようにしてください。
location ~ ^/(whip|whip-resource|whip-session|whep|whep-resource|whep-session)/ {
# ...
}
ローリングアップデートが完了した後、 whip-resource
と whep-resource
を削除してください。
location ~ ^/(whip|whip-session|whep|whep-session)/ {
# ...
}
ネットワーク状態のシグナリング通知機能の変更¶
実験的機能として 2019 年から提供していた、シグナリング経由でのネットワーク状態通知機能を変更しました。
2019 年にリリースした当時は、クライアント側で情報を得ることがほとんどできず、 Sora 側から配信側へ送っている再送要求の頻度を送ることで、 簡易的ではありますが、配信側がどの程度不安定なのかを通知する仕組みとして提供してきました。
しかし、現在はクライアント側で多くの統計情報が取得できるため、形骸化している機能でした。
今回 Sora に帯域推定機能を実装したことにより、 Sora が把握した帯域推定の情報を視聴側に返すようにしました。 この機能はデフォルトで有効になっています。
これにより、視聴側はより詳細なネットワーク状況を知ることができるようになりました。 今回の変更により、送信のみへの通知は行われなくなりますのでご注意ください。
変更に伴うレガシー設定の非推奨と廃止¶
機能変更に伴い、今までの簡易的な不安定度の通知機能の役目は終えたと判断し、 2025 年 6 月リリースの Sora にて非推奨とし、2025 年 12 月リリース予定の Sora にて廃止します。
レガシーなネットワーク状態のシグナリング通知機能はデフォルトで無効になっていますので、
利用される場合は legacy_signaling_notify_network_status を true
にしてください。
ICE コネクションステート機能のタイムアウトを認証成功時に指定できるようにしました¶
ICE コネクションステート機能のタイムアウト値を認証成功時に指定できるようにしました。
認証成功時に ice_connection_state_disconnected_timeout
と ice_connection_state_failed_timeout
を払い出せるようになりました。
authz_ice_connection_state_disconnected_timeout
authz_ice_connection_state_failed_timeout
ICE コネクションステート機能のタイムアウト値の古い設定を非推奨にしました¶
ICE コネクションステート機能のタイムアウトの値を認証成功時に払い出せる仕組みを追加したため、
sora.conf
の ice_connection_state_disconnected_timeout と ice_connection_state_failed_timeout を非推奨にし、
あらたに default_ice_connection_state_disconnected_timeout と default_ice_connection_state_failed_timeout を追加しました。
2025 年 6 月リリースの Sora にて
sora.conf
の ice_connection_state_disconnected_timeout と ice_connection_state_failed_timeout を非推奨にしました2025 年 12 月リリース予定の Sora にて
sora.conf
の ice_connection_state_disconnected_timeout と ice_connection_state_failed_timeout を廃止します
組み込み TURN 機能無効の設定を非推奨にしました¶
組み込み TURN 機能は 2016 年 6 月にリリースされ、長年安定して動作してきたため、 組み込み TURN 機能を無効にする設定を非推奨にし、無効にする設定を 2025 年 12 月リリース予定の Sora にて廃止します。
WHIP/WHEP の TURN 機能をデフォルトで有効にしました¶
2024 年 7 月リリースの OBS 30.2 で WHIP の TURN に対応したため、 WHIP/WHEP の TURN をデフォルトで有効にしました。
注釈
WHEP はまだ OBS にマージされていません。
WHIP/WHEP の TURN 機能を無効にする設定を非推奨にしました¶
WHIP/WHEP の TURN 機能をデフォルトで有効にしたため、無効にする設定を非推奨にしました。
2025 年 6 月リリースの Sora にて WHIP/WHEP の TURN を無効にする whip_turn を
false
にする設定を非推奨にしました2025 年 12 月リリース予定の Sora にて WHIP/WHEP の TURN 機能の設定を廃止し、WHIP/WHEP の TURN を無効にすることができなくなります
注釈
今後、TURN の仕組みを実装していないクライアント向けに、シグナリングの query-string に turn=false
を追加することで、TURN を無効にすることができるようにすることを検討しています。
メディア配信ワーカー自動スケール対応¶
メディア配信ワーカー機能は、Sora の内部で音声や映像を配信するワーカーを複数用意することで、 1 チャネルで高ビットレートの映像をより多くのクライアントに配信できるようにする機能です。
Sora 2024.2.x までは事前に配信ワーカー数を設定する仕組みでしたが、 Sora 2025.1.0 から視聴者数に応じて動的にワーカー数を変更する機能になりました。
そのため利用者がワーカー数を意識する必要がなくなりました。
2024.2.x まで指定できた media_publish_worker_number
は不要になったため廃止しました。
クラスターリレーのツリー化¶
クラスターリレー機能を利用した際に、ノード数が増えるとリレー数が増えてノード負荷が高くなる問題を解決するために、リレーをツリー構造化しました。
リレーをツリー構造化することで、ノードあたりのリレー数を削減し、ノード負荷を分散することができるようになりました。
セッションウェブフック session.created の払い出しに group_id の追加¶
セッションをグループ化する group_id
を指定できるようになりました。
session.created ウェブフックの戻り値に group_id
項目でセッションのグループ ID を含めることができます。
ListSessions API で group_id
を指定することで、指定した group_id
のセッションのみを表示できるようになりました。
主にマルチテナントで Sora を利用している際に、セッションのグループ化を目的としている機能です。
セッション単位での最大同時接続数を制限する max_connections
の追加¶
session.created の払い出しで、セッション単位での最大同時接続数を制限する max_connections
を追加しました。
トライアルでは trial_max_connections
という項目でしたが、正式版に伴い max_connections
に変更しました。
trial_max_connections
は 2025 年 12 月リリース予定の Sora にて廃止します。
詳細は max_connections を確認してください。
trial_max_connections
は 2025 年 12 月リリース予定の Sora にて廃止します。trial_max_connections
とmax_connections
を同時に指定した場合はmax_connections
が優先されますtrial_max_connections
廃止後は無視します
クラスターのローリングアップデートについて¶
2024.2.x から 2025.1.x へのローリングアップデートができます。
1 台ずつローリングアップデートを行ってください。
2024.1.x から 2025.1.x へのローリングアップデートはできません。 必ず 2024.2.x を経由してから 2025.1.x へアップデートを行ってください。