WebRTC SFU Sora 2026.1.0 リリースノート

Share

時雨堂は Sora 2026.1.0 をリリースしました。今回のアップデートでは大きめの変更は入れず、性能、安定化、セキュリティなどを中心に改善しています。

  • OBS Studio WHIP サイマルキャスト対応
  • 暗号ライブラリを AWS-LC ライブラリに変更
  • クラスター利用時の接続ノード範囲指定機能
  • クラスター利用時の負荷分散機能の強化
  • ログ出力先指定機能
  • Ubuntu 26.04 x86_64 / arm64 対応

OBS Studio WHIP サイマルキャスト対応

OBS Studio 32.1.0 の WHIP (WebRTC 配信) にサイマルキャスト機能が追加されました。これは OBS から複数の画質の映像を WebRTC SFU へ送信し、視聴者側で画質を選択できるようにする機能です。

Sora 2026.1.0 では、OBS Studio 32.1 以降で利用できる WHIP サイマルキャスト機能に対応しました。OBS Studio の WHIP サイマルキャスト機能には、RFC で定義されている WHIP やサイマルキャストの仕様とは異なる独自の仕様が含まれています。Sora の WHIP サイマルキャストは OBS Studio の WHIP サイマルキャストにのみ対応しています。

この機能を利用する場合は、OBS Studio 側でサイマルキャストの合計レイヤー数を 2 もしくは 3 にする必要があります。Sora では合計レイヤー数が 2 と 3 のみサイマルキャストで利用できます。4 には現時点では対応していませんのでご注意ください。

暗号ライブラリを AWS-LC ライブラリに変更

今回のアップデートで、暗号ライブラリを今まで採用していた OpenSSL から 新しく Amazon Web Services が公開している AWS-LC に切り替えました。

AWS-LC は OpenSSL と比較して、安全面や性能面で優位性があります。特に AWS の Graviton (arm64) 向けの最適化が入っているのが特徴です。

クラスター利用時の接続ノード範囲指定機能

Sora のクラスター機能を利用する場合に、接続するノードの範囲を指定できるようになりました。接続先のノード範囲を指定することで、利用する IP アドレスを制限したい場合にも対応できるようになります。

仕組みはいたってシンプルです。認証ウェブフック成功時に、アプリケーション側から払い出したノード名の一覧を Sora に返し、クライアントをその一覧に含まれるノードへ再接続させます。これにより、接続単位で「どのノードへ接続するか」を指定できるようになりました。

クラスター利用時の負荷分散機能の強化

Sora のクラスター機能は、複数台の Sora のうち、どの Sora に接続しても同じチャネルに参加できる機能です。今回、クラスター機能の負荷分散部分を強化し、突発的なスパイクや障害時にも、より適切に負荷を分散できるようになりました。これにより、より安定的な運用が可能になりました。

クラスター機能を利用すれば、比較的安価で低スペックなインスタンスをたくさん並べた構成を取れるため、耐障害性の向上とあわせてコストダウンも実現できます。

ログ出力先指定機能

ログの出力先を指定したいという要望に対応しました。sora.conf の log_dir で指定できるようになりました。

Ubuntu 26.04 x86_64 / arm64 対応

2026 年 4 月に Ubuntu 26.04 がリリースされたことに伴い、 Ubuntu 26.04 版パッケージの提供を開始しました。


10 年目

WebRTC SFU Sora は今年で 10 年目を迎えました。最初はマルチストリームもなく、片方向の配信だけでしたが、今ではクラスター機能を利用することで大規模な双方向配信もできるようになりました。

今後もよりよい品質、性能、セキュリティを追求しつつ、使いやすい製品にしていきます。

また、次のリリースでは Media over QUIC Transport への対応を実現できればと考えています。

Read more

WebRTC SFU Sora 2025.1.0 リリースノート

2025 年 6 月 25 日に WebRTC SFU Sora 2025.1.0 をリリースしました。今回はスケールアップとスケールアウトを中心に改善しました。また、アプリ側で実現するのが面倒な仕組みを Sora 側で完結できるような機能も追加しています。 スケールアップの効率化 Sora では 1 台で多くのクライアントへ配信できるよう、いわば複数のワーカーを配置して配信を少しずつ分担させるような仕組みになっています。 これまではこのワーカーの数を事前に予測して設定しておく必要がありました。そのため、予測よりも接続が大幅に少ないような場合は、本来必要のないワーカーのリソースを使ってしまうという課題がありました。 今回のリリースからは、ワーカーの数を事前に設定することなく、今現在の接続数に応じて動的にスケールする仕組みを追加しました。これにより、リソースの無駄を最小化し、効率的に運用できるようになります。 さらなるスケールアウト Sora は、分散合意アルゴリズムである Raft をベースにした分散システムとして動作します。これにより、複数台の Sora でクラスター

By voluntas

Sora Python SDK 2025.1.0 をリリースしました

時雨堂では Python から WebRTC を利用できるようにする Sora Python SDK を OSS として公開しています。今回、以下のとおり多くの機能を含んだ 2025.1.0 をリリースしました。 ハイライト * 映像コーデックプリファレンス機能を追加しました * AMD AMF を利用したハードウェアエンコーダー/デコーダーに対応しました * WebRTC Encoded Transform を利用できるようにしました * libwebrtc M132 にアップデートしました * Windows x86_64 で OpenH264 が利用可能になりました * リソース不足で映像ビットレートを下げる際、解像度とフレームレートどちらを維持するかを指定できる Degradation preference を利用できるようにしました * Python 3.13 に対応しました 映像コーデックプリファレンス機能の追加 今回一番の変更は、映像コーデックを設定できる仕組みを追加したことです。例えば H.

By voluntas

Rust の MP4 ライブラリを公開しました

先日、Rust で書いた MP4 ライブラリを OSS として Apache License 2.0 にて公開しました。 GitHub - shiguredo/mp4-rust: MP4 libraryMP4 library. Contribute to shiguredo/mp4-rust development by creating an account on GitHub.github.com 以前公開した C++ のMP4 ライブラリは、 Go で書かれた MP4 ライブラリを参考に開発しましたが、今回は MP4 関連の ISO の仕様書を購入し、しっかり仕様を読み込んで開発を行いました。 なぜ今更 MP4 ? これまで、

By voluntas

Sora Cloud を Akamai Connected Cloud へ移行しました

2024 年 8 月に、時雨堂の自社サービスである Sora Cloud を DataPacket というベアメタルクラウドサービスから Akamai Connected Cloud (以降 Linode) へ移行しました。 なぜ移行したのか 自社製品である WebRTC SFU Sora でスケールアウトが実現できるようになったためです。 Sora Cloud は時雨堂が開発しているパッケージソフトウェアである WebRTC SFU Sora (以降 Sora) のクラウド版です。 この Sora が Raft ベースの分散システムに対応し、スケールアウトを実現できるようになりました。そのため、DataPacket のベアメタルサーバーで高スペックのマシンを利用する必要がなくなり、低スペックなサーバーをたくさん並べることで、好きなだけスケールできるようになりました。 移行先の選定 条件として、転送量が安いことが第一でした。 もともと Sora Cloud は転送量や利用時間による課金ではなく、転送量に制限がないサービスとして提供したいという思いがありました。

By voluntas