質問・問題
Call Inspectorとは何ですか?
回答・解決方法
この記事では Agora Analytics の Call Inspector - コールインスペクター についてご紹介します。
Agora Analytics - Call Inspector とは
Agora Analytics の Call Inspector を利用すると、コール中に得られたSDKからの情報をもとに、以下のような通話の品質に関する情報を参照することができます。
- クライアント端末でのCPU使用率やアプリのCPU使用率などデバイスのステータス(Native SDKのみ)
- 配信側で録音された音量レベルと受信側での音量レベル、およびその配信・受信ビットレート
- 送受信された映像のフレームレート、解像度、ビットレート
- End-to-Endのパケット損失率
- オーディオとビデオのフリーズ(固まること)時間
- ユーザーイベントの概要(オーディオ送信停止や、ビデオの受信停止・再開など)
ご利用開始のお手続きの詳細については、[正式リリース] Agora Analytics のご紹介 を参照ください。
通話記録を検索する
Agora Consoleにログインし、ナビゲーションバーの左側にあるAgora Analyticsの下にあるCall Inspectorをクリックします。
通話を検索するには、検索フィールドに入力します。
- 左上隅にあるプロジェクトを選択します。
- 検索時間枠を指定します。
- ドロップダウンメニューでチャンネル名などを入力します。
- コールの状態(Call Ended / Call in Progress)でフィルタリングすると、終了している、または進行中のコールのみを検索できます。
- チャンネル名などを入力し、[Search]をクリックします。
通話品質を確認する
検索結果ページの[View Call Quality]をクリックすると、QoEページに移動できます。
QoEページには、各ユーザーのエクスペリエンス品質が表示されます。オーディオ/ビデオのフリーズ、ビデオ品質、パケットロスなどの状況をタイムラインで確認できます。このページでは、通話の基本情報、ユーザーリスト、エクスペリエンスの概要を俯瞰的に見ることができます。
基本情報
QoEページの上部には、プロジェクト名、チャネル名、開始時刻と終了時刻、通話時間など、通話の基本情報が表示されます。
ユーザーリスト
ユーザーリストには、ユーザーがチャンネルに参加/退出したときのuid
、場所、チャネル内の実際の時間(通話期間)など、通話中のユーザーの情報が表示されます。
View QoEトグルスイッチは、各ユーザーのQoEダイアグラムを表示するオン/オフを切り替えます。
コール品質分析
特定の送信者の品質上の問題が見つかった場合は、[Quality of Experience Overview] のグラフ右上にある [End-to-End Details]ボタンをクリックして、E2E(エンドツーエンド)ページに移動します。
[エンドツーエンドの詳細] ページには、特定の送信者と受信者の音声とビデオの統計情報が表示されます。これらの統計は、コールの品質に影響を及ぼしたと推測される問題を特定する一助となります。
ユーザーのイベントタイムラインは、次のような指標で確認できます。
- オーディオ配信ビットレートとパケット損失
- オーディオ受信ビットレートとパケット損失
- ビデオ配信ビットレートとパケット損失
- ビデオ受信ビットレートとパケット損失
タイムラインのスパイクにマウスオーバーして、ユーザーイベントを表示します。チャンネルへの参加の失敗など、重要なイベントを表す赤いスパイクに注意してください。
デバイス状態
システムとアプリのCPU使用率、システムのビジー状態を示します。システムがビジー状態(CPU使用率が高い場合)、オーディオ/ビデオがフリーズする可能性があります。
ユーザーイベント
ユーザーイベントは、エンドツーエンドの詳細ページにあります。タイムラインには赤、黄、緑のスパイクがあり、深刻、一般的、および通常のイベントを表します。
- 深刻なイベント: 通話体験に直接影響を与え、受信者が通常の画像を見ることを困難にするイベント。このようなイベントは、ユーザーがチャンネルに参加しなかった場合、ネットワーク接続が失敗した場合、ユーザーがオーディオ/ビデオモジュールを無効にした場合、またはユーザーがカメラのキャプチャを停止した場合に発生します。
- 一般的なイベント: 通話体験にある程度影響を与える可能性のあるイベント。このようなイベントは、ユーザーのネットワークステータスが不明な場合、ネットワークに変化があった場合、またはユーザーがオーディオ/ビデオストリームの送信を停止した場合に発生します。
- 通常のイベント: 通話体験に影響を与えないイベント。このようなイベントは、ユーザーがチャンネルに正常に参加した場合、ユーザーがカメラキャプチャを開始するか、ユーザーが最初のオーディオ/ビデオフレームを受信したときに発生します。
ビットレート
ビットレートは、1秒あたりに送受信されるデータ(ビット)の量です。
より高いオーディオ/ビデオビットレートは、より高いオーディオ/ビデオ品質を意味します。低ビットレートは必ずしも品質の問題を引き起こすわけではありませんが、非常に低いビットレートは、多くの場合、オーディオ/ビデオ品質が悪いことを意味します。
パケット損失
データはパケットと呼ばれる単位で送信されます。データ伝送では、パケットの一部が失われます。パケット損失率は、ネットワーク品質を反映した失われたパケットの割合です。
- 送信者のパケット損失率は、データを送信するパケット損失率です。
- 受信者のパケット損失率は、送信者から受信者へのパケット損失率です。
通常、パケット損失率が低いと、品質の問題は発生しません。高いパケット損失率(5%以上)は、ネットワーク品質が悪く、オーディオ/ビデオのフリーズやビデオのぼやけたビデオを引き起こす可能性があることを意味します。
フレームレート
フレームレートは、連続した画像(フレーム)がディスプレイに表示される周波数(レート)です。
フレームレートが高いほど、ビデオがスムーズになりますが、帯域幅とCPU使用率が高くなります。フレームレートが低いと、ビデオがフリーズする可能性があります。
解像度
解像度は、画像の幅と高さのピクセル数です。高解像度は、より鮮明なビデオを意味します。
Call Inspector のユースケース
ケース1:映像品質が悪いケース(送信側ネットワーク起因)
送信側のネットワークが原因で映像品質が悪いケースを想定します。エンドユーザー様からのお問い合わせとしては「Aさんからの映像がフリーズしたりぼやけたりする」といった形になります。
この場合、送信側(Sender)をAとし、受信側(Receiver)をBとする形で エンドツーエンドの詳細 を参照し原因分析が行えます。
上記のデータが得られたとして、このような分析ができます。(左がA拠点、右がB拠点とします)
- CPU使用率については、特に問題ない
- A拠点で多数のパケットロスが発生している(中央部にスパイクあり)
- B拠点でA拠点と同タイミングのパケットロスが多数見られる
- B拠点でパケットロスが発生したタイミングでフレームレート低下・ビデオのフリーズが発生している
上記の状況から、A拠点のパケットロスがB拠点での映像品質低下に影響を及ぼしていることがわかります。
ケース2:映像品質が悪いケース(受信側ネットワーク起因)
次に、受信側のネットワークが原因で映像品質が悪いケースを考えます。エンドユーザーからの問い合わせ内容としては「Aさんからの映像がフリーズしたりぼやけたりする」というもので、内容としてはケース1と同様であることも多々あります。そのため、同じ事象でも原因が異なることが多く、注意が必要となります。
この場合もケース1と同様、送信側(Sender)をAとし、受信側(Receiver)をBとする形で エンドツーエンドの詳細 を参照し原因分析が行えます。
今回のケースではこのように分析できます。(左がA拠点、右がB拠点とします)
- CPU使用率については、特に問題ない(低い)
- A拠点でパケットロスなどは発生しておらず、フレームレートも一定
- B拠点でパケットロスが多数見られる
- B拠点でフレームレート低下・ビデオのフリーズが発生している
上記の状況から、B拠点の不安定なネットワークが映像品質低下に影響を及ぼしていることがわかります。
まとめ
この記事では Agora Analytics の Call Inspector についてご紹介しました。より詳しく知りたい方は、Call Inspector (原文) を参照ください。また、Agora Analytics には複数のサブスクリプションプランが存在します。価格などの詳細については、担当営業にお問合せください。
合わせて、Agora Analyticsの情報のみで解決しない場合は、agora社に問合せをし詳細な解析を行うことも可能です。その際は、事象の内容、再現方法およびSDKログ(アプリ設定要)などの情報をご提供いただく必要がございますので、詳細は、[ログ解析を依頼したいのですが、どのような情報が必要でしょうか?]をご参照ください。