サイマルキャスト機能

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);
© Copyright 2024, Shiguredo Inc. Created using Sphinx 9.1.0