はじめに
SkyWayとは
SkyWayは、ビデオ・音声・データ通信機能をアプリケーションに簡単に実装できるSDK & APIです。
SDKには、Webやモバイル、IoTやゲームなど様々な利用シーンに合わせたものが存在します。SDKは通信を行うために様々なAPIを利用します。SDKと複数のサーバAPIの総体がSkyWayです。
SkyWayをご利用になるには
SkyWayのご利用にあたっては、会員登録が必要となります。
まだお済みでない場合は、こちらのリンクより登録をお願いします。
SDK
アプリケーションのプラットフォームに合わせて、SDK を選択してくだい。
- JavaScript SDK : Web アプリケーション用
- iOS SDK : iOS アプリケーション用
- Android SDK : Android アプリケーション用
- SDK for Linux®︎ : Linux アプリケーション用
- Unity SDK for Android : ベータ版を提供中
(ベータ版に関するお問い合わせはこちら)
開発にあたっての基礎知識
SkyWayの通信モデルは、複数の要素から成り立っています。各要素について、以下の図を用いて説明します。
- Channelという部屋のような要素があります。
- Channelの中にはMemberが複数存在できます。Channel内に存在するMember同士が通信することができます。
- Member同士が通信を行う際は、まず片方のMember AがPublicationを作成します(これをpublishと言います)。
- このPublicationを、もう片方のMember BがsubscribeすることでSubscriptionが生成されます。これにより、Publication → Subscriptionへ音声・映像・データが流れ、Member Bはこれらを受信することができます。
認証・認可
SkyWay は、ユーザーが認証していないエンドユーザーによる SkyWay の不正利用を防ぐため、トークンベースの認証・認可機能を提供しています。 ユーザーは、自身が認証したエンドユーザーに対して適切な権限を付与したトークン(SkyWay Auth Token)を発行することで、エンドユーザーによる SkyWay の不正な利用を防ぐことができます。
詳しくはこちら
TURN
TURNサーバーは、データを中継することで、企業ネットワークなど P2P 通信が利用できない特定のネットワーク環境での通信を可能にします。
詳しくはこちら
SFU
SFUサーバーは上りの通信の数、端末のエンコード負荷、上り帯域幅・通信量を削減し、P2P 方式よりも多人数での通信を可能にします。また、サイマルキャスト機能により、クライアントごとの通信環境に応じて自動的に品質を選択することで、快適な通信を実現できます。
SFUサーバーを利用するには、SFU Bot という特殊な Member を用いる必要があります。SkyWayのライブラリには RoomライブラリとCoreライブラリの2種類があり、SFU Bot を内包しているRoomライブラリでは、 Bot の存在を意識せずともオプション1つで簡単にSFUサーバーがご利用いただけます。
詳しくはこちら
商標
Linux®︎は、米国およびその他の国における Linus Torvalds の登録商標です。