FAQ

ここでは WebRTC SFU Sora に関するよくある質問についてまとめています。

WebRTC 全般

片方向配信には対応していますか?

対応しています。2021 年 6 月の時点で 1 チャネルあたり最大 1000 視聴者までの配信を推奨しています。

1 チャネルで 1000 より多い視聴者に配信を行いたい場合は sora at shiguredo.jp またはサポートまでお問い合わせ下さい。

双方向配信には対応していますか?

対応しています。WebRTC のマルチストリームという技術を利用して実現しています。

2021 年 6 月の時点で 1 チャネルに参加するクライアントは 12 までを推奨としています。

1 チャネルで 12 より多いクライアントで双方向の配信を行いたい場合は sora at shiguredo.jp またはサポートまでお問い合わせ下さい。

音声検出による映像の切り替えには対応していますか?

対応しています。Sora 独自にスポットライト機能という名前で提供しています。

この機能は多人数で会議を行う場合に、クライアントやサーバーの負荷を減らせる技術です。

100 名以上が 1 チャネルに参加することが可能です。

詳細は スポットライト機能 をご確認ください

スクリーンキャプチャ機能には対応していますか?

2021 年 6 月の時点でスクリーンキャプチャ機能はブラウザでは Chrome と Firefox と Safari と Edge が対応しています。 getDisplayMedia を利用することで可能になります。

MediaDevices.getDisplayMedia() - Web APIs | MDN

マルチストリームには対応していますか?

はい。ブラウザでは Chrome と Firefox と Safari と Edge で対応しています。

また、すべての SDK が対応しています。

マルチトラックには対応していますか?

いいえ。 Sora は 1 メディアストリームにつき 1 音声トラック、1 映像トラックまでしか対応していません。

マルチトラックへの対応は今のところ未定です。

複数の音声や映像を 1 つのコネクションを利用して送ることは可能ですか?

いいえ。 1 つのコネクションから複数ストリームを配信をすることはできません。

1 接続では 1 ストリーム (1 音声/1 映像)の配信のみが可能です。

複数の配信を行いたい場合はマルチストリームの sendonly ロールを利用して複数接続してください。

映像コーデックは何がお勧めですか?

すべてのブラウザ、さらにほぼすべての端末で動作する VP8 がお勧めです。

ただし、端末に VP8 のハードウェアアクセラレータが搭載されていることはほとんどないため、 H.264 を採用した方が電池消費量は減ります。

ただし、H.264 は一部の Android 端末で正常に動作しないことがあります。

すべての環境が Chrome や Edge に統一できる場合は VP9 をお勧めします。

H.264 や VP9 での映像配信に対応していますか?

ブラウザがそれぞれのコーデックに対応していれば、 Sora は問題なく配信できます。

2021 年 6 月の時点では ...

  • Chrome M91 は VP8, VP9, AV1, H.264に対応しています

  • Firefox 89 は VP8, VP9, H.264 に対応しています

  • Edge 91 は VP8, VP9, H.264 に対応しています

  • Safari 14.1 は VP8, H.264 に対応しています

    • Safari 14 から実験的機能として VP9 対応が追加されています

    • Safari 14 から実験的機能として H265 対応が追加されています

Sora は配信者がコーデックを選択できる仕組みを採用しています。

詳細は シグナリング をご確認ください

Safari は WebRTC に対応していますか?

はい。 Safari 12 で WebRTC に対応しました。

詳細は Apple Safari の WebRTC について をご確認ください。

Chrome や Edge では HTTPS が必須ですか?

はい。ローカルホスト以外からのアクセスでブラウザで getUserMedia を使用する場合は HTTPS が必須になります。

もし、開発中に HTTP でアクセスしたい場合は、以下を参考にしてください。

http でのアクセスでカメラの映像を取得する - Qiita

Safari では HTTPS が必須ですか?

はい。ただし、 開発者メニューから HTTP でも getUserMedia を使用できるようにするオプションが用意されています。

IE は WebRTC に対応していますか?

いいえ。 IE は WebRTC に対応していません。また対応する予定もありません。

IE で WebRTC を実現するプラグインがありますが、 Sora での動作については確認していません。

Edge は WebRTC に対応していますか?

はい。 Chrome とほぼ同等のレベルで WebRTC が利用可能です。

詳細は Microsoft Edge の WebRTC について をご確認ください。

サーバー側からクライアント毎にコーデックやビットレートを指定できますか?

可能です。 Sora からクライアントに送信する Offer に含める SDP を、クライアント毎に変更することが可能です。

詳細については audio と video パラメータの上書き をご確認ください。

コーデックが異なるクライアントでも同じチャネルで双方向通信は可能ですか?

可能です。マルチストリームを利用することで接続ごとにコーデックを指定できます。

例えば、iOS の Safari は H.264 で、デスクトップの Chrome は VP8 でも同じチャネルで双方向通信が可能です。

ただし、ブラウザが非対応の場合はもちろん送受信できませんのでご注意ください。

Firefox で複数タブで音声デバイスを利用できますか?

いいえ。 Firefox 56 から複数タブで音声デバイスを利用することができなくなりました。

Safari で音声が有効な場合、自動で視聴を開始できますか?

いいえ。 Safari の仕様で、音声が含まれている映像を自動で再生することはできません。

高いビットレートで配信することは可能ですか?

Sora では最大 50Mbps での配信を可能としていますが、 今のところは 15Mbps より大きなビットレートでの配信はサポート対象外とさせていただいています。

配信自体は可能ですが、クライアント、サーバー共に不安定になることがあるためです。

今後、高いビットレートでの配信を安定して実現できるようにしていく予定です。

4K 30FPS を実現したいのですが可能ですか?

可能です。ただしクライアント側の負荷がとても高くなります。

4K 30FPS を配信するためにはソフトウェアエンコードでの配信はほぼ不可能です。 そのため 4K 30FPS に対応したハードウェアエンコーダが必要になります。

時雨堂では WebRTC Native Client Momo という、 様々なハードウェアエンコーダに対応したクライアントをオープンソースで公開していますので、是非試してみてください。

映像をフレームレート 60 や 120 で配信することは可能ですか?

Sora は映像のフレームレートには関与しません。

フレームレートはカメラが対応していること、クライアントが対応していることが必要になります。

カメラで指定した解像度より低い解像度で配信されるのですが?

カメラ映像の解像度と WebRTC でエンコードされて配信される解像度は一致しません。

カメラから入ってくる映像を WebRTC では圧縮して配信します。WebRTC は圧縮時に CPU 使用率が高い、ネットワーク帯域不足などの状況に応じ、自動で解像度やフレームレートを落として配信できる状態にして配信します。

WebRTC DataChannel には対応していますか?

2021 年 6 月の時点では、シグナリング機能の一部として対応しており、クライアント側で DataChannel を自由に利用することはできません。

詳細は DataChannel 経由のシグナリング をご確認ください。

シグナリング

シグナリングは独自仕様ですか?

WebRTC の規格ではシグナリング部分は定義されていないため、シグナリングは独自仕様が前提になります。

Sora は JSON over WebSocket または JSON over DataChannel をシグナリングの仕様として採用しています。

Sora の SDK を利用すればシグナリングを意識する必要がありません。

シグナリングの詳細な仕様については シグナリング をご確認ください。

シグナリングに WebSocket (WS) ではなく WebSocket over TLS (WSS) を使うことは可能ですか?

getUserMedia を使用する場合、 ローカルホスト以外のアクセスは WSS を必須としています。 ただし、Sora は WS のみに対応しています。

これは、実運用を考慮して、前段にリバースプロキシサーバーを立てていることを前提としており、 リバースプロキシサーバーで TLS を終端する構成を想定しているためです。

そのため、もし WSS を使う場合は、 Nginx などのリバースプロキシサーバーを使用して TLS の終端を行ってください。

注意

Nginx の設定などについてはサポート対象外となりますので、お問い合わせはご遠慮ください

弊社では Nginx の使用を推奨しています。 詳細については Nginx をご確認ください。

クライアント単位で接続時間を知ることは可能ですか?

可能です。Sora は接続毎にタイマーを保持しており、 接続後 1 分毎に外部のアプリケーションサーバーに HTTP 経由で接続の状態を報告します。

この報告はクライアント毎に独立しており、報告にはクライアント ID やチャネル ID やアプリケーションサーバーが認証時に指定した event_metadata が含まれているため、例えば、ユーザ毎に接続から 10 分経過したら切断する等の処理が簡単に行えます。

シグナリングで利用している WebSocket や DataChannel を使ってクライアントにメッセージ送ることは可能ですか?

可能です。 プッシュ API を利用することでシグナリングで利用している WebSocket や DataChannel 経由でクライアントにメッセージを送ることができます。

クライアントがシグナリング経由で他の人の接続を通知で受け取ることは可能ですか?

同一チャネルのみに限りますが可能です。

シグナリング通知 をご確認ください。

シグナリングに DataChannel を使うことは可能ですか?

可能です。ただ WebRTC 接続確立まではかならず WebSocket を利用する必要があります。

詳細は DataChannel 経由のシグナリング をご確認ください。

認証

シグナリング時の認証は可能ですか?

可能です。ただし、Sora 自体は認証機能を持っていません。 Sora のシグナリング開始時に任意の情報をクライアントに送ることができる metadata を指定することが可能です。 これは外部のアプリケーションサーバー側で払い出して使用することができます。

認証のフローを以下に簡単に書き出しておきます。

  1. 外部のアプリケーションサーバーでアクセストークンをクライアントに払い出す

  2. そのアクセストークンを metadata に入れて Sora に接続する

  3. Sora はそのアクセストークンやコネクション ID を外部のアプリケーションサーバーに HTTP 経由で問い合わせる

  4. 外部のアプリケーションサーバーはそのアクセストークンが正しいことを確認し、 {"allowed": true} を HTTP ステータスコード 200 で Sora に返す

  5. Sora は Offer をクライアントに送る

外部の HTTP サーバーに対して問い合わせを行い、 {"allowed": true} と HTTP ステータスコード 200 が返ってきたら認証を許可します。

詳細は 認証ウェブフック をご確認ください

シグナリングの認証失敗時に失敗の理由をクライアントに返せますか?

可能です。外部のアプリケーションサーバーで Sora への認証ウェブフックの戻り値を返す場合、 {"allowed": false, "reason": "最大 100 バイトまでの文字列"} という値を返す必要があります。

この reason 部分はクライアントに通知されます。

通知

チャネルに参加中のクライアントが、別のクライアントの参加や離脱を知ることは可能ですか?

可能です。シグナリング通知機能を利用することにより、接続や切断のタイミングで、シグナリングで利用している WebSocket または DataChannel 経由で通知されます。

シグナリング通知 をご確認ください。

参加者に Sora 側で変更可能なメタデータをもたせることは可能ですか?

可能です。シグナリング通知メタデータ拡張機能を利用することで、 接続や切断のタイミングで API 経由で変更したメタデータを通知できます。さらに変更時に参加者全員にプッシュで通知することも可能です。

シグナリング通知メタデータ拡張 をご確認ください。

API

指定したコネクションのみを切断することは可能ですか?

可能です。 Sora はチャネル ID とコネクション ID を指定して接続を切断することができます。

詳細は 指定したコネクション ID の接続を切断する をご確認ください。

指定したクライアントのみを切断することは可能ですか?

可能です。 Sora はチャネル ID とクライアント ID を指定して接続を切断することができます。

詳細は 指定したクライアント ID の接続をすべて切断する をご確認ください。

指定したチャネルの配信者や視聴者のみを切断することは可能ですか?

可能です。 Sora はチャネル ID を指定して配信者や視聴者のみを接続を切断することができます。

詳細は 指定したチャネルの指定したロールの接続を切断する をご確認ください。

指定した配信者の映像を指定した視聴者が受信しないことは可能ですか?

可能です。Sora は配信者、視聴者のコネクション ID を指定して映像を Sora で一時的に止めることができます。

詳細は 指定した接続からのストリームを停止する をご確認ください。

録画

Sora が録画した場合に出力されるファイルの形式は何ですか?

WebM 形式で録画されます。

将来的に MP4 に対応予定ですが時期は未定です。

Sora が録画した複数の WebM を一つのファイルに出力することは可能ですか?

サポートの範囲外になりますが可能です。 録画ファイル合成ツールをオープンソースとして公開しています。

shiguredo/hisui: Recording Composition Tool Hisui

録画した WebM 形式ファイルはブラウザで閲覧できますか?

可能です。Chrome と Firefox と Edge で閲覧することができます。 Safari では WebM に対応はしていますが VP9/Opus のファイルのみに対応しています。

録画可能なコーデックは何ですか?

VP8 と Opus 、VP9 と Opus、または H.264 と Opus の組み合わせに対応しており、 WebM 形式で保存されます。

AV1 や H.265 の録画には現時点で対応していません。今後 AV1 に対応予定です。

音声のみを録音できますか?

可能です。Opus コーデックで音声のみの録音が可能になります。

webma ファイルではなく webm ファイルで出力されますのでご注意ください。

録画した WebM のサイズの例を教えてください

基本的には指定したビットレートで決まります。

例として、VP8 と Opus の組み合わせの WebM で、 VP8 の解像度が 640x480 でビットレートが 300kbps 程度、音声ありの場合、 1 分の映像で約 2.5 M バイトです。

録画が終了するタイミングを教えて下さい

録画終了するタイミングは 3 つあります。

  1. 指定したチャネルの録画を停止する API が呼ばれた場合

  2. 接続が切断した場合

  3. 録画開始時に指定した期限が来た場合

サイマルキャスト機能を利用した場合に録画は可能ですか?

可能です。映像の優先度が一番低い映像を録画します。

映像の優先度については 映像の優先度 をご確認下さい。

スポットライト機能を利用した場合に録画は可能ですか?

可能です。映像の優先度が一番低い映像を録画します。

映像の優先度については 映像の優先度 をご確認下さい。

TURN

TURN サーバーを立てる必要はありますか?

Sora は TURN 機能を組み込んでありますので TURN サーバーを立てるのは不要です。 Sora とは別に TURN サーバーを別途立てるのは推奨していません。

Sora の組み込み TURN サーバーは TURN-TCP や TURN-TLS に対応していますか?

対応しています。ただし、TURN-TLS 機能を使用するためには Nginx が必要となります。

  • TURN-UDP

    • ポート変動

  • TURN-TCP

    • ポート固定

  • TURN-TLS

    • ポート固定

    • Nginx 必須

詳細は TURN 機能 をご確認ください

HTTPS で利用される 443 番のポートを TURN 機能で利用することはできますか?

Nginx が必須になりますが、可能です。 詳細は TURN-TLS、TURN-TCP、シグナリングで 443 番ポートを使用する をご確認ください。

注意

Nginx の設定などについてはサポート対象外となりますので、お問い合わせはご遠慮ください

Sora を使った場合、TURN サーバーで使用するユーザ名やクレデンシャルはどう払い出せば良いですか?

いくつか方法がありますが、 Sora の認証機能と合わせて使用する方法をご紹介します。

Sora は認証を外部のアプリケーションサーバーに問い合わせます。その際の戻り値として JSON を含むことができます。 その戻された JSON はそのままクライアントまで払い出されます。

これを利用して、認証に成功した場合にのみ TURN の認証に使用するユーザ名とクレデンシャルを払い出すことが可能になります。

認証時のクライアントへの metadata の払い出しについての詳細は metadata の払い出し をご確認ください

TURN IPv6 に対応していますか?

対応しています。

TURN の FQDN 設定はどのようなときに設定が必要ですか?

NAT64/DNS64 ネットワーク環境に対しては TURN の FQDN を設定する必要があります。

ウェブフック

ウェブフックの通知先は複数登録することができますか?

できません。

もし、複数の通知先を指定したい場合は、通知先のアプリケーションサーバーなどで対応をお願いします。

ウェブフックにベーシック認証は利用できますか?

できます。

sora.conf にて webhook_basic_authn の設定を有効にして下さい。

詳細については ウェブフック通知先のサーバーがベーシック認証を利用している場合 をご確認ください。

ウェブフックのタイムアウト値を設定できますか?

できます。

sora.conf にて webhook_response_timeout を設定することで、ウェブフックのレスポンスのタイムアウトが変更可能です。

イベントウェブフックの connection.updated の戻り値を使用して切断などはできますか?

できません。切断をする場合は Sora が持つ切断 API を使用してください。

イベントウェブフックの connection.updated を送らない設定はできますか?

できます。 sora.conf にて ignore_connection_updated_webhook = true を設定することで、 connection.updated のイベントウェブフックが通知されなくなります。

イベントウェブフックのワーカー数を変更することはできますか?

できます。同時接続数が増えたり、ウェブフック通知先のサーバーの応答速度が遅い場合は、 sora.conf にて event_webhook_worker_number の値を変更してください。

DataChannel

DataChannel でメッセージを送ることはできますか?

現時点では Push API を利用して Sora からクライアントへ送ることしかできません。 将来的にはクライアントからメッセージを送ることを可能にする予定です。

DataChannel でクライアントが RTCPeerConnection.createDataChannel() を利用する事はできますか?

できません。Sora 側で用意された DataChannel を利用してください。

その他

IP アドレスは複数指定できますか?

可能ですが、運用が複雑になるため、現時点ではドキュメントには記載していません。 もし利用したい場合はサポートまでお問い合わせください。

基本的にはクライアント毎に IP アドレスを変更したい場合は認証時の戻り値を使用してください。

配信者は音声と映像を配信し、視聴者は音声のみを受信することは可能ですか?

可能です。視聴者は配信者からの映像や音声のどちらかだけを受け取るよう指定できます。

詳細は 視聴メディアの選択 をご確認ください。

複数のユーザのうち、メインで発言している人など、音声のボリュームが一定以上のユーザのみの映像を配信することは可能ですか?

スポットライト機能を利用すれば可能です。 実際の動作については次の動画を御覧ください。

スポットライト機能

サイマルキャストに対応していますか?

対応しています。ブラウザは Chrome と Edge と Safari の最新バージョンに対応しています。 それ以外のブラウザでは配信はできませんが、視聴は可能です。

映像コーデックは VP8 と H.264 に対応しています。

警告

H.264 での利用は不安定なためおすすめしません

インターコネクト機能はありますか?

ありません。今後対応予定はありますが、リリース時期は未定です。

映像や音声を WebRTC 以外で出力する仕組みはありますか?

指定したチャネルの RTP の転送を開始する API と 指定したチャネルの RTP の転送を停止する API を利用することで、 外部のサーバーに対して WebRTC の DTLS (暗号部分) を除いた RTP パケットを送ることが可能です。

FFmpeg などを使用することで、 RTP から HLS や MPEG-DASH などに変換することもできます。

映像の配信を一時的に止める仕組みはありますか?

指定した接続からのストリームを停止する API と 指定した接続からのストリームを再開する API を利用することで、 指定した接続からの映像の配信を一時的に停止できます。

HLS 配信はできますか?

Sora 単体ではできません。ただし Sora の RTP 転送 API を利用し、FFmpeg などに転送することで HLS での配信が可能です。

こちらのドキュメントは古いため参考程度にお願いします

HLS 配信 をご確認ください。

実際に Sora を利用した HLS での配信サービスをさくらインターネット様が提供されていますのでこちらの利用をおすすめします。

ライブ配信サービス ImageFlux Live Streaming|さくらインターネット

追いかけ再生はできますか?

Sora 単体ではできません。ただし Sora の RTP 転送 API を利用し、FFmpeg などに転送することで HLS での配信が可能です。 この HLS での配信と Sora の配信を併用することで追いかけ再生を実現できます。

こちらのドキュメントは古いため参考程度にお願いします

HLS 配信 をご確認ください。

性能

負荷試験はどう行えばよいですか?

サポートの範囲外になりますが、Sora 専用の負荷試験ツールをオープンソースとして公開しています。

shiguredo/zakuro: WebRTC Load Testing Tool Zakuro

Sora は CPU をどの程度使用しますか?

重要

WebRTC では全ての通信が暗号化されているため、暗号化/復号処理で最も CPU リソースを消費します

通信環境やビットレートに影響するため一概には言えませんが、参考値を紹介します。

環境は AWS の C5n.4xlarge を利用しています。

以下の CPU の % は 1 コアを 100% とした場合です。

解像度が QVGA / 20fps / 1000kbps の映像と音声の送受信で 1 チャネル 8 クライアントを 12 ルーム (96 接続) で CPU 使用率を 200 % 程度利用します。

Sora はメモリをどの程度使用しますか?

Sora は再送のキャッシュ用途にメモリを使用します。 100 接続であれば 4 GB 以上あれば十分です。

また、録画利用時にはフレーム組み立てのため一時的にメモリを使用します。こちらばビットレートに依存します。

Sora はディスクをどの程度使用しますか?

主に録画したファイルとログによりディスクが使用されます。

録画する映像の容量はコーデックやビットレートに依存するため一概には言えません。

マルチストリームは 1 チャネルで最大何クライアントまで対応していますか?

Sora 2021.1 時点で最大 12 クライアントまで対応しています。それ以上を接続することもできますがお勧めはできません。

もし大規模での会議を行いたい場合は現在実験的機能として提供中の スポットライト機能 をご確認ください。

古いスポットライト機能は 1 チャネルで最大何クライアントまで対応していますか?

Sora 2021.1 時点で最大 1000 クライアントまで対応しています。

運用

Sora をデーモン化せずに起動することは可能ですか?

可能です。

Sora を起動する際、 bin/sora foreground で起動してください。

Sora を systemd で利用することは可能ですか?

可能です。

詳細は systemd をご確認ください。

Sora の冗長構成時にロードバランサーは利用できますか?

Sora は TCP と UDP を併用した仕組みを提供しているため、基本的にロードバランサーは利用できません。

そのため、冗長構成時には Sora に接続する前に問い合わせる振り分けサーバーを開発して頂く必要があります。

Sora は Docker 上で利用できますか?

Sora をコンテナで運用するのは推奨していませんが、技術的には可能です。 サポートへ問い合わせする場合はコンテナに関係する問題を切り分けをして頂く必要があります。

Sora の WebSocket を利用したシグナリングのキープアライブの切断条件は何ですか?

Sora は WebSocket 経由で 5 秒間隔で "type": "ping" を送信し、 60 秒間で 1 回も "type": "pong" が返って来こなかった場合、 Sora はシグナリング接続を切断します。

Sora の DataChannel を利用したシグナリングの Sora 側からの切断条件は何ですか?

Sora は DataChannel で利用している SCTP というプロトコルのエンドポイント障害検出を利用して切断を行っています。

詳細は エンドポイント障害検出 をご確認ください。

Sora 1 台のサーバーでは最大同時接続数はいくつですか?

現状 1 台では 1000 接続までを推奨していますが、 サーバーのスペックが高ければ 1 台で 3000 同時接続なども可能です。

1000 以上の接続を 1 台で行いたい場合は sora at shiguredo.jp またはサポートまでお問い合わせ下さい。

Sora が対応している OS は何ですか?

Sora 2021.1 の時点では以下の OS に対応しています。

  • Ubuntu 20.04 LTS x86_64

  • Ubuntu 18.04 LTS x86_64

  • Red Hat Enterprise Linux 8 x86_64

  • CentOS 8 x86_64

    • 2021 年内にサポートが終了するため、非推奨としています

    • 2021 年 12 月でサポートの提供を終了します

  • CentOS 7 x86_64

    • カーネルが古く Sora の性能が引き出せないため、非推奨としています

  • Ubuntu 20.04 LTS arm64

重要

arm64 版は 3 ヶ月以上、 300 同時接続以上のライセンスをご契約頂いているお客様にのみ提供しています。

Sora は Amazon Linux に対応していますか?

対応していません。

Sora が対応していると明記している OS 以外で動作させている場合は Sora はサポート対象外となります。

Sora のプロセス名は何になりますか?

bin/sora daemon で起動した場合、Sora 本体は run_erl というプロセスになります。こちらの死活監視をお願いします。

Sora を終了しても epmd というプロセスが残りますが問題ありませんか?

問題ありません。 Sora と関係するプロセスですが独立しており、起動し続けていて構いません。

カーネルパラメータの設定は何をすれば良いですか?

まずはファイルディスクリプタ数をご確認ください。値は 65535 に設定しておくことをお勧めします。

その他のチューニング項目については Linux カーネルチューニング をご確認ください。

ログローテーションはどうすれば良いですか?

sora.log と connection.log はローテションされませんので必要な部分で mv コマンドなどで移動してください。 ファイルが無い場合、新しく作られます。

erlang.log については自動でログローテーションを行いますので気にする必要はありません。

ログの詳細については ログファイル をご確認ください。

Sora が使用する UDP のポート範囲を教えてください

Sora が使用する UDP ポートは Linux のエフェメラルポートを使用しています。

エフェメラルポートの範囲は sysctl などで確認してください。

実行例:

$ sysctl -n net.ipv4.ip_local_port_range
32768 60999

Sora が使用する UDP のポート範囲を制限できますか?

可能です。Sora が使用する UDP ポートの範囲はエフェメラルポートの範囲です。 Linux 側でエフェメラルポートの範囲を設定してください。

sysctl にて net.ipv4.ip_local_port_range の範囲を指定してください。

ブラウザで WebRTC の詳細情報を取得することはできますか?

はい、可能です。

  • Chrome であれば URL に chrome://webrtc-internals を入力してみてください

  • Firefox であれば URL に about:webrtc を入力してみてください

  • Edge であれば URL に edge://webrtc-internals を入力してみてください

  • Safari であれば JavaScript コンソールの設定の一般から WebRTC を設定可能です

https://i.gyazo.com/cbcc400253e213c4d5e311377ea5a613.png

SELinux を利用する際の注意点はありますか?

Sora の log フォルダ以下にログを書き込めるようにする必要があります。

以下を参考にしてみてください。

映像が乱れたり止まったりする場合は何を確認するのが良いですか?

映像が乱れたり、止まったりする場合はネットワーク回線が不安定な事がほとんどです。

この場合は切断時に生成される connection.log を確認してみてください。 映像の送信側と受信側の統計情報が確認できます。connection_id を記録しておいて下さい。

  • total_received_rtcp_rtpfb_generic_nack

  • total_sent_rtcp_rtpfb_generic_nack

この値が多ければ多いほど「再送要求」の回数が多く、回線が不安定だったことが把握できます。

SDK

Sora の SDK は基本的にシグナリング処理のための SDK です。 WebRTC 部分は webrtc.org が提供しているライブラリを利用しています。

Sora の SDK へのサポートはありますか?

Sora の SDK サポートは提供していません。また有償のサポートも提供していません。

もしアドバイスが必要だったり、問題が起きたりした場合は Discord へお願いします。バグ対応は最優先で行います。

Discord サーバーの招待 URL

https://discord.gg/shiguredo

  • Sora JS SDK

    • #sora-js-sdk チャンネル

  • Sora iOS SDK

    • #sora-ios-sdk チャンネル

  • Sora Android SDK

    • #sora-android-sdk チャンネル

  • Sora Unity SDK

    • #sora-unity-sdk チャンネル

JavaScript SDK はありますか?

Sora の JavaScript SDK に関しては以下をご確認ください。

iOS SDK はありますか?

Sora の iOS SDK に関しては以下をご確認ください。 Swift で書かれています。

Android SDK はありますか?

Sora の Android SDK に関しては以下をご確認ください。 Kotlin で書かれています。

Unity SDK はありますか?

Sora の Unity SDK に関しては以下をご確認ください。 C++ で書かれています。

React Native SDK はありますか?

注意

このライブラリは Sora 向けの SDK ではありません

React Native に関しては SDK ではなくライブラリを提供しています。

ブラウザレスで利用できるクライアントはありますか?

OpenMomo プロジェクト で OSS としてブラウザレスのネイティブクライアントを公開しています。

ライセンス

同時接続とは具体的に何を指していますか?

シグナリングの同時接続数を指しています。1 シグナリング接続で 1 同時接続です。

ライセンスの同時接続数を超えた時はどうなりますか?

もし、100 接続のライセンスファイルを利用している場合、 101 本目の接続がきた場合、 Sora は 101 本目の接続を拒否します。

ライセンスの期限を過ぎた場合はどうなりますか?

既存の接続に対しては特に何もありませんが、新規の接続を受け付けなくなります。

Sora の現在の同時接続数を確認する方法はありますか?

統計情報を取得する API の total_ongoing_connections で現在 Sora に接続している同時接続数が確認可能です。

ライセンス期限のタイムゾーンを教えてください

UTC です。

バージョンアップ

バージョンアップは有償ですか?

ご購入いただいたライセンスが有効な期間は、バージョンアップはすべて無償で提供させていただきます。

バージョンアップのタイミングは決まっていますか?

少なくとも年 2 回、 6 月と 12 月に大きめのバージョンアップを行います。

それ以外は何かしら問題があったタイミングで修正版のバージョンアップを行います。

Sora のバージョン表記

バージョン表記:

YYYY.RELEASE[.FIX]
  • YYYY はリリースした年になります

  • RELEASE はその年のリリース回数になります

  • FIX は仕様が一切変わらずバグ変更のみの時、利用されます

リリース回数は社内でのリリース回数となるため、公開リリースの番号は飛ぶことがあります。 公開されるバージョンが 2020.1 の次が 2020.4 となったりすることがありますのでご了承ください

サポート

古いバージョンの Sora のサポートは提供していますか?

いいえ。サポートは最新版の Sora を利用している場合のみ、受け付けています。

Sora のサポートは電話で受け付けていますか?

いいえ。サポートはサポート専用のメールでのみ、受け付けています。

Sora のサポートは 24 時間 365 日ですか?

いいえ。サポートは弊社営業日の 10:00-17:00 のみ、対応しています。

SDK の有償サポートは受け付けていますか?

いいえ。Sora SDK の有償サポートは行っていません。

ただし GitHub 上ですべてのコードを公開しています。 もし何か問題が起きた場合は Discord にてご相談ください。バグ対応は最優先で行います。

Zakuro や Hisui など関連ツールの有償サポートは受け付けていますか?

いいえ。関連ツールの有償サポートは行っていません。

ただし GitHub 上ですべてのコードを公開しています。 もし何か問題が起きた場合は Discord にてご相談ください。バグ対応は最優先で行います。

© Copyright 2021, Shiguredo Inc Created using Sphinx 4.2.0