割り当てと制限
SkyWay では、すべてのユーザーに公平かつ安定的にシステムをご利用いただくために、各アプリケーションが使用可能なリソース量に一定の割り当てを定め、リクエストの頻度に制限を設けております。 割り当てと制限は利用される SDK に関わらず、アプリケーション(アプリケーション ID)ごとに適用されます。
リソースの割り当て
リソースの割り当ては、同時に利用可能なリソース(Room(Channel) と Member、Publication、Subscription)の数を定めるものです。 ユーザーはこれらの割り当て量を超えて、リソースを作成することはできません。リソースの割当を以下の表に示します。
Roomライブラリを使用する場合
割り当ての種類 | P2P Room | SFU Room |
---|---|---|
Roomに同時に存在できるMemberの最大数 | 320 | 320 |
Roomに同時に存在できるPublicationの最大数 | 256 | 128 |
Roomに同時に存在できるSubscriptionの最大数 | 5120 | 5120 |
Roomに同時に存在できるRecordingSessionの最大数 | 256 | 256 |
1つのMemberが同時にpublishできるPublicationの最大数 | 8 | 8 |
1つのMemberが同時にsubscribeできるSubscriptionの最大数 | 128 | 128 |
1つのPublicationに同時に紐づけられる(subscribeできる)Subscriptionの最大数 | 320 | 320 |
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 を作成し、新たに録音・録画を行う
- すでに録音・録画中の Publication を全て unpublish した後で、対象となる Publication を publish する