FAQ¶
WebRTC API¶
Sora JavaScript SDK には Sora との接続部分の機能のみを提供しています。
そのため、映像や音声、データなどを実際に処理する場合はすべて JavaScript の WebRTC API を利用する必要があります。
解像度を変更したいです¶
Sora JavaScritp SDK はストリームの取得は行いません。
解像度の変更は getUserMedia や getDisplayMedia 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 を利用して、ミュートを行ってください。
仕様¶
メディアストリームの扱い¶
Sora JavaScript SDK は音声や映像といったメディアストリームを SDK から扱うことはありません。
そのため音声や映像を扱う場合は MediaDevices.getUserMedia() API や MediaDevices.getDisplayMedia() API を利用し、 アプリケーション開発者がメディアストリームを取得し、Sora JavaScript SDK に渡す必要があります。
マルチトラック¶
Sora JavaScript SDK が配信可能なディアストリームは 1 本で 1 音声トラック、1 映像トラックとなります。 これは Sora の仕様になります。
そのため、マルチトラックには対応しておりません。
もし複数の音声や映像を 1 クライアントで配信したい場合は複数のコネクションを張るようにしてください。