SFU Bot

概要

SFU とは Selective Forwarding Unit の略で、サーバーを経由して通信を行う方式です。多人数通話や映像配信を実現できます。 SFU サーバーを経由することで3人以上で通信する際には上りの通信の数を節約でき端末のエンコード負荷と上り帯域幅や通信量を削減でき、P2P 方式よりも多人数での通信が可能になります。

sfu

SkyWay では SFU Bot という特殊な Member を用いることにより、SFU サーバーを利用できます。

利用方法

SFU Bot の利用方法を JavaScript SDK を例に説明します。

Roomの場合

SkyWay Room ライブラリでは SFU Bot の存在は隠蔽されているため、利用時に SFU Bot の存在を意識をする必要はありません。 そのため Room の作成時に type を sfu にするだけで利用できます。

import { SkyWayContext, SkyWayRoom } from "@skyway-sdk/room"; const context = await SkyWayContext.Create(tokenString); const room = await SkyWayRoom.Create(context, { type: "sfu", id: "something", });

詳細については Room ライブラリの APIリファレンス を参照してください。

Coreの場合

SkyWay Core ライブラリで SFU Bot を利用するには SFU Bot ライブラリを利用します。

詳細については SFU Bot ライブラリの APIリファレンスを参照してください。

maxSubscribers

SkyWay Room/Core ライブラリで SFU Bot を用いる場合は、Publish を行う際に指定できる Option に maxSubscribers を指定できます。

interface Option { metadata?: string | undefined; codecCapabilities?: Codec[]; encodings?: EncodingParameters[]; maxSubscribers?: number; }

maxSubscribers では SFU Bot が Publish した Stream を Subscribe できる数の上限値を指定できます。指定しない場合、maxSubscribers にはデフォルト値として 10 がセットされます。 SkyWay では maxSubscribers の最大値は以下になります。こちらの制限値は100人規模での双方向通信を想定した値になっています。

  • maxSubscribers の最大値:99

ただし、実際に100人規模での双方向通信を行うには注意点がいくつかあるため、詳細はこちらの記事を参考してください。

利用料金について

Enterprise Plan の場合、SFU Bot を利用する際には SFU 通信料と SFU ソース確保料(映像/音声)が発生します。

SFU通信料

SFU 通信料は SFU サーバーを経由した通信において、SFU サーバーが送受信したデータ量による料金になります。

1GB(ギガバイト)当たり40円(税抜)の料金がかかります。

SFUリソース確保料(映像/音声)

SFU リソース確保料(映像/音声)は SFU サーバーを利用する際に予約するサーバーリソースの延べ時間をカウントした料金になります。 SFU Bot が publish する全 publication の「利用時間 × publish 時に指定した maxSubscriber 数」の合計値が延べ時間になります。

映像の場合は1分当たり0.003円(税抜)、音声の場合は1分当たり0.0003円(税抜)の料金がかかります。

SFU Bot の料金についての詳細はこちらのページを参照してください。