S'abonner : Gestion et événements
Ce guide couvre la gestion du comportement des abonnés et la réaction aux événements d'exécution, à la fois pour le Web (JavaScript) et React Native.
Gestion des flux (React Native)
Détecter les changements de dimensions d'un flux vidéo
Les dimensions vidéo d'un flux peuvent changer si un flux publié à partir d'un appareil mobile est redimensionné (par exemple, en raison d'un changement d'orientation de l'appareil) ou si la fenêtre d'une source de partage d'écran est redimensionnée. Lorsque les dimensions vidéo d'un flux changent, l'objet Session envoie un événement, avec la valeur .
Réglage de la fréquence d'images et de la résolution
Lorsque vous vous abonnez à un flux qui utilise la fonction de vidéo évolutive, vous pouvez configurer pour gérer automatiquement la résolution vidéo de l'abonné et optimiser l'utilisation de l'unité centrale et du réseau. Pour un contrôle avancé, définissez la fréquence d'images et la résolution préférées pour le flux abonné :
- - Les valeurs valides sont 30, 15, 7 et 1. Laisser indéfini pour utiliser la fréquence d'images la plus élevée disponible.
- - Les valeurs valides sont , , et . Laisser indéfini pour utiliser la plus haute résolution disponible.
Détecter quand les flux quittent une session
Lorsqu'un flux distant quitte une session, le composant envoie un événement :
L'événement comprend des détails tels que , , , , , et .
Rendu personnalisé des abonnés
Par défaut, il rend les vues enfant pour les vidéos d'abonnés. Vous pouvez également fournir une fonction de rendu pour contrôler entièrement le rendu à l'aide de :
Définition des propriétés du flux
Définir des propriétés globales pour tous les abonnés via la fonction prop on , ou définir des propriétés par flux via la fonction prop.
Gestion des flux d'abonnés (JavaScript uniquement)
Limitation de la fréquence d'images d'un flux souscrit
Vous pouvez également limiter la fréquence d'images du flux vidéo d'un abonné. Pour limiter la fréquence d'images d'un abonné, appelez la méthode de l'objet Abonné, en indiquant :
Passez et la fréquence d'images du flux vidéo n'est pas limitée :
Lorsque la fréquence d'images est limitée, l'image vidéo de l'abonné est actualisée une fois ou moins par seconde.
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é. Dans les sessions relayées, l'appel à cette méthode n'a aucun effet.
La limitation de la fréquence d'images de l'abonné présente les avantages suivants :
- Il réduit l'utilisation de l'unité centrale.
- Il réduit la largeur de bande du réseau consommée par l'application.
- Il vous permet de vous abonner à plusieurs flux simultanément.
La réduction de la fréquence d'images d'un abonné n'a aucun effet sur la fréquence d'images de la vidéo dans les autres clients.
Détection du blocage ou du déblocage de l'audio d'un abonné
Certains navigateurs bloquent automatiquement la lecture audio et exigent un événement avant que la lecture audio ne commence pour les abonnés. Ces navigateurs sont Safari, Firefox 66+ et Chrome 71+.
L'objet Abonné affiche un bouton de lecture audio si la lecture audio est bloquée. Vous pouvez désactiver le bouton de lecture audio par défaut de l'Abonné et afficher votre propre élément d'interface utilisateur sur lequel l'utilisateur devra cliquer pour lancer la lecture audio.
Voir Affichage d'un élément d'interface utilisateur personnalisé lorsque l'audio de l'abonné est bloqué.
Lorsque l'audio de l'abonné est bloqué, l'objet Subscriber envoie un événement, et il envoie un événement lorsque l'audio est débloqué :
En outre, l'abonné inclut une fonction qui indique si l'audio est bloqué ou non.
L'audio de l'abonné est débloqué lorsque l'une des situations suivantes se produit :
- L'utilisateur clique sur l'icône de lecture audio par défaut de l'abonné.
- Les OT.unblockAudio() est appelée en réponse à un élément HTML envoyant un événement (si vous avez désactivé l'icône de lecture audio par défaut)
- Le client local a accès à la caméra ou au microphone (par exemple, à la suite d'un appel réussi à ).
Pour plus d'informations, voir cet article de Mozilla sur l'autoplay dans Firefox et cet article de Google sur la lecture automatique dans Chrome.
Détection de la désactivation de la vidéo d'un abonné
Lorsque la vidéo de l'abonné est désactivée, l'objet Abonné envoie un é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é.
La propriété de l'objet événement définit la raison pour laquelle la vidéo a été désactivée. Elle peut prendre l'une des valeurs suivantes :
- - L'éditeur a cessé de publier des vidéos en appelant .
- - 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'abonné envoie un événement.
Si la connectivité s'améliore et prend à nouveau en charge la vidéo, l'objet Abonné envoie un événement et l'Abonné reprend la réception de la vidéo.
Par défaut, l'abonné affiche un indicateur de désactivation vidéo lorsqu'un événement avec ce motif est envoyé et supprime l'indicateur lorsque l'événement se produit.
Lorsque vous publiez un flux, vous pouvez éviter que sa vidéo soit désactivée en raison de la qualité du flux. Définissez à dans les options que vous passez dans .
Obtenir des statistiques sur les abonnés (Web)
La méthode d'un objet Subscriber vous fournit des informations sur le flux de l'abonné, notamment les suivantes :
- Le 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
- Taux de rafraîchissement moyen de la vidéo
Le code suivant enregistre les taux de perte et les débits binaires toutes les secondes :
Pour obtenir des statistiques sur un flux publié par le client local, vous devez utiliser une session acheminée et activer l'option lors de la souscription :
Pour obtenir des statistiques plus détaillées sur les flux, utilisez .
Réglage de la fréquence d'images et de la résolution préférées (Web)
Lorsque vous vous abonnez à un flux qui utilise la fonction de vidéo évolutive, vous pouvez configurer pour gérer automatiquement la résolution vidéo de l'abonné. Pour un contrôle plus poussé, définissez et dans les options que vous passez à (ou utilisez et après l'abonnement).