FAQ¶
WebRTC API¶
Sora JavaScript SDK には Sora との接続部分の機能のみを提供しています。
そのため、映像や音声、データなどを実際に処理する場合はすべて JavaScript の WebRTC API を利用する必要があります。
解像度を変更したいです¶
Sora JavaScript 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/light-adjustment at develop · shiguredo/media-processors · GitHub を利用することで簡単にブラウザで背景ぼかし機能を利用可能です。
以下で動作確認が可能です。 https://shiguredo.github.io/media-processors/examples/light-adjustment.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 でも利用可能です。
MediaStreamTrack から MediaStream の ID を取得したいです¶
MediaStreamTrack から MediaStream の ID は取得できません。 そのため、もし取得したい場合は何かしらの方法で ID を保持しておく必要があります。
ただし removetrack
コールバックは MediaStream が発火させるため event.target
で発火した MediaStream を取得可能です。
仕様¶
メディアストリームの扱い¶
Sora JavaScript SDK は音声や映像といったメディアストリームを SDK から扱うことはありません。
そのため音声や映像を扱う場合は MediaDevices.getUserMedia() API や MediaDevices.getDisplayMedia() API を利用し、 アプリケーション開発者がメディアストリームを取得し、Sora JavaScript SDK に渡す必要があります。
マルチトラック¶
Sora JavaScript SDK が配信可能なディアストリームは 1 本で 1 音声トラック、1 映像トラックとなります。 これは Sora の仕様になります。
そのため、マルチトラックには対応しておりません。
もし複数の音声や映像を 1 クライアントで配信したい場合は複数のコネクションを張るようにしてください。