サイマルキャスト機能¶
Sora Unity SDK のサイマルキャスト機能について説明します。
サイマルキャスト機能は、配信時に 1 つの RTCPeerConnection から複数の画質の映像を配信する機能です。
サイマルキャストの詳細については Sora の サイマルキャスト機能 をご確認ください。
サイマルキャストの有効化¶
サイマルキャスト機能を有効にするには、Sora.Config.Simulcast プロパティを true に設定します。
// Simulcast を有効化する例
// Inspector で設定可能にする
public bool simulcast = false;
// config に Simulcast プロパティを追加し、 true に設定
var config = new Sora.Config
{
SignalingUrl = signalingUrl,
ChannelId = channelId,
Role = Role,
CameraConfig = new Sora.CameraConfig()
{
CapturerType = captureUnityCamera && capturedCamera != null ? Sora.CapturerType.UnityCamera : Sora.CapturerType.DeviceCamera,
UnityCamera = capturedCamera,
VideoFps = videoFps,
// 3 つの画質を配信するために解像度を 1080p に設定
VideoWidth = 1920,
VideoHeight = 1080,
VideoCapturerDevice = videoCapturerDevice,
},
// 3 つの画質を配信するために H264 でビットレートを 5000 kbps に設定
VideoCodecType = Sora.VideoCodecType.H264,
VideoBitRate = 5000,
// Simulcast を有効化
Simulcast = true,
};
sora.Connect(config);
受信する映像の画質の指定 (SimulcastRid)¶
注釈
2027 年 12 月リリース予定の Sora で廃止予定のため、Sora Unity SDK 2026.1.0 以降は非推奨となります。代わりに SimulcastRequestRid を使用してください。
シグナリング時に受信する映像の画質 (rid) を指定することができます。
この機能は Sendrecv / Recvonly でのみ利用可能です。
シグナリング時にサイマルキャストの rid を指定するには、Sora.Config.SimulcastRid を指定します。
指定可能な rid は R0, R1, R2 の 3 種類です。
// Simulcast rid を指定する例
// Inspector で設定可能にする
// enable フラグを用意して指定するか未指定かを切り替え可能にする
public bool enableSimulcastRid = false;
// 指定する rid を用意する(R0, R1, R2 のいずれか)
public Sora.SimulcastRidType simulcastRid = Sora.SimulcastRidType.R0;
// config に SimulcastRid プロパティを追加し、 rid の配列を設定します
var config = new Sora.Config
{
SignalingUrl = signalingUrl,
ChannelId = channelId,
// sendrecv / recvonly でのみ利用可能
Role = Sora.Role.Sendrecv,
CameraConfig = new Sora.CameraConfig()
{
CapturerType = captureUnityCamera && capturedCamera != null ? Sora.CapturerType.UnityCamera : Sora.CapturerType.DeviceCamera,
UnityCamera = capturedCamera,
VideoFps = videoFps,
// 3 つの画質を配信するために解像度を 1080p に設定
VideoWidth = 1920,
VideoHeight = 1080,
VideoCapturerDevice = videoCapturerDevice,
},
// 3 つの画質を配信するために H264 でビットレートを 5000 kbps に設定
VideoCodecType = Sora.VideoCodecType.H264,
VideoBitRate = 5000,
// Simulcast を有効化
Simulcast = true,
};
// rid を指定する場合のみプロパティを追加
if (enableSimulcastRid)
{
config.SimulcastRid = simulcastRid;
}
sora.Connect(config);
受信する映像の画質の指定 (SimulcastRequestRid)¶
注釈
Sora 2025.2.0 以降で利用可能です
シグナリング時に受信する映像の画質 (rid) を指定することができます。
この機能は Sendrecv / Recvonly でのみ利用可能です。
シグナリング時にサイマルキャストリクエストの rid を指定するには、Sora.Config.SimulcastRequestRid プロパティに rid を指定します。
指定可能な rid は none, R0, R1, R2 の 4 種類です。
// Simulcast Request rid を指定する例
// Inspector で設定可能にする
// enable フラグを用意して指定するか未指定かを切り替え可能にする
public bool enableSimulcastRequestRid = false;
// 指定する rid を用意する(none, R0, R1, R2 のいずれか)
public Sora.SimulcastRequestRidType simulcastRequestRid = Sora.SimulcastRequestRidType.R0;
// config に SimulcastRequestRid プロパティを追加し、rid の配列を設定します
var config = new Sora.Config
{
SignalingUrl = signalingUrl,
ChannelId = channelId,
// sendrecv / recvonly でのみ利用可能
Role = Sora.Role.Sendrecv,
CameraConfig = new Sora.CameraConfig()
{
CapturerType = captureUnityCamera && capturedCamera != null ? Sora.CapturerType.UnityCamera : Sora.CapturerType.DeviceCamera,
UnityCamera = capturedCamera,
VideoFps = videoFps,
// 3 つの画質を配信するために解像度を 1080p に設定
VideoWidth = 1920,
VideoHeight = 1080,
VideoCapturerDevice = videoCapturerDevice,
},
// 3 つの画質を配信するために H264 でビットレートを 5000 kbps に設定
VideoCodecType = Sora.VideoCodecType.H264,
VideoBitRate = 5000,
// Simulcast を有効化
Simulcast = true,
};
// rid を指定する場合のみプロパティを追加
if (enableSimulcastRequestRid)
{
config.SimulcastRequestRid = simulcastRequestRid;
}
sora.Connect(config);