特長・機能

片方向の配信

1 : 多の片方向配信
Sora では、1:多の大規模な配信が可能です。最大で 1:300 程度までの配信を想定しており、例えば学校や塾の授業、企業のセミナーや研修などで利用できます。
P2P の場合は、配信者自身が視聴者に対して映像や音声を配信するため、視聴者が増えるごとに配信者の端末や回線に負荷がかかり、視聴者の数は多くても 10 人程度までが現実的です。

WebRTC SFU は同じ WebRTC でも、音声や映像を「サーバ (SFU) 経由」で行う技術であり、サーバ (SFU)、すなわち Sora が、配信者に代わって映像や音声を複数の視聴者に配信してくれる仕組みです。そのため視聴者が増えても配信者の通信相手は Sora のみであり、使用する端末や回線に高い負荷がかかることなく一度に多くの視聴者へ映像や音声をリアルタイムに配信することができます。

双方向の配信

Sora では、1:1 の双方向配信や、多:多の双方向配信が可能です。

1 : 1 の双方向配信
映像付きのカスタマーサポートを提供するコールセンターや、遠隔地の医師と患者をつないで行う医療相談や遠隔診療などに利用できます。
多 : 多の双方向配信
「本社」「支社」「在宅勤務の社員」など、複数拠点をつないで行う会議に利用できます。
(最大で 12 名程度までを想定しています。)
多 : 多の双方向配信 + 視聴のみ
複数拠点をつないでパネルディスカッションを行う場合、「配信も視聴もできるパネラー」と「視聴のみできる参加者」を組み合わせることも可能です。

スポットライト機能

※ この機能はプレビュー機能として提供中です。
※ この機能は、Chrome、Firefox のみで利用可能です。

この機能は、おもに大人数で行われる会議での利用を想定したものです。Sora では大人数が参加している会議であっても、参加者全員の映像と音声を配信するのではなく、発言している参加者のみの映像と音声を配信することが可能です。
大勢の中から発言者を目立たせるためにスポットライトを当てるイメージから、この機能名を付けています。この仕組みは、参加者が発する声や音が一定の音量を超えたことを検知して実現しています。
このスポットライト機能により、例えば 100 人で会議をしていても、常に直近で発言した参加者 5 名だけの映像と音声を配信するといったことができ、全員の映像と音声を配信する場合に比べて、参加者の端末や Sora を搭載するサーバの負荷を減らします。

この機能は実際の挙動を一台の端末で確認することが難しいため、Sora のデモ機能では、一台の端末で擬似的に複数の参加者が発言している様子を再現できるようになっています。
以下は、実際に Sora のデモ機能を使ってスポットライト機能を確認している動画です。
  • 4 つの画面は、4 名の参加者それぞれの画面です。
  • 各画面とも、自分自身の映像 (色) が一番上に表示され、その下の 2 つのボックスには直近で発言した参加者 2 名の映像 (色) が表示されます。
  • 音声ボリュームを右にスライドする操作は、その参加者が発言していることを示し、直近で発言した参加者の映像 (色) は、他の参加者に配信されている様子が分かります。

スポットライト機能に関する API
発言者のみの映像と音声を配信するだけではなく、必要に合わせて以下の動きを実現するための API を提供しています。
  • 強制スポットライト
    発言する・しないにかかわらず、指定した参加者の映像と音声を強制的に配信するための API です。
    例えば会議の冒頭で参加者を紹介するような場合に、その対象者が発言していなくても一時的に映像を配信するといった使い方が可能です。
    指定した参加者の映像を配信している間に別の参加者が発言した場合は、その発言者の映像と音声が配信されます。
  • 常時固定スポットライト
    発言する・しないにかかわらず、指定した参加者の映像と音声を常に配信するための API です。
    例えば会議の司会進行役は発言していなくても常に映像を配信する、といった使い方が可能です。
  • スポットライト解除
    常時固定で配信するように指定していた参加者のスポットライトを解除するための API です。
  • チャネルビットレート低下
    チャネルのビットレートを一括で下げます。画面共有などを利用する際にクライアントの負荷を下げるための API です
  • チャネルビットレートリセット
    一括で下げたビットレートを元に戻すための API です。

録画 / 録音機能

Sora では、配信している映像や音声を録画・録音して保存することが可能です。配信されている映像を変換することなくそのまま保存するため、サーバへの負荷が掛かることがなく、また録画した直後にすぐにブラウザで確認することができます。生成される録画ファイルは WebM 形式です。録画や録音は P2P では難しく、SFU という中継サーバならではの機能です。

シグナリング / TURN 機能

Sora は、シグナリング 機能を内蔵しています。これから配信を行う端末は、視聴する端末と直接通信するのではなく、Sora のみと通信を行えばよいため、経路の確立でつまづくことがありません。Sora のシグナリングは WebSocket を使用します。

Sora は、TURN 機能を内蔵しています。そのため WebRTC による通信が NAT を越えられない環境でも、TURN サーバを別に用意していただく必要がありません。TURN 機能が不要な場合は、設定で無効にすることも可能です。

クライアントSDKの提供

Sora では、専用の SDK をオープンソースライセンス Apache License 2.0 として公開しています。
Sora の SDK は、WebRTC の複雑な接続処理を肩代わりする API を提供し、Sora サーバーを利用するアプリケーションを最小限のソースコードで実装できます。各 SDK ともに最新の WebRTC に追従しています。詳細はそれぞれの URL をご確認ください。

※ SDK は Sora のサポート対象外です。現在は有料のサポートも提供しておりません。

JavaScript SDK
iOS SDK
Android SDK
React Native WebRTC ライブラリ

アプリケーション連携

WebRTC を使ってサービスを提供する事業者にとって、配信者や視聴者を認証したり、利用時間を制限したりといった管理は必要不可欠です。
Sora は、アプリケーションと連携するためのウェブフックを提供し、認証や接続・切断などの判断をアプリケーション側に任せる仕組みを採用しています。

認証ウェブフック
Sora 自体は認証機能を持っていません。その代わり、外部のシステムに認証の可否を問い合わせるための認証ウェブフックを用意しています。
イベントウェブフック
Sora は、外部のシステムにシグナリングの接続や切断、録画の開始や終了といった様々なイベントを通知するためのイベントウェブフックを用意しています。
たとえば、30 分以上接続しているクライアントは通信を切断するといったことも、イベントウェブフックを利用すれば実現できます。

メーカーサポート

Sora の大きな強みは、時雨堂がゼロからフルスクラッチで開発しているからこそ実現できる迅速で確実なサポートです。「導入事例」でご紹介している多くのお客様からも、Sora の導入を決めた理由の一つとして高い評価をいただいています。

最新情報への追従
目には見えにくい部分ですが、WebRTC を使ったサービスを安定して提供し続けて行くには、Chrome や Firefox、Safari といったブラウザのアップデート情報をいち早くキャッチし、迅速に対応することが極めて重要です。
Sora では常にブラウザの更新情報に注目し、製品のバージョンアップや適切なサポートサービスに反映させています。
バージョンアップ
Sora のライセンスを提供しているお客様には無料でバージョンアップのご案内をしています。
  • 機能追加や改善などのアップデートは 2 ヶ月に 1 度のタイミングを目標に行っています。
  • 動作に問題のある場合のアップデートは、都度必要なタイミングで行っています。

その他の特長

外部ツールとの連携
Sora の RTP 転送 API を使用することで、WebRTC で配信されている映像や音声の RTP パケットを転送できます。
この転送されてきた RTP パケットを利用することで、例えば、FFmpeg のような外部のツールで RTP パケットを受信して、HLS や RTMP 等での配信に使用することが可能です。
再送制御
Sora では映像の遅延や欠落に対して、きめ細かな再送制御ロジックを組み合わせて実行します。
これにより、回線が安定な場合に遅延の少ない配信を実現することはもちろん、回線が不安定な場合にも、映像の送受信を円滑に行い、快適なコミュニケーションを実現します。
前方誤り訂正
Sora では映像の重要なフレームの欠落に対して、前方誤り訂正を利用し、再送をすることなく欠落を回復します。
これにより、回線が不安定な場合でも映像を安定的に配信することを実現しています。