今回は、自前のサービスに手軽にビデオチャットを追加できる神サービスである Azure Communication Services について解説します。
本記事では、「実際にお客様に提供するサービスならここは調べないといけないよね」という情報をまとめてお伝えします。
本格的に利用を検討している人や、実際に開発を進めてより深い情報が必要になってきた人に向けた記事になります。
具体的な使い方や何ができるかについて知りたい人は自分の過去記事や同チームの日高君の記事をご覧ください※。
Azure Communication Services のグループ通話って誰がつながるの?
「Azure Communication Services はグループ通話も容易!Teamsとの連携も!!」みたいな記事がたくさんありますが、実際のグループ通話の概念を知っている人は少ないのではないでしょうか。
意図しない人とはつながらないこと、意図した人には繋げることができることを理解するためには必須の知識かと思います。
そんなグループ関係のあれこれを一発でわかる図をご用意いたしました。
基本的にはグループIDというGUID形式の文字列で分けられます。
このIDはAzure Communication Services のリソースから払い出されるものではなく、ユーザー側で指定します。
同じグループIDを指定して通話に参加したユーザーを Azure Communication Services が繋げてくれるのがグループ通話になります。
ただし、同じグループIDであっても別のAzure Communication Services リソースから払い出されたユーザー同士は同じグループ通話には入れません。
Teams通話についてはグループ通話とは違い、予め用意されたミーティングURLに向けて参加します。
この時、標準ではどのAzure Communication Service のリソースから払い出されたユーザーかは関係がありません。
Azure Communication Services のリソースに冗長化は必要?
結論:不要です
Azure Communication Services はTeamsの基盤で動いており、「リソース毎にサーバーが用意される」みたいな仕組みではないため、複数リソースを立てたとしても落ちるときは全部落ちます。
また、前述のとおり別リソースのユーザーとは同じグループ通話に参加することができないため、複数リソースを使用しようと思うとシステム全体について複雑な設計が必要になります。
リソース生成時に「データの場所」を設定することになりますが、こちらは文字通りデータの置き場所でしかないです。
テキストチャットで入力されたテキストなどが保管される場所の指定になります。
Azure Communication Services のクォータ制限って何がある?
詳しくは以下の公式記事をご覧ください。
特に注目のポイントについて抜粋します。
呼び出しの最大制限の参加者の数
350人
Teams の方は1000人なので将来的にはそこまで増えるかもしれません。
とはいえ、双方向の通話で350人繋ぎたい需要もあまりない気がします。
Calling SDK ストリーミング サポートの同時に表示できる着信リモート ストリームの最大数
Web:4 つのビデオと 1 つの画面の共有
Windows/Android/iOS:6 つのビデオと 1 つの画面の共有
こちらは同時に表示できるビデオの数になります。
上記の値は「ここまでは保証する」というものであり、それ以上についてはどうなるかは不明です。
例えば、自分たちの環境ではWeb版の Calling SDK で6つのビデオの表示ができていました。
しかしこれは保証以上の動作なので、いつ表示できなくなっても文句は言えないわけです。
画面構成を考えるときは上記の制限は考慮するようにしましょう。
また、こちらの制限についても随時アップデート(上限の増加)しているようです。
まとめ
今回は、Azure Communication Services を用いたサービスを提供するまでに一度は考える必要がありそうな部分についてまとめてみました。
本記事が ビデオチャットを作成するべく調べている同志の助けになれば幸いです。
関連記事
Azure Communication Services でビデオチャットアプリを作ると○○分かかる #Azureリレー
ビデオチャットを自作するならAzure Communication Service!!検討中なあなたに伝えたいこと4つ!! #Azure リレー
Azure Communication Servicesで爆速通話アプリ作成 #Azureリレー
Vue+Azure Communication Servicesで通話アプリを作成する