チュートリアル¶
概要¶
このチュートリアルでは、Sora に組み込まれている開発ツールを動かして、ひととおり使ってみるところまでを説明します。
チュートリアルの注意点¶
注意
繋がらないという問い合わせのほとんどは UDP のポート開放忘れです。必ずポートを開放してください。
このチュートリアルでは、リバースプロキシとしての NGINX や HTTPS の知識を必要とします
Sora は TCP と UDP の両方を利用します
TCP はデフォルトであれば 3000 番と 5000 番を利用します
UDP はデフォルトであればエフェメラルポートの範囲を利用します
Sora のシグナリングは WebSocket over TLS 非対応のため、nginx をリバースプロキシとして利用して、 TLS 終端を行い Sora のシグナリングへ繋ぐ必要があります
Sora の展開¶
tar.gz で圧縮されていますので、展開して下さい。
$ tar xfz sora-<version>-<os>-<arch>.tar.gz
ライセンスファイルの配置¶
ライセンスファイルを etc/ において、cp コマンドを利用して license.json
に変更して下さい。
起動¶
設定が終わったらサーバーを起動します。
$ sora-<version>/bin/sora daemon
停止¶
以下で停止できます。
$ sora-<version>/bin/sora stop
シグナリングへの HTTPS の適用¶
HTTPS (WebSocket over TLS を含む) の適用は必ず行ってください。HTTPS への接続以外はサポート対象外となります
ブラウザで WebRTC の機能の一つである getUserMedia を利用する場合は HTTPS が必須となります。 ただし、Sora 自体は HTTPS 非対応のため、Sora の前段にリバースプロキシとして NGINX を設置して TLS 終端を行ってください。
NGINX の location ディレクティブの設定については nginx を参考にして設定をお願いします。
注意
NGINX の設定に関する質問については Sora のサポート範囲外となりますのでご了承下さい。
証明書については Let's Encrypt - Free SSL/TLS Certificates の利用をおすすめします。
注意
Let's Encrypt に関する質問については Sora のサポート範囲外となりますのでご了承下さい。
リバースプロキシとしての NGINX の役割:
// 開発者ツールの静的ファイルの場合
クライアント -> <HTTPS:443> -> NGINX -> <HTTP:5000> -> Sora
// シグナリングの場合
クライアント -> <WebSocket over TLS:443> -> NGINX -> <WebSocket:5000> -> Sora
開発者ツールを利用してみる¶
Sora では開発ツールを利用して、Sora の機能を試すことができます。まずはオンライン版の利用をお勧めします。
オンライン版を利用する¶
オンライン版の開発ツールは https://sora-devtools.shiguredo.app から利用することができます。 Sora のシグナリング URL を指定する必要があります。
Sora のシグナリング URL を signalingUrlCandidates
に指定してください。
シグナリング URL は wss://sora.example.com/signaling
のように wss://
で始まる WebSocket over TLS の URL を指定してください。

オンライン版を NGINX でリバースプロキシ経由で利用する¶
オンライン版の開発ツールに対してリバースプロキシを設定することで、Sora のシグナリング URL を指定せずに利用することができます。
NGINX の location
/
ディレクティブで
https://sora-devtools.shiguredo.app
へリバースプロキシしてください。
location / {
proxy_http_version 1.1;
proxy_pass https://sora-devtools.shiguredo.app;
proxy_set_header Host sora-devtools.shiguredo.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_ssl_server_name on;
proxy_ssl_name sora-devtools.shiguredo.app;
proxy_ssl_protocols TLSv1.2 TLSv1.3;
}
https://example.com/
のように NGINX のホスト名でアクセスしてください。
オフライン版を NGINX で利用する¶
開発ツールのオフライン版を NGINX でホストして利用することができます。
https://github.com/shiguredo/sora-devtools/releases/tag/ から
Latest の sora-devtools-<version>.tar.gz
をダウンロードして展開してください。
展開したディレクトリを NGINX の root
ディレクティブに指定してください。
location / {
root /path/to/sora-devtools-<version>;
index index.html;
try_files $uri $uri/ /index.html;
}
https://example.com/
のように NGINX のホスト名でアクセスしてください。
開発者ツールが動作するブラウザ一覧¶
以下の最新のブラウザで動作します。
Google Chrome
Mozilla Firefox
Apple Safari
Microsoft Edge
ただし一部の機能は特定のブラウザでのみ動作します。
動作確認¶
警告
ハウリングする可能性があります。
ビデオ会議システムなどで利用されるような双方向での配信機能です。 受信だけ、送信だけでの利用もできます。
connect
を押して、その後、別のブラウザやタブで同じ URL を開いて、 connect
を押して下さい。

追加でタブを開いて connect
していけば参加者を増やせます。
開発ツールでは気軽にいろいろな設定を試せるようになっています。触ってみてください。
次のステップ¶
本番稼働に向けて で Sora の本番稼働向けの設定を行ってください。
Sora はいろいろな機能を持っていますので、一通りドキュメントをご確認下さい。 ドキュメントで不明な点がありましたら、お気軽にお問い合わせください。
注釈
アプリケーション連携チュートリアル は Sora を利用したアプリケーション連携用のチュートリアルを Python にて説明しています。
トラブルシューティング¶
タイムアウトが起きてつながらない場合¶
重要
OS の設定やファイアウォールで UDP の通信ができない場合は接続に失敗します。
Sora が利用する UDP のポートの範囲は通常 32768 から 60999 です。この範囲の通信を許可にしてみてください。
それでもうまく繫がらない場合¶
サーバーの IPv4 アドレスを ipv4_address
に指定して、 ipv6
を false
にしてみてください。
## https://sora-doc-canary.shiguredo.jp/SORA_CONF#sora-conf-ipv4-address
ipv4_address = 192.0.2.10
## https://sora-doc-canary.shiguredo.jp/SORA_CONF#sora-conf-devtools
devtools = true
注釈
Amazon EC2 インスタンス等のようなパブリック IP アドレスとプライベート IP アドレスが異なる環境では ブラウザからアクセスできる IP アドレス(パブリック IP アドレス)を ipv4_address に設定してください。
よくある問題¶
ここでは利用しているドメインを仮に example.com
としています。
https://example.com/
にアクセスできないNGINX の設定が間違っている可能性があります。nginx の設定を見直して下さい
https://example.com/
にアクセスしても 404 になるSora の組み込みの開発者ツールが有効になっていない可能性があります
sora.conf
の設定で開発者ツールが有効になっているか確認して下さいhttp://example.com:5000/
にアクセスして開発者ツールが有効になっているかを確認して下さい
Sora が利用するポートを他のプロセスが利用していないかを確認してください
Sora が利用したいポートを他のプロセスが既に利用しているために、Sora が起動していない可能性があります
それでも繋がらない場合¶
お問い合わせ前に以下を確認してください
チュートリアル以外のことはやっていないかどうかを確認して下さい
ファイアウォールの設定をすべて無効にして確認してください
IPv6 アドレスを無効にして確認してください
Sora では基本的にロードバランサーを利用することはできませんので、ロードバランサーなしで確認してください
すべてを確認しても繋がらない場合はお問い合わせください。
その際に以下の情報を 必ず お送りください。
どんな環境でチュートリアルを実行しているか
Sora のバージョン
Sora の設定ファイルである
sora.conf
log ディレクトリ以下すべてを tar.gz にて圧縮してお送りください
容量が 1 メガバイトを超える場合は事前にご連絡ください。アップローダーをご提供します
繋がらなかった開発者ツール
たとえば
sendonly
など
繋がらなかったブラウザを利用している OS とバージョン
たとえば
macOS Sonoma 14.5
やWindows 10 2004
など
繋がらなかったブラウザの種類とバージョン
たとえば
Chrome 125.0.6422.142
など
それ以外にも可能な限り、こちらがサポートをするために必要そうな情報をお送りください。