FAQ

WebRTC API

Sora JavaScript SDK には Sora との接続部分の機能のみを提供しています。

そのため、映像や音声、データなどを実際に処理する場合はすべて JavaScript の WebRTC API を利用する必要があります。

WebRTC API - Web API | MDN

解像度を変更したいです

Sora JavaScritp SDK はストリームの取得は行いません。

解像度の変更は getUserMediagetDisplayMedia API 側で行ってください。

背景をぼかしたいです

Sora JavaScript SDK はストリームの加工は行いません。

時雨堂がオープンソースとして公開している media-processors/packages/virtual-background at develop · shiguredo/media-processors を利用することで簡単にブラウザで背景ぼかし機能を利用可能です。

以下で動作確認が可能です。 https://shiguredo.github.io/media-processors/examples/virtual-background.html

ノイズを抑制したいです

Sora JavaScript SDK はストリームの加工は行いません。

時雨堂がオープンソースとして公開している media-processors/packages/noise-suppression at develop · shiguredo/media-processors を利用することで簡単にブラウザでノイズ抑制機能を利用可能です。

以下で動作確認が可能です。 https://shiguredo.github.io/media-processors/examples/noise-suppression.html

音声でステレオを利用したいです

Sora JavaScript SDK はストリームの加工は行いません。

WebRTC の Opus はデフォルトで 2 チャンネル利用するためステレオに対応しています。

ただし、ステレオ音声を利用する場合はデフォルトで有効になっているエコーキャンセルを無効にする必要があります。

https://www.w3.org/TR/mediacapture-streams/#dom-mediatracksupportedconstraints-echocancellation

画面キャプチャをしたいです

Sora JavaScript SDK は画面ストリームの取得は行いません。

MediaDevices.getDisplyMedia() を利用して画面のストリームを取得してください。

カメラを切り替えたいです

Sora JavaScript SDK はトラックの切り替えは行いません。

トラックを切り替えたい場合は RTCRtpSender.replaceTrack() を利用して既存のトラックと置き換えを行ってください。

音声をミュートにしたいです

Sora JavaScript SDK はトラックのミュートは行いません。

トラックのミュートを行いたい場合は MediaStreamTrack.enabled を利用して、ミュートを行ってください。

Electron で利用したいです

Sora JavaScript SDK は Electron でも利用可能です。

仕様

メディアストリームの扱い

Sora JavaScript SDK は音声や映像といったメディアストリームを SDK から扱うことはありません。

そのため音声や映像を扱う場合は MediaDevices.getUserMedia() API や MediaDevices.getDisplayMedia() API を利用し、 アプリケーション開発者がメディアストリームを取得し、Sora JavaScript SDK に渡す必要があります。

マルチトラック

Sora JavaScript SDK が配信可能なディアストリームは 1 本で 1 音声トラック、1 映像トラックとなります。 これは Sora の仕様になります。

そのため、マルチトラックには対応しておりません。

もし複数の音声や映像を 1 クライアントで配信したい場合は複数のコネクションを張るようにしてください。

© Copyright 2023, Shiguredo Inc. Created using Sphinx 5.3.0