@skyway-sdk/room
Advanced tools
Comparing version 0.2.0-beta.1 to 0.2.0-beta.2
{ | ||
"name": "@skyway-sdk/room", | ||
"version": "0.2.0-beta.1", | ||
"version": "0.2.0-beta.2", | ||
"description": "The official Next Generation JavaScript SDK for SkyWay", | ||
@@ -5,0 +5,0 @@ "homepage": "https://beta.skyway.ntt.com/", |
@@ -1,5 +0,5 @@ | ||
# Room SDK | ||
# Room | ||
二人以上の複数人でのメディア通信を行うアプリケーションを簡単に作るための SDK です。 | ||
通信方式を P2P と SFU の 2 種類から選択可能です。 | ||
複数人で通信をするアプリケーションを作るための ライブラリ です。 | ||
通信方式を P2P と SFU の 2 種類から選択できます。 | ||
@@ -9,3 +9,3 @@ # インストール方法 | ||
```sh | ||
npm i @skyway-nv/room | ||
npm i @skyway-sdk/room | ||
``` | ||
@@ -15,32 +15,24 @@ | ||
アプリケーションのクライアントはメディア通信を開始するまでに次のようなフローをたどります。 | ||
クライアントアプリケーションは通信を開始するまでに以下のフローをたどります。 | ||
**1. Token を入手する** | ||
**1. SkyWay Auth Token を取得(生成)する** | ||
SkyWay サービスはユーザの認証認可に独自の JWT Token を使用しています。 | ||
この Token は 2 種類の方法で入手することができます。 | ||
[SkyWay Auth Tokenについて](https://beta.skyway.ntt.com/auth-token.html) | ||
- アプリケーションサーバサイドで生成したトークンをクライアントで使用する | ||
- クライアント上でトークンを生成して使用する | ||
後者の方法だと正しく権限の制限をすることができないので前者の方法を取ることを推奨します。 | ||
**2. Room を作成する** | ||
メディア通信を行うグループの単位を Room と呼びます。 | ||
メディア通信を開始するにはまず Room を作る権限を持った Token を用いて Room を作成する必要があります。 | ||
メディア通信を開始するにはまず Room を作る権限を持った SkyWay Auth Token を用いて Room を作成する必要があります。 | ||
**3. クライアントが Room に Join して Room の Member となる** | ||
この際に Room に参加する権限を持った Token とともに Room に Join する必要があります | ||
**4. Stream を Room 内に Publish および Subscribe する** | ||
**4. メディアの Stream を Room 内に Publish および Subscribe する** | ||
Member が Stream を Publish すると Room 上に Stream の情報である Publication というリソースが生成されます。 | ||
他の Member はこの Publication を Subscribe すると Subscription というリソースが Room 上に生成され、Subscription に対応する Stream を受信し、メディア通信が開始できます。 | ||
他の Member はこの Publication を Subscribe すると Subscription というリソースが Room 上に生成され、Subscription に対応する Stream を受信し、通信を開始できます。 | ||
# 用語解説 | ||
Room SDK の用語、仕様について説明します。 | ||
Room ライブラリ の用語、仕様について説明します。 | ||
@@ -51,16 +43,12 @@ ## Room | ||
それぞれの Member は Room 内にいる他の Member と映像/音声/データの送受信が出来ます。 | ||
それぞれの Member は Room 内にいる他の Member と映像/音声/データの送受信が出来ます。(なお、SFU Roomの場合はデータの送受信ができません。) | ||
通信方式を P2P と SFU の 2 種類から選択可能です。 | ||
### Room ID | ||
Room は 一意な識別子である ID と、オプショナルな値である Name を持ちます。 | ||
Room ID は SkyWay サービスによって設定される Room を一意に識別するための ID です。 | ||
ID は Room 作成時に自動的に払い出される値であり、Name はユーザが Channel を作成する際に指定することができる任意の値です。 | ||
### Room Name | ||
また、アプリケーション内で重複した Name を指定することはできません。 | ||
Room Name はユーザが Room を作成する際に指定することができる任意の値です。 | ||
アプリケーション内で重複した Room Name を指定することはできません。 | ||
## Member | ||
@@ -72,15 +60,11 @@ | ||
### Member ID | ||
Member は 一意な識別子である ID と、オプショナルな値である Name を持ちます。 | ||
Member ID は SkyWay サービスによって設定される Member を一意に識別するための ID です。 | ||
ID は Member 作成時に自動的に払い出される値であり、Name はクライアントが Channel に Join する際に指定することができる任意の値です。 | ||
### Member Name | ||
Room 内で重複した Name を指定することはできません。 | ||
Member Name はクライアントが Room に Join する際に指定することができる任意の値です。 | ||
Room 内で重複した Member Name を指定することはできません。 | ||
## Stream | ||
Room 内で Member が通信するメディアのことを Stream と呼びます。 | ||
Room 内で Member が通信する映像/音声/データを Stream と呼びます。 | ||
@@ -103,5 +87,5 @@ 三種類の Stream が存在します。 | ||
あるクライアントが Room に存在する Publication を Subscribe した時に得られるリソースです。Subscription には Stream が含まれており、メディアの受信が可能です。 | ||
あるクライアントが Room に存在する Publication を Subscribe した時に得られるリソースです。Subscription には Stream が含まれており、映像・音声・データの受信が可能です。 | ||
Room 内の Subscription を見ることでどの Member がどの Publication を Subscribe しているかを把握することができます。 | ||
Room 内の Subscription のプロパティを確認することで、どの Member がどの Publication を Subscribe しているかを把握することができます。 | ||
@@ -130,3 +114,3 @@ クライアントの Member が Subscribe していない Subscription の Stream を参照することはできません。Member が Stream を受信するためには必ずその Member が Publication を Subscribe して Subscription を作る必要があります。 | ||
```ts | ||
import { SkyWayContext } from '@skyway-nv/room'; | ||
import { SkyWayContext } from '@skyway-sdk/room'; | ||
@@ -136,12 +120,12 @@ const context = await SkyWayContext.Create(tokenString); | ||
事前にトークンの取得が必要になります。 | ||
事前にSkyWay Auth Tokenの取得が必要になります。 | ||
### トークンの取得方法 | ||
### SkyWay Auth Tokenの取得方法 | ||
SkyWay サービスの JWT トークンはトークンの仕様に基づいて自身で作成するか、`@skyway-nv/token`ライブラリを使って作成することができます。 | ||
SkyWay Auth Token は、仕様に基づいて自身で作成するか、`@skyway-sdk/token`ライブラリを使って作成することができます。 | ||
`@skyway-nv/token`ライブラリは Node.js サーバとブラウザで動作しますが、トークンでユーザの行動を認可したい場合は必ずサーバ側でトークンを作成して下さい。 | ||
`@skyway-sdk/token`ライブラリは Node.js サーバとブラウザで動作しますが、SkyWay Auth Tokenでユーザの行動を認可したい場合は必ずサーバ側で作成して下さい。 | ||
```ts | ||
import { SkyWayAuthToken } from '@skyway-nv/token'; | ||
import { SkyWayAuthToken } from '@skyway-sdk/token'; | ||
@@ -161,3 +145,3 @@ const token = new SkyWayAuthToken(parameters); | ||
```ts | ||
import { SkyWayContext, SkyWayRoom } from '@skyway-nv/room'; | ||
import { SkyWayContext, SkyWayRoom } from '@skyway-sdk/room'; | ||
@@ -183,3 +167,3 @@ const context = await SkyWayContext.Create(tokenString); | ||
```ts | ||
import { SkyWayContext, SkyWayRoom } from '@skyway-nv/room'; | ||
import { SkyWayContext, SkyWayRoom } from '@skyway-sdk/room'; | ||
@@ -195,3 +179,3 @@ const context = await SkyWayContext.Create(tokenString); | ||
```ts | ||
import { SkyWayContext, SkyWayRoom } from '@skyway-nv/room'; | ||
import { SkyWayContext, SkyWayRoom } from '@skyway-sdk/room'; | ||
@@ -253,3 +237,3 @@ const context = await SkyWayContext.Create(tokenString); | ||
```ts | ||
import { SkyWayMediaDevices } from '@skyway-nv/room'; | ||
import { SkyWayMediaDevices } from '@skyway-sdk/room'; | ||
@@ -287,2 +271,7 @@ ... | ||
なお、SkyWay Beta提供中は以下の制限があります。制限値は50人での双方向通信を想定した値に基づいております。 | ||
- maxSubscribers の最大値: 49 | ||
- アプリケーションにおける、AudioPublication の maxSubscribers の合計値: 2450 (49人 x 50人) | ||
- アプリケーションにおける、VideoPublication の maxSubscribers の合計値: 2450 (49人 x 50人) | ||
Simulcast を利用する場合は encodings に複数のパラメータをセットします | ||
@@ -390,3 +379,3 @@ | ||
## RoomPublication | ||
## Publication | ||
@@ -403,3 +392,3 @@ Publication の情報の参照と Publication の操作ができます | ||
## RoomSubscription | ||
## Subscription | ||
@@ -406,0 +395,0 @@ Subscription の情報の参照と Subscription の操作ができます |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1683721
41403
398