割り当てと制限

SkyWay では、すべてのユーザーに公平かつ安定的にシステムをご利用いただくために、各アプリケーションが使用可能なリソース量に一定の割り当てを定め、リクエストの頻度に制限を設けております。 割り当てと制限は利用される SDK に関わらず、アプリケーション(アプリケーション ID)ごとに適用されます。

リソースの割り当て

リソースの割り当ては、同時に利用可能なリソース(Room(Channel) と Member、Publication、Subscription)の数を定めるものです。 ユーザーはこれらの割り当て量を超えて、リソースを作成することはできません。リソースの割当を以下の表に示します。

Roomライブラリを使用する場合

割り当ての種類P2P RoomSFU Room
Roomに同時に存在できるMemberの最大数320320
Roomに同時に存在できるPublicationの最大数256128
Roomに同時に存在できるSubscriptionの最大数51205120
Roomに同時に存在できるRecordingSessionの最大数256256
1つのMemberが同時にpublishできるPublicationの最大数88
1つのMemberが同時にsubscribeできるSubscriptionの最大数128128
1つのPublicationに同時に紐づけられる(subscribeできる)Subscriptionの最大数320320
1つのRecordingSessionに同時に紐づけられるPublicationの最大数-256
同時に録音・録画可能な1つのMemberのPublicationの最大数-4

Coreライブラリを使用する場合

割り当ての種類
Channelに同時に存在できるMemberの最大数320
Channelに同時に存在できるPublicationの最大数256
Channelに同時に存在できるSubscriptionの最大数5120
Channelに同時に存在できるRecordingSessionの最大数256
1つのPersonが同時にpublishできるPublicationの最大数8
1つのPersonが同時にsubscribeできるSubscriptionの最大数128
1つのPublicationに同時に紐づけられる(subscribeできる)Subscriptionの最大数320
1つのRecordingSessionに同時に紐づけられるPublicationの最大数256
同時に録音・録画可能な1つのPersonのPublicationの最大数4

なお、Channel あたりの最大同時 Member、Publication、Subscription 数の制限について、 SFU Bot によって作られたリソースの数は含まれません。

また、Member あたりの最大同時 Publication 数について、SFU Bot は最大で128個まで同時に Publish することが可能です。

リクエストレートの制限

リクエストレートの制限は、SkyWay のサーバーに対して実行可能なリクエストの数を定めるものです。リクエストレートの制限は、以下の表に示す通りです。

制限制限値
1秒あたりの最大Channel作成リクエスト数20
Channelごとの1秒あたりの最大リクエスト数500
SkyWay Recording APIのアプリケーションごとの1秒あたりの最大リクエスト数20

Channel ごとの1秒あたりの最大リクエスト数は、Member の入室や退室、Metadata の変更の他、Channel 内の Publication や Subscription などのリソースに対するすべてのリクエストが対象となります。 この制限は、リクエストが SDK によるものか SkyWay Channel API によるものかに関わらず適用されます。

Channelの有効期限

Channel は作成した時点より7日間有効で、有効期限が延長されることはありません。 Channel の削除をせずに利用を続けて有効期限を迎えた場合、通話の途中で接続が切れる可能性があります。

これを防ぐために、同じ Channel を長期間使い続けるのではなく、ユーザーが居なくなったタイミングで Channel を削除するといった実装をおすすめします。

Channel、Memberのnameとして使用可能な文字種

Room(Channel)、Memberにはそれぞれ任意のnameを設定することができますが、使用可能な文字種・文字数に制限があります。

制限の内容は以下のとおりです。

制限の種類制限の内容
使用可能な文字種a-z, A-Z, 0-9, -, ., _, %, * で構成された文字のみ
文字数1~128文字(0文字は許容されない)

ただし、 * 単体を指定することはできません。

Channel、Memberのmetadataとして使用可能な文字種

Room(Channel)、Memberにはそれぞれ任意のmetadataを設定することができますが、使用可能な文字種・文字数に制限があります。

制限の内容は以下のとおりです。

制限の種類制限の内容
使用可能な文字種(アルファベット、数字、記号、日本語等を含む)任意の文字
文字数0~1024文字

SkyWay Auth Tokenのサイズの制限

SkyWay Auth Tokenは、ヘッダー部、ペイロード部、署名部すべてを含めて、 7 KB 以下である必要があります。

RecordingSessionの有効期限

RecordingSession は作成した時点より最大7日間有効で、有効期限が延長されることはありません。 RecordingSession の削除をせずに利用を続けて有効期限を迎えた場合、録音・録画が終了し、終了時点までの録音・録画ファイルが保存されます。 なお、RecordingSession に紐づく Channel が削除された場合は、有効期限を待たずに RecordingSession も削除されます。

録音・録画可能な時間の制限

録音・録画は最小1秒から最大12時間まで行うことができます。

  • 開始から1秒以内に終了した録音・録画はファイルとして保存されません。
  • 開始から12時間が経過した録音・録画は停止され、クラウドストレージに録音・録画ファイルが保存されます。

なお、以下の場合は、有効期限を待たずに録音・録画が停止されます。

  • Publication が unpublish された場合
  • Channel が削除された場合
  • Channel の有効期限を迎えた場合
  • RecordingSession の有効期限を迎えた場合
  • 録音・録画中に回復不能なエラーが発生した場合

録音・録画の時間制限は、Publisher および RecordingSession に紐づいてカウントされます。時間制限は、録音・録画対象となる1つ目の Publication の録音・録画が開始されてからカウントが始まります。 録音・録画可能な時間のカウントは、以下のいずれかのタイミングでリセットされます。

  • Publisher が leave した
  • 録音・録画対象となっている Publication が全て unpublish された
  • RecordingSession が削除された

すでに録音・録画が行われている状況で、録音・録画対象となる2つ目以降の Publication が publish された場合でも、制限時間のカウントは継続されます。 したがって、 2つ目以降の Publication については、録音・録画が行われる時間の上限が12時間未満となります。

録音・録画可能な時間の制限の仕様

2つ目以降の Publication を時間の上限まで録音・録画したい場合は、以下のいずれかの対応が必要となります。

  • 別の RecordingSession を作成し、新たに録音・録画を行う RecordingSessionを分けて録音・録画を行う
  • すでに録音・録画中の Publication を全て unpublish した後で、対象となる Publication を publish する 録音・録画中のPublicationをunpublishしてから新たに録音・録画を行う