Régler le débit maximal d'un flux

Vous pouvez contrôler dynamiquement le débit maximum qu'un éditeur peut utiliser pour les flux vidéo de la caméra.

Ce guide montre comment configurer les paramètres de débit vidéo, comment interagir avec les différents préréglages, comment définir les débits bruts et les meilleures pratiques pour utiliser efficacement l'API.

Cette rubrique comprend les sections suivantes :

Vue d'ensemble

Vous pouvez définir dynamiquement le débit maximum qu'un éditeur peut utiliser lors de l'encodage d'un média. L'encodeur vidéo ajuste alors le débit de manière dynamique, en utilisant une valeur comprise dans la plage autorisée, d'un seuil minimum au débit maximum défini, en fonction des conditions du réseau et d'autres contraintes.

La définition du débit maximal peut contribuer à réduire la consommation de bande passante lorsqu'un utilisateur se connecte à partir d'une connexion payante. Veillez à lire le Limites ci-dessous.

Limites

Il faut tenir compte de certaines limites importantes :

  • Conditions du réseau - Le débit réel obtenu sur le réseau peut être inférieur à la valeur fixée, en raison des estimations en temps réel du réseau, des fluctuations de la bande passante et des limitations du backend.

  • Valeurs hors limites - Si vous fournissez une valeur de débit en dehors de la plage valide, le SDK peut ignorer la demande ou renvoyer une erreur.

Utilisation de l'API

Préréglages du débit binaire vidéo

L'API propose des préréglages de débit vidéo qui simplifient la réduction de la qualité vidéo sans avoir à se soucier des paramètres de codec et de session. Ces préréglages sont conçus pour des cas d'utilisation courants tels que la vidéoconférence et sont adaptés aux résolutions 480p, 540p, 720p et 1080p.

Les préréglages disponibles sont les suivants :

  • DEFAULT - Le paramètre de débit par défaut du SDK qui offre une expérience visuelle équilibrée pour les flux vidéo.

  • BW_SAVER - Un paramètre de qualité moyenne pour la vidéoconférence qui réduit le débit pour économiser la bande passante.

  • EXTRA_BW_SAVER - Le débit le plus bas pour les communications vidéo essentielles, offrant une faible qualité vidéo mais une utilisation minimale de la bande passante.

Veuillez noter que les valeurs exactes de débit binaire utilisées lors de l'utilisation des préréglages sont spécifiques à l'implémentation et dépendent du codec négocié et du mode de média (relayé ou acheminé). Les SDK clients de l'API Video comprennent des méthodes permettant de définir et d'obtenir le préréglage du débit binaire.

Définition des valeurs de débit binaire brut

Si les préréglages de débit prédéfinis ne répondent pas à vos besoins, vous pouvez définir une valeur de débit brut personnalisée. Cela vous permet de définir des limites de débit spécifiques dans une fourchette allant de 5 000 bps à 10 000 000 bps. Veuillez noter que cette valeur ne s'applique qu'au débit de l'encodeur, de sorte que la surcharge du réseau s'applique toujours en plus de la valeur choisie.

Les SDK clients de la Video API de Vonage comprennent des méthodes pour définir la valeur du débit binaire brut et pour la récupérer. Tant qu'un débit binaire brut n'est pas défini, ou tant que seuls des préréglages sont définis, le getter renvoie 0 (sauf pour le SDK JS, dans lequel la valeur renvoyée est indéfinie). Une fois qu'un débit binaire brut est défini, le getter de préréglage du débit binaire renvoie "custom", ce qui indique qu'une valeur personnalisée a été appliquée. Cependant, n'utilisez pas le préréglage "custom" dans le setter - définissez simplement le numéro de débit binaire spécifique à utiliser comme valeur maximale.

Interaction entre le débit binaire et la couche d'encodage avec VP8 et évolutivité activée

La modification du débit maximal lorsque le VP8 évolutif est utilisé déclenche une efficacité supplémentaire - le Client SDK active ou désactive dynamiquement les couches d'encodage en fonction du débit disponible afin de garantir que le flux vidéo est aussi efficace que possible. Ce processus adapte la résolution à laquelle l'éditeur publie.

Les remarques suivantes s'appliquent à la préétabli lors de l'utilisation de VP8 :

  • DEFAULT - Ce préréglage utilise toutes les couches d'encodage disponibles. Pour un flux typique, cela comprend jusqu'à trois couches (basse, moyenne et haute).

  • BW_SAVER - Ce préréglage n'utilise que les deux premières couches d'encodage (qualité basse et moyenne). Il est conçu pour économiser la bande passante, ce qui le rend adapté à des scénarios tels que la vidéoconférence, où une qualité vidéo élevée n'est pas aussi essentielle.

  • EXTRA_BW_SAVER - Ce préréglage réduit davantage le débit binaire, en utilisant uniquement la couche d'encodage de base (la plus basse). Il s'agit du mode le plus économe en bande passante, qui offre la qualité minimale requise pour une communication vidéo efficace.

Lorsque vous définissez une valeur de débit brut, si le débit fourni est insuffisant pour maintenir certaines couches d'encodage, le SDK désactive automatiquement les couches supérieures. Par exemple, si le débit est trop faible pour les couches de moyenne ou de haute qualité, ces couches sont supprimées et seule la couche de base est transmise.

Si le nouveau débit fourni est suffisamment élevé pour maintenir d'autres couches de codage, le SDK réactive les couches de codage supérieures, rétablissant progressivement la qualité vidéo en ajoutant les couches moyenne et élevée.

Ce mécanisme garantit que le flux vidéo reste aussi efficace que possible, en maximisant l'utilisation de la bande passante disponible sans compromettre l'expérience de l'utilisateur.

Exemples

Au début d'une session, un éditeur utilise la fonction DEFAULT qui offre une qualité vidéo totale. À ce stade précis de la session, supposons qu'elle a négocié le codec VP8 non extensible. Cependant, après un changement de réseau vers une connexion avec compteur (par exemple, cellulaire), vous pouvez réduire la bande passante de publication à l'aide de l'option BW_SAVER préréglage. Lors de l'utilisation d'un préréglage pour le débit maximal de l'éditeur, le Client SDK s'assure que le niveau de qualité reste le même quel que soit l'événement. Lorsque le réseau revient à une connexion illimitée, vous pouvez rétablir la valeur par défaut en définissant le paramètre DEFAULT préréglé.

Vous pouvez également définir la valeur du débit binaire brut pour fixer un seuil supérieur de bande passante.

Pour plus de détails sur chaque Client SDK, voir ce qui suit :

Les détails sur l'utilisation du débit maximal de l'éditeur dans le SDK du client macOS de Vonage Video sont les mêmes que ceux du SDK du client Linux.

Meilleures pratiques

Pour garantir les meilleures performances et une utilisation optimale de la bande passante, suivez ces bonnes pratiques :

  • Utiliser des préréglages de débit prédéfinis - Dans la mesure du possible, utilisez les préréglages de débit binaire prédéfinis (DEFAULT, BW_SAVER, EXTRA_BW_SAVER) pour gérer la qualité vidéo. Ces préréglages sont adaptés à des scénarios courants tels que la vidéoconférence, garantissant l'équilibre entre la qualité vidéo et l'efficacité de la bande passante. Plus important encore, ils font abstraction des détails du codec et des modes de média.

  • Soyez prudent avec les paramètres de débit binaire personnalisés - Bien que les paramètres de débit personnalisés vous donnent plus de contrôle, leur utilisation est liée aux détails du codec qui peuvent changer pendant la phase de négociation WebRTC. Nous recommandons de les utiliser avec parcimonie, et uniquement lorsqu'un seuil strict sur le débit est nécessaire.

  • N'appliquez pas de débits binaires personnalisés ou de préréglages aux flux de partage d'écran. - L'encodage d'un flux de partage d'écran diffère de l'encodage d'un flux de caméra. L'utilisation de l'API de débit maximal pour limiter un flux de partage d'écran peut dégrader la qualité sans offrir d'amélioration de la bande passante.