S'abonner : Diagnostics

Ce guide permet d'inspecter les détails des flux, de détecter la fin des flux et de résoudre les problèmes courants liés aux abonnés. Il contient également des conseils pour gérer les problèmes de connectivité dans l'interface utilisateur.

Informations sur les flux

Le SDK Video de Vonage expose des mesures détaillées de la qualité du flux par le biais d'une API de statistiques de haut niveau - recommandée pour la plupart des cas d'utilisation - qui fournit des statistiques audio, vidéo, réseau et côté expéditeur sous une forme unifiée et consciente de la session, qui reste stable lors des transitions de connexion entre pairs. Pour le débogage avancé, le SDK permet également d'accéder au rapport de statistiques WebRTC brut, qui reflète les données de connexion entre pairs non traitées.

Se référer à le guide du développeur de l'observabilité du client pour obtenir des informations détaillées.

Vous pouvez également obtenir des détails de diagnostic pour les flux actifs afin de faciliter le débogage et l'analyse.

Pour obtenir des statistiques audio et vidéo pour les abonnés, ajoutez des gestionnaires d'événements pour la fonction audioNetworkStats et videoNetworkStats envoyés par l'OTSubscriber. Ces événements fournissent des informations sur le flux de l'abonné, notamment les suivantes :

  • Nombre total de paquets audio et vidéo perdus.
  • Nombre total de paquets audio et vidéo reçus.
  • Nombre total d'octets audio et vidéo reçus.
  • La fréquence d'images vidéo moyenne actuelle.

Pour obtenir des statistiques plus détaillées sur les flux, utilisez la fonction Subscriber.getRtcStatsReport() de l'objet OTSubscriber. Elle renvoie une promesse qui, en cas de succès, se résout en une représentation JSON d'un objet RtcStatsReport pour le flux souscrit :

Détection de la fin du flux et désactivation de la vidéo

Détecter la fin d'un flux pour effectuer le nettoyage et ajuster l'interface utilisateur.

Lorsque la vidéo d'un abonné est désactivée, l'objet OTSubscriber envoie un message de type videoDisabled événement :

Lorsque le routeur multimédia désactive la vidéo d'un abonné, il se peut que vous souhaitiez ajuster l'interface utilisateur liée à l'abonné.

Les reason de la propriété videoDisabled définit la raison pour laquelle la vidéo a été désactivée. Il peut prendre l'une des valeurs suivantes :

  • "PublisherPropertyChanged" - L'éditeur a cessé de publier des vidéos.

  • "QualityChanged" - Le routeur multimédia a cessé d'envoyer de la vidéo à l'abonné en fonction des changements de qualité du flux. Cette fonction du routeur multimédia permet à l'abonné d'interrompre le flux vidéo lorsque la connectivité se dégrade. (L'abonné continue à recevoir le flux audio, s'il y en a un).

Avant d'envoyer cet événement, lorsque la qualité du flux de l'abonné se détériore à un niveau suffisamment bas pour que le flux vidéo risque d'être désactivé, l'application OTSubscriber objet dispatches a videoDisableWarning événement.

Si la connectivité s'améliore et permet à nouveau la prise en charge de la vidéo, la OTSubscriber envoie un videoEnabled et l'abonné reprend la réception de la vidéo.

Cette fonction n'est disponible que dans les sessions qui utilisent la fonction Routeur média (sessions dont le mode média est réglé sur routé), mais pas dans les sessions dont le mode média est réglé sur relayé.

Lorsque vous publiez un flux, vous pouvez éviter que sa vidéo soit désactivée en raison de la qualité du flux. Définir audioFallbackEnabled à false dans le properties dans le composant OTPublisher.

  • "SubscriberPropertyChanged" - L'abonné a commencé ou arrêté de s'abonner à la vidéo, en fixant subscribeToVideo à false dans la propriété prop transmise à la fonction OTSubscriber de la composante.

  • "CodecNotSupported" - L'abonné a cessé de s'abonner à la vidéo en raison d'un codec incompatible (voir la section Guide du développeur de codecs vidéo).

Les OTSubscriber l'objet distribue videoEnabled lorsque la vidéo reprend :

La propriété reason de l'objet d'événement videoEnabled définit la raison pour laquelle la vidéo a été activée. Elle peut prendre l'une des valeurs suivantes :

  • "PublisherPropertyChanged" - L'éditeur a repris la publication de la vidéo.

  • "QualityChanged" - Le routeur multimédia reprend l'envoi de la vidéo à l'abonné en fonction des changements de qualité du flux. Cette fonction du routeur multimédia permet à l'abonné d'interrompre le flux vidéo lorsque la connectivité se dégrade, puis de le reprendre si la qualité du flux s'améliore.

Cette fonction n'est disponible que dans les sessions qui utilisent le routeur de médias (sessions dont le mode média est réglé sur routé), et non dans les sessions dont le mode média est réglé sur relayé.

  • "SubscriberPropertyChanged" - L'abonné a commencé ou arrêté de s'abonner à la vidéo, en définissant subscribeToVideo à false dans la propriété transmise au composant OTSubscriber.

  • "CodecNotSupported" - La vidéo d'abonné a été activée après un changement de codec à partir d'un codec incompatible (voir la section Guide du développeur de codecs vidéo).

Dépannage (JavaScript)

Conseils pour gérer les erreurs d'abonnement et les problèmes de connectivité.

Pour des informations générales sur le dépannage, voir Inspecteur vidéo.

Traitement des erreurs

Il n'y a qu'une seule façon de s'inscrire - avec Session.subscribe()-et la plupart des erreurs sont liées au réseau. Si l'abonné ne parvient pas à se connecter, il affichera son propre message d'erreur, mais il est préférable d'afficher vous-même un message clair :

Perte de connectivité

Un abonné peut perdre sa connexion après s'être connecté. Le traitement de la streamDestroyed sur la session lorsque le motif est networkDisconnected et informer l'utilisateur sans supprimer l'abonné immédiatement :

Pour la gestion des événements concernant les abonnés et les ajustements au cours de l'exécution (audio bloqué, vidéo désactivée, statistiques), voir S'abonner : Gestion et événements.