動作要件


Apple macOS, Microsoft Windowsで動作する下記のブラウザに対応しています。

Google Chrome 94 以降
Microsoft Edge 91 以降
Safari 14 以降

iOSは14以降に対応しています。
Androidにおいても動作するよう設計しておりますが機種によっては動作しない場合がありますので、事前の動作検証をお勧めします。

システムの開発要件


システムは構成パーツごとに下記の言語とフレームワークで開発されています。

フロントエンド:Thymeleaf, TypeScript
バックエンド:Java, Spring Boot 2
会議画面:TypeScript, React

また、下記のOSで動作させることを想定しています。

Ubuntu 20.04

SMSの送信やメールの送信は下記のSaaSのいずれかと連携させることを想定しています。

メール送信:Alicloud DirectMail, Amazon SES
SMS送信:Alicloud Short Message, Amazon SNS

通信について


本システムは通信においてWebRTCを採用しております。WebRTCは多くの開発者が改善に参加するオープンソースの国際規格であり、リアルタイム性が高く遅延の少ない映像音声通信と暗号化による安全性の確保を両立しています。

一般的に暗号化は独自規格よりも多くのエンジニアにより改善されるオープンな規格の方が安全とされています。

WebRTC は接続元の状況に応じて UDP, TCP, TLS を使い分けることが可能で WebMeeting Software Suite はその全てに対応しています。 UDP に比べ TCP は遅延が増えやすく。 TLS はその上、負荷も増大します。一般家庭からの通信の場合にはほとんどの場合で UDP が利用可能ですが、会社などからご利用の場合にはセキュリティ対策としてインターネット接続が Proxy を介すものになっているために UDP が利用できず、TCP や TLS を利用しての通信となる場合があります。
この場合には UDP 接続ができるように社内のネットワーク担当者にご相談いただけますと遅延の軽減や映像音声品質の向上に繋がる場合がありますので、ご検討ください。

映像音声通信はその特性上通信量が非常に多くなります。携帯電話網を使った通信でのご利用におきましては、パケット通信量にご注意ください。また、多くの方が同時に無線LANを利用されている環境においては映像音声の品質に影響が生じる場合がありますので有線接続も合わせてご検討ください。

また、本システムは安定した確実な通信を提供することができるよう端末間のP2P接続ではなく全ての通信がサーバー上のSFUを介すシステムとなっております。サービス提供者様はサーバーの通信量と帯域にご注意ください。

SFUとは


SFUはSelective Forwarding Unitの頭文字をとったもので、WebRTCにおける映像の配信形態の一つです。

WebRTCといえばP2Pとも言われますが残念ながらP2Pでは3人以上で会議を行おうとするとAさんにはBさん、Cさんが見えるが、BさんはAさんしか見えていないということが起こりえます。

また、お手元の PC やスマートフォンから個々に対して映像を送るため転送量と負荷が高くなってしまい少人数に限定されたり性能によっては正しく動作しなくなるという難点もあります。
加えて、個々の機器間通信となるため場所や接続方式ごとに経路が変わってしまうために接続できなかった場合にサービス提供側からのサポートも困難となります。そのため、商用での提供は非常に難しい技術となっています。

SFU を利用した場合には、お手元の PC やスマートフォンからの映像は一度 SFU が受け取り、その後 SFU が各参加者に映像を配ります。これにより各機器は SFU と接続さえできれば漏れなく映像を受け取ることができるとともに、各々の負荷や転送量を削減できることから大人数での会議も可能となります。また、通信もサーバーとの通信になるため通信経路が限定できサポートも容易となっています。WebMeeting Software Suite では UDP, TCP, TLS の全ての通信方式に対応しているため、ブラウザが対応していて Web ページを見ることができれば映像音声接続も可能となります。

本システムではSFUの特性を活かし、個々の機器から高品質と低品質の二種類の映像を受け取り必要に応じて参加者に選択的に映像を送信するSimulcastという技術を採用し参加者のCPU負荷と転送量を抑えつつ、大人数も参加可能な高品質のWeb会議を提供しています。

まとめると以下のようにSFUの方が利点が多くなります。

  P2P SFU
端末の負荷 高い 低い
端末の転送量 多い 少ない
最大参加者数 (4-5人まで) 多い(10人以上)
サーバーの転送量 少ない 多い
サポート 難しい 容易

映像について


映像は表示内容や通信状況、発言に応じて映像品質の切替や受信の一時停止、再開を行っています。これによりPCやスマートフォンにおけるCPU負荷や通信量を抑えつつ、高い映像品質と10人以上での会議を可能にしています。

この制御を活用し本システムはスピーカーモードとギャラリーモード、画面共有モードの三種類の表示を会議中に切り替えることが可能です。

スピーカーモード

スピーカーモードでは大きな枠に発言者を表示し、発言していない人は小さく表示します。大きな枠はその時発言している人の映像に自動的に切り替わります。大きく表示している人は高品質映像を、小さく表示している人は低品質映像を受信することで品質を保ちつつ不可と通信量を削減しています。

ギャラリーモード

参加しているひと全員の映像を並べて表示します。一定の人数までは高品質な映像を、一定の人数を超えると低品質な映像を並べることで大人数表示と負荷と通信量抑えつつ大人数表示を実現しています。

画面共有モード

画面共有の映像を最も大きく表示して、小さな枠で発言者を表示します。発言者以外を表示をやめることで、画面共有の表示品質向上に全てを割り振る特別なモードです。

映像の品質を上げるには解像度以上にカメラが重要です。品質が気になる方はぜひカメラを変えてみてください。下記の機器をお勧めしています。

Logicool C920n, Logicool C920s

音声について


音声については従来のTV会議システムに比べて高音質とされるOpusコーデックを採用しています。

会議システムにおける音声の問題はシステムではなく環境に起因していることが多く見られます。音声の改善は全参加者が良い環境を整えることが重要となります。

下記の機器の導入をご検討ください。

大人数の会議室で利用する場合:YAMAHA YVC-1000
少人数の会議室で利用する場合:YAMAHA YVC-300
個人で利用する場合:Logicool H390、その他マイク付きイヤホン


スマートフォンを購入された際に付属していたマイク付きイヤホンを使うだけでも音声は劇的に改善する可能性があります。ぜひご検討ください。 上記に挙げた以外で会議用マイクスピーカーやヘッドセットをご購入される場合にはUSB接続の機器を購入されることをお勧めします。USB接続であればPC自体のオーディオに問題がある場合でも正常に利用できる可能性が高いです。

マイクとスピーカーを個別で購入されると自分の声が二度相手に聞こえるエコー、ポーと高い音がなり続けるハウリング等を引き起こす原因となる場合があります。 特に外部接続でTVなどのスピーカーが内蔵されたモニターを接続した場合についても上記の事象が発生する場合があります。PCの内蔵マイクスピーカー、会議用マイクスピーカーをご利用ください。

カメラにつきましてもPC内蔵のカメラやUSB接続のWeb会議用カメラをご利用ください。撮影用や録画用のカメラをご利用されると映像と音声の唇の動きが一致しないため映像を脳が処理できず聞き取れなくなる場合がありますので、こちらについてもご遠慮ください。