購読する診断

このガイドを使用して、ストリームの詳細を検査し、ストリームの終了を検出し、一般的な加入者の問題を解決します。また、UI で接続の問題を処理するためのガイダンスも含まれています。

ストリーム情報

Vonage Video SDKは、ほとんどのユースケースで推奨される高レベルの統計APIを通じて、詳細なストリーム品質メトリクスを公開します。このAPIは、音声、ビデオ、ネットワーク、および送信者側の統計を、ピア接続の遷移をまたいで安定したまま、統一されたセッション認識形式で提供します。高度なデバッグのために、SDKは未処理のピア接続データを反映する生のWebRTC統計レポートへのアクセスも提供します。

参照 クライアント観測可能性開発者ガイド をご覧ください。

また、デバッグや分析を支援するために、アクティブなストリームの診断詳細を取得することもできます。

サブスクライバーのオーディオとビデオの統計情報を取得するには、以下のイベントハンドラを追加します。 audioNetworkStats そして videoNetworkStats イベントは、OTSubscriber によってディスパッチされる。これらは、以下を含むサブスクライバのストリームに関する情報を提供する:

  • 失われたオーディオおよびビデオパケットの総数。
  • 受信したオーディオパケットとビデオパケットの総数。
  • 受信したオーディオとビデオの合計バイト数。
  • 現在の平均ビデオフレームレート。

より詳細なストリーム統計を取得するには Subscriber.getRtcStatsReport() メソッドを呼び出します。このメソッドはプロミスを返し、成功すると、JSON表現の RtcStatsReport オブジェクトを返します:

ストリームの終了とビデオの無効を検出

ストリームの終了を検出し、クリーンアップやUIの調整を行うことができます。

サブスクライバーのビデオが無効化されると、OTSubscriberオブジェクトは videoDisabled イベントを開催する:

メディアルータが加入者のビデオを無効にする場合、加入者に関連するユーザーインターフェイスを調整することができます。

について reason プロパティの videoDisabled イベントオブジェクトは、ビデオが無効になった理由を定義します。以下の値のいずれかを設定する:

  • "PublisherPropertyChanged" - 出版社はビデオの公開を中止した。

  • "QualityChanged" - メディアルーターが、ストリーム品質の変化に基づいて加入者へのビデオ送信を停止した。メディアルータのこの機能は、接続性が低下すると、加入者がビデオストリームを停止する。(加入者は、音声ストリームがある場合は受信を継続する)。

このイベントを送信する前に、加入者のストリームの品質が、ビデオストリームが使用不可 になる危険性があるほど低いレベルまで劣化したとき OTSubscriber オブジェから videoDisableWarning イベントを開催する。

接続性が改善され、再びビデオをサポートするようになった場合 OTSubscriber オブジェクトは videoEnabled イベントが発生し、加入者はビデオの受信を再開する。

を使用するセッションでのみ利用可能です。 メディア・ルーター (メディアモードがルーティングに設定されたセッション)であり、メディアモードがリレーに設定されたセッションではない。

ストリームを公開する際、ストリームの画質が原因でビデオが無効化されるのを防ぐことができます。設定 audioFallbackEnabled への false での properties プロパティを OTPublisher コンポーネントに渡します。

  • "SubscriberPropertyChanged" - に渡されるプロパティ・プロパティで subscribeToVideo を false に設定することで、サブスクライバは動画の購読を開始または停止します。 OTSubscriber コンポーネントを使用している。

  • "CodecNotSupported" - コーデックに互換性がないため、ビデオの購読が停止されました。 ビデオコーデック開発者ガイド).

について OTSubscriber オブジェクトのディスパッチ videoEnabled イベントを発生させる:

videoEnabled イベントオブジェクトの reason プロパティは、ビデオが有効になった理由を定義する。以下の値のいずれかを設定する:

  • "PublisherPropertyChanged" - 出版社はビデオの公開を再開した。

  • "QualityChanged" - メディアルーターは、ストリーム品質の変化に基づいて、加入者へのビデオ送信を再開した。メディアルーターのこの機能により、加入者は接続性が低下するとビデオストリームを停止し、ストリーム品質が向上するとビデオストリームを再開する。

この機能は、メディアルーターを使用するセッション(メディアモードがルーティングに設定されたセッション)のみで使用可能であり、メディアモードがリレーに設定されたセッションでは使用できない。

  • "SubscriberPropertyChanged" - 加入者がビデオの購読を開始または停止した。 subscribeToVideo をfalseに設定します。

  • "CodecNotSupported" - 加入者ビデオは、互換性のないコーデックからコーデックを変更した後に有効になりました ( ビデオコーデック開発者ガイド).

トラブルシューティング(JavaScript)

サブスクライブエラーと接続性の問題を処理するためのヒント。

トラブルシューティングの一般的な情報については、以下を参照してください。 ビデオ・インスペクター.

エラー処理

購読する方法は1つだけ。 Session.subscribe()-ほとんどのエラーはネットワーク関連です。サブスクライバが接続に失敗した場合、独自のエラーメッセージが表示されますが、明確なメッセージを自分で表示する方が良いでしょう:

接続性の喪失

サブスクライバは、接続後に接続を失うことがある。その場合は streamDestroyed イベントが発生する。 networkDisconnected に連絡し、直ちに利用者を削除することなく、利用者に通知する:

加入者のイベント処理とランタイム調整(オーディオブロック、ビデオ無効、統計)については、以下を参照してください。 購読するマネジメント&イベント.