Amazon Chime SDKとは?
📅 2022-03-21
はじめに
皆さん、Amazon Chime SDKを知っていますか?
このブログで初めてAmazon Connect以外を取り上げることになりますが、AWSを利用している、知っている人でもAmazon Chime SDKはあまり知られていないかもしれません。
- 「AWSのSlack的なやつでしょ?」
- 「Web会議のツールでしょ」
といったイメージが強いと思いますが、それはAWSがサービスとして提供しているAmazon Chimeのことで、Amazon Chime SDKは、
リアルタイムコミュニケーションをアプリケーションに組み込むための通信コンポーネントセットです。
AWSのオンラインオンライン会議サービスのAmazon Chimeと同じインフラ、サービスを利用して、様々なコミュニケーション機能を簡単に実装することができます。
これからの時代、リモートワークやリモートサービスが当たり前になり、リアルタイムなコミュニケーション需要がより増していくかと思います。
一方で、リアルタイム通信を行うためのインフラ構築技術やアプリケーションを開発する技術というものは非常に高く、アプリケーションを市場に投入するまでの時間・コスト・機能制限の増加が懸念されます。
これらの課題を解決し、拡張性が高く、低価格のマネージドサービスでアプリケーション開発を行うことができるのがAmazon Chime SDKとなります。
それでは具体的にどういった機能があるのかを見ていきましょう。
WebRTCのメディアサービス機能
一番想像がつきやすいものがこちらのメディアサービスです。
WebRTC上での音声通話、ビデオ通話、画面共有など、Web会議の一般的な機能がすべて揃っています。
代表的な機能を紹介します。
クロスプラットフォーム対応
Javascript(ウェブ)、Swift(iOS)、Kotlin(android)のライブラリが提供されており、デバイスを選ばずクロスプラットフォームなサービスを開発することができます。
高音質、高画質なメディア配信
音声は48KHz、ステレオの音声に対応し、ビデオは720pのHDビデオに対応しています。
また、複数の参加者が映像を配信している場合、参加者ごとに優先度を設定することで、優先度の高い参加者のメディア配信を劣化させずに配信することができます。
コンテンツシェアと画面共有
会議の参加者に映像コンテンツをシェアしたり、PCの画面共有することができます。
機械学習を活用した映像と音声の調整
機械学習を活用し、
- 発話者の声以外のノイズを除去するVoice Focus機能
- スピーカーの音をマイクが拾って発生するエコーを削減するEcho Reduction機能
- 映像の背景をぼかす機能
が提供さています。
リアルタイムテキスト化
会議に参加している上位2名の発話者をアルゴリズムが特定し、音声をAmazon Transcribeへ送信、リアルタイムにテキスト化します。
メディアサービスの仕組み
図の左右の顧客側、企業側のアプリケーションにそれぞれAmazon Chime SDKを組み込み、音声やカメラの映像を送受信できるようにします。
Amazon Chime SDKは、中央のAmazon Chimeメディアサービスへ向けてWebRTCで音声や映像を送信し、メディアサービスは各クライアントから送信されるデータをミーティングの参加者へ配信します。
ミーティング部屋の管理や、各ミーティングの参加者の管理といった管理系は、図の上部のAWS SDKからAmazon Chime APIを利用し、バックエンドで実装できるようになっています。
2つのSDKが登場し、それぞれの役割は下記となります。
PSTN(公衆電話網)機能
Amazon ChimeではAmazon Connectとは別に電話番号を取得することができます。
2022年3月現在は日本の電話番号にはまだ対応していません。
Chime上で取得した電話番号、音声通信とAWS Lambdaを連携することで、サーバレスなカスタムテレフォニーアプリケーションを構築することができます。
また、Amazon Chime SDKがAmazon Polly、Amazon Lexが統合されているため、会話形インターフェースを開発することができます。
既存のIP-PBXにLexやPollyを組み込むことができるようになったということですね。
また、電話番号経由でメディアサービスの会議に参加することもできます。
SIPトランク機能
Amazon Chime Voice Connectorというものがあり、こちらは従量制のSIPトランクのサービスになります。
Cloud Watchで通話のヘルスチェックをすることができたり、オンプレミスのPBXとの間のネットワークをDirect Connectでつなぐことができる点、リージョン間冗長化に対応している点が注目のポイントだと思います。
メッセージ機能
チャット部屋機能をアプリケーションに組み込むことができます。
ここでは代表的な機能だけをリスト形式で紹介します。
- 1チャンネルあたり最大10万人のユーザーが参加可能
- メッセージ履歴を指定した期間公開可能
- 添付ファイルが利用可能。アップロードされたファイルはS3等に保存可能
- 1日~15年の範囲でメッセージ保存ポリシーと自動削除が可能
- アプリを開いていないときもAmazon Pinpointを通じてプッシュ通知を送ることが可能
おわりに
Amazon Chime SDKには多くの機能があり、リアルタイムコミュニケーションをアプリケーションに組み込む際に利用できるものということがわかりました。
Amazon Chime SDKのPSTN Audio機能についてはまだ情報が少なく、どういったことができるのかがまだ良くわかっていないため、今後掘り下げていきたいと思います。
今後はAmazon Connectに限らず、コミュニケーションに関連する様々な機能やサービスについても発信していきます!