sora.conf リファレンス

Sora の設定ファイルは key = value 形式です。文字列であっても "" で囲わないでください。

すべての設定にはデフォルト値が設定されております。

設定ファイル

## ライセンスファイルを指定してください
## この設定はオプションで、デフォルトは "etc/license.json" です
# license_file = etc/license.json

## 認証やイベントのウェブフックの通知に含まれるサーバ識別用のラベルを指定可能です
## 指定しない場合は "WebRTC SFU Sora" が送られます
# label = sora-label

## サーバで利用する IPv4 アドレスを指定してください
## 指定が無い場合は自動で見つけたアドレスを利用します
# ipv4_address = 192.0.2.100

## サーバでIPv6 アドレスを利用するかどうか指定してください
## この設定はシグナリングや API には影響しません
## オプションでデフォルト false です
# ipv6 = true

## サーバで利用する IPv6 アドレスを指定してください
## 指定が無い場合で ipv6 が true の場合、自動で見つけたアドレスを利用します
# ipv6_address = 2001:0DB8::100

## デモ機能を有効にするかどうかを指定してください
## オプションでデフォルト false です
# demo = true

## 認証のコールバック URL を指定してください
# auth_webhook_url = http://127.0.0.1:8080/sora/auth/webhook

## イベントのコールバック URL を指定してください
# event_webhook_url = http://127.0.0.1:8080/sora/event/webhook

## イベントを処理するワーカー数を指定してください
## この設定はオプションで、デフォルトは 5 です
# event_webhook_worker_number = 5

## 認証やイベントのウェブフックのレスポンスタイムアウトの値を秒で指定してください
## この設定はオプションで、デフォルトは 5 秒です
# webhook_response_timeout = 30

## 認証やイベントのウェブフックに利用する HTTP Proxy の情報を指定してください
# webhook_proxy_url = http://proxy.example.com:8080
# webhook_proxy_auth_user = proxy-auth-user
# webhook_proxy_auth_password = proxy-auth-password

## 接続の更新をコールバックを無視するかどうかを指定します
## オプションでデフォルト false です
# ignore_connection_updated_webhook = true

## 接続時の失敗コールバックを無視するかどうかを指定します
## オプションでデフォルト true です
# ignore_connection_failed_webhook = false

## スポットライト機能で切り替わりコールバックを無視するかどうかを指定します
## この設定はオプションで、デフォルト true です
# ignore_spotlight_changed_webhook = false

## スポットライトレガシー機能で切り替わりコールバックを無視するかどうかを指定します
## この設定はオプションで、デフォルト true です
# ignore_spotlight_legacy_changed_webhook = false

## 録画ファイルが保存されるディレクトリを指定してください
## 可能な限り絶対パスで指定してください
# archive_dir = archive

## 録画に利用する一時ファイルを保存するディレクトリを指定してください
## 可能な限り絶対パスで指定してください
# archive_tmp_dir = tmp/archive

## シグナリングに使うポート番号を指定してください
## この設定はオプションで、デフォルトは 5000 です
# signaling_port = 5000

## シグナリングへのアクセスをループバックアドレスからだけにするかどうかを指定して下さい
## オプションでデフォルトは false です
# signaling_loopback_address_only = true

## シグナリング開始時や認証ウェブフック成功時にクライアント ID を設定可能にするかを指定してください
## デフォルト false です
## この設定を有効にすると Sora 18.10.5 以前のバージョンとの後方互換性が維持されません
# allow_client_id_assignment = true

## シグナリング経由での通知を有効にするかどうか指定してください
# signaling_notify = false

## シグナリング経由での通知時にクライアント ID を払い出すかどうか指定してください
# signaling_notify_client_id = false

## シグナリング経由での通知時にコネクション ID を払い出すかどうか指定してください
# signaling_notify_connection_id = false

## シグナリング経由での通知時にメディア情報を払い出すかどうか指定してください
# signaling_notify_media = false

## シグナリング経由での通知時にメタデータを払い出すかどうか指定してください
# signaling_notify_metadata = false

## シグナリング経由でネットワークに関連する通知を受け取るかどうか指定してください
# signaling_notify_network = false

## シグナリング経由で RTP ストリームを停止/再開の通知を送るかどうか指定してください
# signaling_notify_rtp_stream = false

## API に使うポート番号を指定してください
## この設定はオプションで、デフォルトは 3000 です
# api_port = 3000

## API へのアクセスをループバックアドレスからだけにするかどうかを指定して下さい
## オプションでデフォルトは false です
# api_loopback_address_only = true

## API をクロスドメインで使用したい場合に、その URL を指定してください
# api_cors_origin = http://127.0.0.1:5000

## TURN 機能を有効にするかどうかを指定してください
# turn = false

## TURN 機能で利用するレルムを指定してください
# turn_realm = sora.example.com

## TURN 機能で TURN-UDP/TCP/TLS に利用する FQDN (最後の . なし)を指定してください
## 指定しない場合、 TURN-UDP/TURN-TCP では IP アドレスを使った URL が生成されます
# turn_fqdn = sora.example.com

## TURN 機能で TURN-TCP を有効にするかどうかを指定してください
# turn_tcp = false

## TURN 機能で TURN-TCP を有効にした際に利用するポート番号を指定してください
# turn_tcp_listen_port = 3478

## TURN 機能で TURN-TCP URL 払い出し時のポート番号を指定してください
# turn_tcp_port = 3478

## TURN 機能で TURN-TCP を強制的に利用します
## この機能を有効にした場合は warning ログが出力されます
## オプションでデフォルト false です
# turn_tcp_only = true

## TURN 機能で TURN-TLS URL 払い出し機能を有効にするかどうかを指定してください
## オプションでデフォルトは false です
# turn_tls = true

## TURN 機能で TURN-TLS URL 払い出し機能で利用する FQDN (最後の . なし)を指定してください
## turn_tls_fqdn は turn_fqdn の値を上書きします
# turn_tls_fqdn = sora-turns.example.com

## TURN 機能で TURN-TLS URL 払い出し機能を有効にした際に利用するポート番号を指定してください
# turn_tls_port = 5349

## TURN 機能で TURN-TLS を強制的に利用します
## この機能を有効にした場合は warning ログが出力されます
## オプションでデフォルト false です
# turn_tls_only = true

## RTX 機能を有効にするかどうかを指定してください
## オプションでデフォルト true です
# rtx = false

## ULPFEC 機能を有効にするかどうかを指定してください
## オプションでデフォルト false です
# ulpfec = true

## Generic NACK を有効にするかどうかを指定してください
# generic_nack = true

## Generic NACK 用にパケットをキャッシュする期間[msec]を指定してください
# generic_nack_cache_size_msec = 5000

## 音声のビットレートを指定してください
## 64 であれば 64kbps が利用可能な最大ビットレートとなります
# default_audio_bit_rate = 64

## 映像のビットレートを指定してください
## 800 であれば 800kbps が利用可能な最大ビットレートとなります
# default_video_bit_rate = 800

## サイマルキャスト利用時の受信画質のデフォルト値を指定します
## "low" 、"middle" 、 "high" のどれかを指定してください
## この設定はオプションで、デフォルトは "low" です
# default_simulcast_quality = low

## RTP Forwarding API を利用時のクライアントに PLI を送る間隔を指定します
## 10 であれば 10 秒間隔で PLI 送ることで I フレームが 10 秒間隔で送られてくるようになります
# default_forwarding_pli_interval = 10

## SDP の offer 時に払い出される origin の username を隠蔽するかどうかを指定してください
## true の場合は origin の username が "-" として払い出されます
# hide_origin_username = true

## スポットライトで同時にアクティブになる数を指定します
# default_spotlight_number = 3

## スポットライトレガシー機能を利用するかを指定します
# spotlight_legacy = true

## スポットライトレガシー機能で、非アクティブなクライアントのビットレートを自動で低下させます
## オプションでデフォルト false です
# spotlight_legacy_auto_downgrade_bit_rate = true

## マルチストリームで配信者で利用する映像ビットレートを自動で共有する機能です
## オプションでデフォルト true です
# multistream_auto_sharing_video_bit_rate = false

## スポットライトレガシー機能で、配信者で利用する映像ビットレートを自動で共有する機能です
## オプションでデフォルト true です
# spotlight_legacy_auto_sharing_video_bit_rate = false

## SDK 側の統計情報を取得しサーバに溜め込みます
# remote_stats = true

## WebRTC の接続が確立するまでの許容時間を秒で指定してください
# connection_created_wait_timeout = 30

## RTP パケロスシミュレータは注意して利用してください
# rtp_packet_loss_simulator_incoming = 0
# rtp_packet_loss_simulator_outgoing = 0

license_file

デフォルト

"etc/license.json"

ライセンスファイルのパスを指定してください、可能な限り 絶対パス を指定してください。

label

デフォルト

"WebRTC SFU Sora"

認証やイベントウェブフック通知時に送られる、サーバ固有の値を指定することができます。

label = sora-001

ipv4_address

この値を有効にしなくても自動で IPv4 アドレスを収集しますが、 固定された IPv4 アドレスがサーバに割り当てられている場合は指定することを推奨しています。

IPv4 アドレスを指定してください。 192.0.2.10 のように指定してください。

ipv6

デフォルト

false

IPv6 機能を有効にするかどうか指定してください。デフォルトでは無効になっています。

この機能を有効にすると以下の機能が有効になります

  • ipv6_address が指定されていない場合は自動で IPv6 アドレスが収集される

  • ipv6_address で指定された値が使用される

  • IPv6 アドレスが使用可能だった場合、 TURN サーバの URL が IPv6 でも払い出される

この機能はシグナリングや API を IPv6 有効にする機能ではありません。シグナリングや API は IPv6 非対応です。

ipv6_address

この値を有効にしなくても ipv6 が true の場合は、自動で IPv6 アドレスを収集しますが、 固定された IPv6 アドレスがサーバに割り当てられている場合は指定することを推奨しています。

IPv6 アドレスを指定してください。 2001:0DB8::10 のように指定してください。

demo

デフォルト

false

Sora には機能をすぐに試してもらえるようにデモ機能が含まれています。

そのデモを有効にする場合は、 true を指定し、有効にしてください。

詳細は デモ機能 をご確認ください。

auth_webhook_url

デフォルト

指定なし

認証機能を有効にしたときに、問い合わせに行く HTTP URL を指定してください。その戻り値に含まれる値によって認証の可否を判定します。

event_webhook_url

デフォルト

指定なし

クライアントの接続や切断、録画ファイル生成の終了などのイベントを通知する HTTP URL を指定してください。

event_webhook_worker_number

デフォルト

5

範囲

5-5000

イベントウェブフックのワーカー数を指定します。

webhook_response_timeout

デフォルト

30 秒

単位

範囲

1-600

ウェブフックのレスポンスタイムアウト時間を秒で指定してください。

webhook_proxy_url

デフォルト

指定なし

ウェブフックで利用する HTTP Proxy の URL を指定して下さい。 http://proxy.example.com:8080 の用に URL を指定して下さい。

webhook_proxy_auth_user

デフォルト

指定なし

ウェブフックで利用する HTTP Proxy の認証ユーザを指定して下さい。 proxy-auth-user の用に文字列で指定して下さい。

webhook_proxy_auth_password

デフォルト

指定なし

ウェブフックで利用する HTTP Proxy の認証パスワードを指定して下さい。 proxy-auth-password の用に文字列で指定して下さい。

ignore_connection_updated_webhook

デフォルト

false

イベントウェブフックの接続の更新をコールバックを無視するかどうかを指定してください。 デフォルトでは通知を行います。

ignore_connection_failed_webhook

デフォルト

true

接続が失敗した際に、 event_webhook_url に登録された HTTP URL に通知を行うかどうかを指定してください。 デフォルトではエラーの通知を行いません。

ignore_spotlight_changed_webhook

デフォルト

true

スポットライト機能で発言者が切り替わった場合に、 event_webhook_url に登録された HTTP URL に通知を行うかどうかを指定してください。 デフォルトでは通知を行いません。

ignore_spotlight_legacy_changed_webhook

デフォルト

true

スポットライトレガシー機能で発言者が切り替わった場合に、 event_webhook_url に登録された HTTP URL に通知を行うかどうかを指定してください。 デフォルトでは通知を行いません。

archive_dir

デフォルト

archive

録画ファイルが保存されるディレクトリを指定してください。可能な限り 絶対パス で指定してください。

archive_tmp_dir

デフォルト

tmp/archive

録画に使用する一時ファイルを保存するディレクトリを指定してください。可能な限り 絶対パス で指定してください。

録画が失敗した場合、このディレクトリに保存されたファイルは自動的に削除されます。

signaling_port

デフォルト

5000

シグナリングに使用するポート番号を指定してください。

signaling_loopback_address_only

デフォルト

false

シグナリングへのアクセスをループバックアドレスからのみに制限します。可能な限り有効にしてください。

allow_client_id_assignment

デフォルト

false

有効にした場合はシグナリング開始の "type": "connect" 時、または認証ウェブフック成功時の戻り値に client_id を指定することが可能なります。

重要

この設定を true にした場合は、後方互換性がなくなりますのでご注意ください

設定を true にした場合

  • "type": "connect" 時に client_id を指定しない場合、認証ウェブフックには client_idnull で送られます

  • "type": "connect" 時に client_id を指定しない場合、認証ウェブフック成功の戻り値に client_id を含めないと connection_idclient_id になります

重要

シグナリングの接続開始時 、または認証ウェブフック成功時の戻り値で client_id 指定した場合は、 マルチストリームやスポットライトでの相手の判定には client_id ではなく connection_id を使用する必要があります

また API でも今まで ClientId を指定可能だった部分が ConnectionId が指定必須になります。

signaling_notify

デフォルト

true

シグナリング経由で接続や切断、更新の通知を受け取るかどうか指定してください。この設定はすべての設定に影響します。 個別の設定の場合は認証ウェブフックのレスポンス時で指定してください。

シグナリング経由での通知機能の詳細は "type": "notify" をご確認ください

認証の戻り値に関しては シグナリング経由での通知機能の指定 を確認してください。

signaling_notify_client_id

デフォルト

true

シグナリング通知機能が有効な際、通知にクライアント ID を含むかどうかを指定してください。

signaling_notify_connection_id

デフォルト

true

シグナリング通知機能が有効な際、通知にコネクション ID を含むかどうかを指定してください。

signaling_notify_media

デフォルト

true

シグナリング通知機能が有効な際、通知に音声や映像が有効かどうかを含むかどうかを指定してください。

signaling_notify_metadata

デフォルト

true

シグナリング通知機能が有効な際、 type: connectsignaling_notify_metadata で指定した値、 または認証ウェブフックの戻り値の signaling_notify_metadata で指定した値を通知するかどうかを指定してください。

signaling_notify_network

デフォルト

true

シグナリング通知機能が有効な際、ネットワークの状態を通知するかどうかを指定してください。

signaling_notify_rtp_stream

デフォルト

true

シグナリング通知機能が有効な際、 RTP ストリームの停止と再開の状態を通知するかどうかを指定してください。

api_port

デフォルト

3000

API に使用するポート番号を指定してください。

api_loopback_address_only

デフォルト

false

API へのアクセスをループバックアドレスからのみに制限します。可能な限り有効にしてください。

api_cors_origin

デフォルト

指定なし

API の戻りのヘッダーに CORS(Cross-Origin Resource Sharing) を含める際のドメインを指定してください。 http から始めて、パスの / は含まないでください。

api_cors_origin = http://127.0.0.1:5000

turn

デフォルト

true

注意

この機能を false にする場合は事前にサポートまでご連絡ください

使用しない場合の設定

turn = false

turn_realm

デフォルト

"sora.example.com"

TURN 機能で使用するレルムを指定します。文字列であれば何でも良いのですが、会社のドメインなどを指定することが多いです。 デフォルトそのままでも構いません。

turn_fqdn

TURN 機能の URL で使用する FQDN を指定してください。

指定した場合は TURN-UDP, TURN-TCP, TURN-TLS に共通で採用されます。 TURN-TLS の FQDN は turn_tls_fqdn 設定で上書きできます。

ドメイン名が sora.example.com の場合

turn_fqdn = sora.example.com

turn_tls_fqdn

TURN 機能で TURN-TLS の URL で使用する FQDN を指定してください。

指定しない場合は trun_fqdn の値が採用されます。 どちらも設定されていない場合 TURN-TLS を利用することは出来ません。

ドメイン名が sora.example.com の場合

turn_tls_fqdn = sora-turns.example.com

turn_tcp

デフォルト

true

TURN 機能で TURN-TCP を使用するかどうかを指定します。使用しない場合は false を指定してください。

使用しない場合の設定

turn_tcp = false

turn_tcp_listen_port

デフォルト

3478

TURN 機能で TURN-TCP を有効にした際に使用するポート番号を指定してください。デフォルトでは 3478 番ポートが使用されます。

turn_tcp_port

デフォルト

3478

TURN 機能で TURN-TCP URL 払い出し時のポート番号を指定してください。デフォルトでは turn_tcp_listen_port の値が利用されます。

turn_tcp_only

デフォルト

false

危険

この機能はあくまで検証時のみ有効にしてください

TURN-TCP を強制的に利用するようになります。この機能を有効にした場合 warning ログが出力されます。

turn_tls

デフォルト

false

TURN 機能で TURN-TLS の URL 払い出し機能を使用するかどうかを指定します。使用しない場合は false を指定してください。

turn_tls_port

デフォルト

5349

TURN 機能で TURN-TLS の URL 払い出し機能を有効にした際に使用するポート番号を指定してください。デフォルトでは 5349 番ポートが使用されます。

turn_tls_only

デフォルト

false

危険

この機能はあくまで検証時のみ有効にしてください

TURN-TLS を強制的に利用するようになります。この機能を有効にした場合 warning ログが出力されます。

rtx

デフォルト

true

注意

この機能を利用する場合は事前にサポートまでご連絡ください

RTX を有効にするかどうかを指定します。デフォルトでは true で有効になっています。

現時点では Chrome と Safari と Edge が使用可能で、 Firefox は対応しておりません。 iOS/Android は libwebrtc を使用した場合は対応しています。

ulpfec

デフォルト

false

注意

この機能を利用する場合は事前にサポートまでご連絡ください

ULPFEC を有効にするかどうかを指定します。デフォルトでは無効になっています。

現時点では Chrome と Safari が使用可能で、 Firefox は対応しておりません。 iOS/Android は libwebrtc を使用した場合は対応しています。

generic_nack

デフォルト

true

注意

この機能を利用する場合は事前にサポートまでご連絡ください

Generic NACK を有効にするかどうかを指定します。一つのチャネルに対して、視聴者がかなり多い場合などはこの設定を無効にすることで、サーバ側の負荷を抑えることができるようになります。

generic_nack_cache_size_msec

デフォルト

5000

範囲

1-100000

注意

この機能を利用する場合は事前にサポートまでご連絡ください

Generic NACK に使用する再送のための SRTP のキャッシュ期間を指定します。このキャッシュは SSRC 毎の単位です。 実際のキャッシュのサイズはシグナリングで決定する映像のビットレートから計算されます。 ビットレートが低い場合でも最低 1000 個のキャッシュは確保されます。

デフォルト値の場合、500 Kbps では 1000 個, 10 Mbps では 5000 個程度のキャッシュが確保されます。 設定値を増やした場合、メモリを圧迫することもありますので、注意してください。

default_audio_bit_rate

単位

k(キロ)bps

範囲

6-510

デフォルト

指定なし

音声が使用できるビットレートを指定します。デフォルトの場合はブラウザ側の判断に依存します。

もし、音声を良くしたい場合は 32-64kbps を指定すると良いかもしれませんが、基本的にはブラウザ側の判断で問題ありません。

default_video_bit_rate

デフォルト

500

単位

k(キロ)bps

範囲

1-50000

映像が使用できるビットレートを指定します。デフォルトでは 500kbps です。この値を少なく指定すると解像度が不安定になります。

基本は 500 で余裕があるのであれば 800 などに設定することをお勧めします。

15000 より大きい値はまだ十分に検証ができていないため、現時点ではサポート外となります。ご理解いただければと思います。

default_simulcast_quality

デフォルト

low

注意

この機能を利用する場合は事前にサポートまでご連絡ください

サイマルキャスト利用時に視聴する画質を指定しない場合に採用される画質を指定してください。

指定可能な文字は "low" または "middle" または "high" のどれかになります。

default_forwarding_pli_interval

デフォルト

10

単位

範囲

1-90

注意

この機能を利用する場合は事前にサポートまでご連絡ください

RTP 転送 API 利用時にクライアントに対して PLI を送る間隔を指定します。

hide_origin_username

デフォルト

false

有効にした場合は SDP の Offer 時に送られる o=<username> の username の部分を shiguredo...SORA-<version> から _ に変更します。

connection_created_wait_timeout

デフォルト

30

単位

範囲

1-600

WebRTC SFU と WebRTC の接続が確立するまでの許容時間を秒で指定してください。 基本的に WebRTC SFU との接続確立は数百ミリ秒で終わります。

ただし iOS などでカメラの使用などを許可するといった設定が入る場合を考慮し 30 秒程度になっております。

default_spotlight_number

デフォルト

3

スポットライトで同時にアクティブになるデフォルトの数を指定します。

spotlight_legacy

デフォルト

true

スポットライトレガシー機能を利用するかを指定します。

spotlight_legacy_auto_downgrade_bit_rate

デフォルト

false

この機能を true にすると、映像の戻りがとても遅くなりますので注意してください

スポットライトレガシー機能利用時に配信がアクティブではない場合にビットレートを下げる仕組みです。アクティブになったタイミングでビットレートをもとに戻します。

この機能を利用することで配信がアクティブではないクライアント側 CPU やネットワークの負荷を下げることが可能になります。さらにサーバ側の負荷も下がります。

multistream_auto_sharing_video_bit_rate

デフォルト

true

マルチストリームで配信者が利用する映像ビットレートを自動で共有する機能です。

映像のビットレートに 1000kbps を指定した場合 4 人の配信者がいる場合はそれぞれの配信者のビットレートは 250kbps になります。

spotlight_legacy_auto_sharing_video_bit_rate

デフォルト

true

スポットライトレガシー機能で配信者が利用する映像ビットレートを自動で共有する機能です。

映像のビットレートに 1500kbps を指定した場合、スポットライト数が 3 場合は、 どんなに配信者が増えてもはそれぞれの配信者のビットレートは 500kbps になります。

ただし配信者が 2 名の場合は配信者のビットレートは 750kbps になります。

remote_stats

デフォルト

true

SDK 側の統計情報を取得しサーバ側で最新の情報を保持します。 SDK 側が remote_stats に対応している必要があります。

default_h264_profile_level_id

デフォルト

42e01f

H.264 で利用するプロファイルレベル ID を文字列で指定します。

default_h264_profile_level_id = 42e01f

av1

デフォルト

false

危険

この機能はあくまで検証時のみ有効にしてください

AV1 が利用可能になります。

h265

デフォルト

false

危険

この機能はあくまで検証時のみ有効にしてください

H.265 が利用可能になります。

rtp_packet_loss_simulator_incoming

デフォルト

0

範囲

0-100

危険

この機能はあくまで検証時のみ有効にしてください

Sora が受信する RTP パケットを指定したパーセント分ドロップさせます。

値を 0 より大きくした場合、クライアントが接続するたびに warning が発生します。

rtp_packet_loss_simulator_outgoing

デフォルト

0

範囲

0-100

危険

この機能はあくまで検証時のみ有効にしてください

Sora が送信する RTP パケットを指定したパーセント分ドロップさせます。

値を 0 より大きくした場合、クライアントが接続するたびに warning が発生します。

opus_param_clock_rate

デフォルト

48000

範囲

16000-48000

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_channels

デフォルト

2

範囲

1-8

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_maxplaybackrate

デフォルト

48000

範囲

8000-48000

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_stereo

デフォルト

true

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_sprop_stereo

デフォルト

true

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_ptime

デフォルト

20

範囲

3-120

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_minptime

デフォルト

10

範囲

3-120

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_useinbandfec

デフォルト

true

注意

この機能を利用する場合は事前にサポートまでご連絡ください

opus_param_usedtx

デフォルト

false

注意

この機能を利用する場合は事前にサポートまでご連絡ください