---
lang: ja
path: user-guide/sfu
labels: ユーザーガイド/SFU
metaTitle: SFU ｜ ユーザーガイド ｜ SkyWay（スカイウェイ）
---

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

![sfu](/media/posts/docs/6_sfuimage.svg)

## 利用方法
SFU サーバーの利用方法を JavaScript SDK を例に説明します。

### Room ライブラリの場合
Publish する際に、type に sfu を指定することで、SFU サーバーを利用できます。
```ts
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リファレンス](https://javascript-sdk.api-reference.skyway.ntt.com/room) を参照してください。

### Core ライブラリの場合
SFU サーバーもメディア通信を実施するため、1 つの Member とみなして通信します。

この仕組みから、SkyWay Core ライブラリでは、SFU Bot という特殊な Member を Channel 内に Join させることにより、SFU サーバーを利用します。
SkyWay Core ライブラリで SFU Bot を利用するには、SFU Bot ライブラリの併用が必要です。

詳細については SFU Bot ライブラリの [APIリファレンス](https://javascript-sdk.api-reference.skyway.ntt.com/sfu-bot)を参照してください。

## SFU サーバーを利用する際の注意事項
### maxSubscribers
SFU サーバーを利用する場合は、Publish を行う際に指定できる Option に maxSubscribers を指定できます。

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

maxSubscribers では、SFU サーバーで中継した Publication の Stream を Subscribe できる数の上限値を指定できます。指定しない場合、maxSubscribers にはデフォルト値として 10 がセットされます。

SkyWay では maxSubscribers の最大値は以下になります。こちらの制限値は100人規模での双方向通信を想定した値になっています。
- maxSubscribers の最大値:99

ただし、実際に 100 人規模での双方向通信を行うには注意点がいくつかあるため、詳細は[こちらの記事](/ja/docs/cookbook/javascript-sdk/large-scale/)を参照してください。

## 利用料金について

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

その他も含めた料金の詳細は[こちらのページ](/ja/pricing/)を参照してください。

### SFU 通信料

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

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

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

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

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