質問・問題
個別のコール(通話や配信)の音声・映像・ネットワーク品質を調べる方法はありますか?
回答・解決方法
Agora Analyticsでの調査方法
Agora Analytics についての詳細はこちら(添付資料あり)。
Agora Analytics はサーバ側で取得できたクライアントの状態に関する以下のような情報をWeb UIを通じて確認することができます。(取得できる情報・取得できる期間は、ご契約の Agora Analytics パッケージやサポートパッケージの内容により異なります)
- ユーザイベント(映像音声の配信開始・終了やChannelへのjoin/leaveなど)
- デバイス状態(システム、アプリのCPU使用率)
- デバイスのプラットフォームや場所(IPアドレスから推測)
- 配信側での入力音量と受信側での受信音量
- 送信/受信ビットレート(映像、音声)
- 送信/受信フレームレート(映像、音声)
- 送信/受信解像度(映像)
- 上り・下り帯域でのパケットロス率
- 映像や音声のフリーズ(映像、音声の描画時)
ただし一部の情報は、リアルタイムで反映されない部分もありますのであらかじめご承知おきください。リアルタイム性が重要な場合、同じくAgora AnalyticsのRealtime Monitoringを参照いただくか、以下にある通りSDK内で特定のコールバックをListenすることで調べることも可能です。
SDK内での確認方法
Native SDK の場合
チャンネルへの接続に成功すると、SDK は特定のコールバックを 2 秒おきにトリガするようになります。
これらのコールバックを Listen することで、現在の通話に関する以下のデータを取得することが可能です:
- ラストマイルネットワーク品質
- 統計情報 (現在のチャンネル内の人数、システム CPU 使用量、アプリケーション CPU 使用量、など)
- ローカル音声ストリームに関する統計情報 (チャンネル数、サンプルレート、平均送信ビットレート、など)
- ローカル映像ストリームに関する統計情報 (エンコード時のフレームの寸法、送信ビットレート、など)
- リモート音声ストリームに関する統計情報 (チャンネル数、平均受信ビットレート、など)
- リモート映像ストリームに関する統計情報 (受信映像の縦横サイズ、受信ビットレート、など)
また、 音声または映像ストリームの状態が変化 (配信中、停止など) したタイミングに合わせて、その時の状態を取得できるコールバックも用意されています。
取得可能な情報の種類、API 名、それぞれの実装方法については、以下のリンクからご覧ください:
※ プラットフォームとバージョンを下記ページ内で選択いただけます。
4.x Doc.
3.x Doc.
Web SDK 3.x の場合
Web SDK 3.x では、以下の統計情報が取得できます:
- ローカルユーザー側のアップリンク及びダウンリンクネットワーク状況
- チャンネル内で発生した例外イベント
また、以下の統計情報を返す API は Google Chrome のみサポートとなります:
- システム統計情報
- ネットワーク統計情報
- セッション統計情報
- ローカルストリームに関する統計情報
- リモートストリームに関する統計情報
取得可能な情報の種類、API 名、それぞれの実装方法については、以下のリンクからご覧ください:
- Report Call Statistics (Web SDK 3.x)
※ プラットフォームとバージョンをページ内で選択いただけます。Webを選択してください。
Web SDK 4.x の場合
Web SDK 4.x では、以下の統計情報が取得できます:
- ユーザーのラストマイルアップリンク及びダウンリンクに関するネットワーク状況
- 通話統計情報
- ローカルオーディオ・ビデオトラックに関する統計情報
- リモートオーディオ・ビデオトラックに関する統計情報
- チャンネル内で発生した例外イベント
取得可能な情報の種類、API 名、それぞれの実装方法については、以下のリンクからご覧ください:
- Report Call Statistics (Web SDK 4.x)
※ プラットフォームとバージョンをページ内で選択いただけます。Webを選択してください。
合わせて、個別のコールで発生した事象について、Agora社と連携し原因調査などを行うことも可能です。
その場合、事象の内容、再現方法およびSDKログ(アプリ設定要)などの情報が必要になります。詳細は、[ログ解析を依頼したいのですが、どのような情報が必要でしょうか?]をご参照ください。