マルチトラックを使うとうまく行かない。
現在、Video を 2 トラック使用するマルチトラック接続を使用していますが、
どうにもうまくいかずご相談させていただきます。
使用方法ですが、画面共有、カメラ、音声の合計3トラック(Video 2、Audio1)の MediaStream で
mesh ルーム又は sfu ルームに接続すると下記が期待通り動かない気がします。
1. 3トラック使用中に、後から入って来た人が Video 1、Audio 1 の2トラックしか受信できない。
2. RepalceStream で、カメラと音声の通常の2トラックと、3トラックとの切り替えが
うまくいかない。
2 は、切り替えを再接続でしのいでいるのですが、1 も再接続でしのごうかと思ったら、
3 トラックを使っているクライアントが複数ある場合にうまくいかず、みなさま
どうされてるかお伺いできればと思いました。
よろしくお願いいたします。
-
> 1. 3トラック使用中に、後から入って来た人が Video 1、Audio 1 の2トラックしか受信できない。
SFURoomで利用可能なTrackはVideo×1、Audio×1となっており、Video×2、Audio×1は動作しません。
MeshRoomについては、Video×2、Audio×1でも動作するはずです。
> 2. RepalceStream で、カメラと音声の通常の2トラックと、3トラックとの切り替えが
うまくいかない。以下APIリファレンスの通り、MediaStreamTrackの増減には対応しておりませんので、その切替はできません。
再接続の対応でお願い致します。
https://webrtc.ecl.ntt.com/api-reference/javascript.html#methods-4
-
Naka 様
深夜にありがとうございます。
ちょっと試してみましたが、やはり、1. peer1 が 2 トラックで mesh ルームに接続。
2. peer2 が 3 トラックで mesh ルームに接続。
この時、peer1 が受信する peer2 からの stream には 3トラック( 期待通り )
同様に、peer2 が受信する peer1 からの stream には 2トラック( 期待通り )3. peer3 が 2 トラックで mesh ルームに接続。
この時、peer3 が受信する peer1 と peer2 からの stream は、どちらも 2 トラックのみ。
( peer1 からは当然 2 トラックですが、peer2 からは 3 トラックを期待してました )というように動作している気がしますが、もう少し試してみたいと思います。
replaceStream については、トラック数が変わるのはダメかなとは思っていましたが、
前後とも、映像・音声両方を持っているトラックだったのでいけるかなと期待してました。
# 現状は、トラック数が変わったらというのは明記されていない気がします。
ありがとうございました。 -
Naka様
現在、MeshRoomを利用して、peer1(Video×2、Audio×1), peer2(Video×1、Audio×1)実装を進めております。
# パターンA
peer2がmeshルームに接続→peer1がmeshルームに接続の場合、peer2でVideo×2を受信できる
# パターンB
peer1がmeshルームに接続→peer2がmeshルームに接続の場合、peer2でVideo×1のみ受信できる
上記でken様が言及されているのと同様に、上記パターンBの場合、peer2でVideo×2を受信したいのですが、Video×1のみしか受信ができません。※この状態からpeer1を再接続するとパターンA同様に接続されます。
こちら仕様上、パターンBを実現することができるかどうかお伺いさせていただくことはできますでしょうか。どうぞよろしくお願いいたします。
-
Ken様、masatomoty様
SkyWayは一部マルチストリームでの送受信ができるパターンもございますが、基本的にはマルチストリームには対応しておりません。
マルチストリームが使えるパターンと使えないパターンをまとめたFAQを公開いたしましたのでご確認ください。
Please sign in to leave a comment.
Comments
4 comments