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 の存在を意識をする必要はありません。 Publish する際に、type に sfu を指定することで利用できます。

import { SkyWayContext, SkyWayRoom } from "@skyway-sdk/room"; const context = await SkyWayContext.Create(token); const room = await SkyWayRoom.FindOrCreate(context, { name: "something", }); const me = await room.join(); await me.publish(audio, { type: "sfu" });

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

Coreの場合

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

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

利用時の注意点

maxSubscribers

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 の料金についての詳細はこちらのページを参照してください。