ビデオストリーミングコンポーネント
VideoStreamSender
クラスと VideoStreamReceiver
クラスは映像の送受信用クラスです。送信側と受信側でそれぞれ異なるコンポーネントが実装されています。
ビデオソースとして以下が利用できます。
VideoStreamSender
コンポーネントリファレンス
プロパティ
プロパティ | 機能 | デフォルト |
---|---|---|
ビデオソースの種類 | 以下のオプションからビデオソースを選択します。 - カメラ - スクリーン - ウェブカメラ - テクスチャ |
|
カメラ | ||
カメラ | 送信用のカメラを指定します。 | |
テクスチャ | 送信用のテクスチャを指定します。 | |
ウェブカメラデバイスのインデックス | 送信用のビデオ入力デバイスのインデックスを指定します。 | 0 |
ウェブカメラ使用許可の自動リクエスト | ウェブカメラ使用の許可をリクエストします。 Application.RequestUserAuthorization をプログラム上で実行する場合は再度呼び出しは不要です。 | オン |
深度バッファ | レンダーテクスチャのデプスバッファのの深度バッファの精度を指定します(ビット単位)。 | No depth buffer |
アンチエイリアス | レンダーテクスチャのアンチエイリアスのレベルを設定します。 | なし |
ストリーミングサイズ | ストリーミングするフレームバッファのサイズ。 | 1280 x 720 |
ビデオコーデック | プラットフォーム毎に異なるハードウェアコーデックが提供されているため、選択できるコーデックはプラットフォームによって異なります。ソフトウェアコーデックはどのプラットフォームでも利用可能です。 デフォルト を選択した場合、他のピアとのネゴシエーションに利用可能な全てのコーデックを使用します。 | デフォルト |
フレームレート | エンコーディング処理のフレームレートを指定します。ゲーム内のフレームレートより低い値を指定する必要があります。 | 30 |
Bitrate (kbits/sec) | ビデオストリーミングのビットレート。 | |
Min | ビットレートの最小値。 | 0 |
Max | ビットレートの最大値。 | 1000 |
解像度の縮小 | ビットレートを小さくするためビデオ解像度を縮小します。 | No Scale |
VideoStreamReceiver
コンポーネントリファレンス
プロパティ
パラメーター | 説明 | デフォルト |
---|---|---|
レンダリングモード | 受信したストリーミングをレンダリングする対象を指定します。 - レンダーテクスチャ - API Only |
レンダーテクスチャ |
ターゲットテクスチャ | 受信用のレンダーテクスチャを指定します。 | |
ビデオコーデック | プラットフォーム毎に異なるハードウェアコーデックが提供されているため、選択できるコーデックはプラットフォームによって異なります。ソフトウェアコーデックはどのプラットフォームでも利用可能です。 デフォルト を選択した場合、他のピアとのネゴシエーションに利用可能な全てのコーデックを使用します。 | デフォルト |
詳細
ビデオストリーミングの品質はネットワークの状態に影響を受けます。ネットワークの状態が悪化しても、コンポーネントのプロパティを調整することで、ストリーミングを維持することができます。なお、ストリーミングサイズ、テクスチャフォーマット、ビデオコーデック は、ストリーミング開始後に変更できません。
ビデオコーデック
ビデオコーデックの選択によってストリーミングパフォーマンスは変化します。ビデオコーデックにはハードウェア実装のものとソフトウェア実装のものがありますが、テクスチャサイズが大きい場合は特に、ハードウェア実装のものが高速になります。しかし、利用可能なハードウェア実装のコーデックはプラットフォームによって異なるため、特定の環境では利用できない場合があります。
コーデックは送信側と受信側の双方で利用可能なコーデックを選択する必要があります。ビデオコーデックに デフォルト を選択した場合、ピアのネゴシエーションに利用可能な全てのコーデックを使用するため、コーデックのミスマッチを防ぐ事ができます。
注記
いくつかのコーデックでは利用可能な解像度に制約がある場合があります。例えば、解像度の値に奇数を使用した場合に、自動でリサイズされることがあります。
注記
Firefox 104.0.2 で、送信側のビデオコーデックを デフォルト に設定した場合、ネゴシエーションが完了せずストリーミングが開始されない問題を確認しています。ビデオの送信側で以下のコーデックを明示的に指定する必要があります。
- VP8
- VP9 (Profile0, Profile2)
- H264 Constrained Baseline 5.1
フレームレート
ビデオストリーミングのフレームレートを指定します。ゲームの フレームレート よりも低い値を指定してください。
解像度の縮小
テクスチャ解像度 が大きい場合、ストリーミングに必要なビットレートは増加します。品質の低いネットワークでも テクスチャ解像度 を小さくすることで、ストリーミングを安定させることができます。
ビットレート
ビットレート を指定して、ネットワークの状態に応じた映像品質の調整を行います。