Connexion à un seul pair

Débloquez des sessions vidéo plus légères, plus rapides et plus évolutives en faisant passer tous les flux d'abonnés par une seule connexion pair WebRTC.

À mesure que vos sessions se multiplient, le nombre de connexions peer-to-peer WebRTC que chaque client doit gérer augmente également (une pour chaque flux souscrit). Chaque connexion implique sa propre négociation ICE, sa propre poignée de main DTLS et son propre état de contrôle de congestion. Cette surcharge peut rapidement s'accumuler, en particulier sur les appareils mobiles.

Connexion à un seul pair (SPC) réduit la charge liée à l'établissement de la connexion. Lorsque cette fonctionnalité est activée, tous les flux des abonnés d'un client sont multiplexés sur une seule connexion partagée avec le Vonage Video Media Router, quel que soit le nombre d'émetteurs présents dans la session. Il en résulte une empreinte réseau allégée grâce à l'utilisation d'un nombre réduit de ports, une gestion plus intelligente de la bande passante et une meilleure évolutivité sur l'ensemble des appareils.

La fonctionnalité « Single Peer Connection » n'est disponible que dans les sessions routées (c'est-à-dire les sessions qui utilisent le Vonage Video Media Router). Dans les sessions utilisant routage adaptatif des médias, Le protocole SPC ne s'applique pas lorsque les flux multimédias circulent en peer-to-peer entre deux participants, mais il s'applique dès que la session passe par le routeur multimédia. Voir Le routeur vidéo multimédia de Vonage et les modes médias.

Avantages

L'activation de la connexion à un seul pair est l'une des optimisations les plus efficaces que vous puissiez mettre en œuvre pour les visioconférences à plusieurs participants. Voici les avantages que vous en tirez :

  • Consommation de ressources considérablement réduite : Chaque connexion entre pairs dispose de ses propres ports, sockets, candidats ICE, procédures de négociation DTLS et contextes SRTP. Avec des dizaines d'abonnés, cela entraîne une augmentation de l'utilisation du processeur, de la mémoire et des descripteurs de fichiers. SPC regroupe tout cela en une seule connexion, libérant ainsi des ressources pour votre application.

  • Un contrôle des taux plus intelligent et unifié : Avec des connexions entre pairs distinctes, chacune exécute son propre algorithme de contrôle de la congestion, entrant ainsi en concurrence avec les autres pour la même capacité de liaison. Le SPC offre à l'estimateur de bande passante une vue unique et unifiée du réseau pour tous les flux multimédias, ce qui se traduit par une adaptation plus stable du débit binaire et moins de fluctuations de qualité.

  • Prise en charge de sessions plus importantes sur mobile : Les appareils mobiles disposent de ressources limitées en termes de processeur, de mémoire et de réseau, et iOS, en particulier, limite le nombre de connexions entre pairs simultanées. En regroupant tous les flux des abonnés au sein d'une seule connexion entre pairs, SPC permet aux clients mobiles de gérer facilement davantage de flux au cours d'une même session.

  • Mise en place plus rapide de l'abonnement : L'ajout d'un nouvel abonné ne nécessite plus une négociation ICE/DTLS complète à partir de zéro. La connexion existante est réutilisée, ce qui permet aux nouveaux flux d'apparaître plus rapidement. Cela est particulièrement perceptible lors des sessions où les participants rejoignent et quittent fréquemment la session.

  • Diminution de la consommation de la batterie : Moins de chemins réseau actifs signifie moins de paquets de maintien de connexion et moins de réveils radio sur les appareils mobiles, ce qui se traduit au final par une plus grande autonomie de batterie pour vos utilisateurs finaux.

  • Réduction de la complexité du réseau : Une connexion correspond à un ensemble de liaisons NAT, à une attribution TURN (si nécessaire) et à un chemin traversant les pare-feu d'entreprise. Cela simplifie le déploiement dans des environnements réseau restrictifs et réduit les défaillances de connectivité.

  • Une qualité plus prévisible à grande échelle : Comme tous les flux multimédias partagent un seul canal de transport, la bande passante est répartie plus équitablement entre les différents flux. Il n'y a pas de « connexions concurrentes » qui se privent mutuellement de bande passante, ce qui garantit une expérience plus fluide et plus homogène pour chaque participant.

Cas d'utilisation

Les applications tirent parti de la connexion à un seul pair dès que le nombre de flux souscrits commence à augmenter. Voici les scénarios dans lesquels cette fonctionnalité fait la plus grande différence :

  • Grandes sessions interactives : Les salles de classe virtuelles, la collaboration en groupe et les visioconférences multipartites peuvent impliquer de nombreux participants diffusant simultanément. À mesure que le nombre de diffuseurs augmente, chaque client abonné établit davantage de connexions entre pairs. Le protocole SPC maintient la consommation de ressources à un niveau constant, quel que soit le nombre de flux auxquels un client est abonné. Gardez à l’esprit que votre application doit tout de même hiérarchiser les widgets vidéo à afficher et gérer les flux auxquels s’abonner, car il est rarement pratique d’afficher tous les participants à l’écran en même temps.

  • Applications axées sur le mobile : Si vos utilisateurs se connectent depuis des téléphones et des tablettes, l'utilisation de SPC est vivement recommandée. Moins il y a de connexions, moins le processeur est sollicité, moins la mémoire est mise à rude épreuve et moins la batterie se décharge rapidement.

  • Réseaux à bande passante limitée ou variable : Sur les liaisons Wi-Fi, cellulaires ou satellitaires encombrées, une seule boucle de contrôle de la congestion répartit la bande passante de manière bien plus efficace qu’un grand nombre de connexions en concurrence. Les utilisateurs bénéficient d’une vidéo plus fluide avec moins de mise en mémoire tampon.

  • Réseaux d'entreprise et réseaux restreints : Les pare-feu, les serveurs proxy et les NAT peuvent présenter des défaillances ou générer une latence lorsqu'ils doivent gérer un grand nombre de flux UDP simultanés. Le fait de tout réduire à une seule connexion diminue le risque de problèmes de connectivité dans le cadre de politiques réseau strictes.

  • Scénarios d'entrée et de sortie rapides : Dans les salles de discussion en petits groupes ou lors de toute activité où les participants changent fréquemment de groupe, SPC élimine les formalités de négociation propres à chaque flux, rendant ainsi les transitions quasi instantanées.

  • Événements hybrides avec partage d'écran : Lorsque les présentateurs partagent leur écran en parallèle des flux vidéo, le nombre total de flux par abonné double. SPC maintient la charge réseau constante, quel que soit le nombre de flux combinés reçus par un client. Comme le contrôle de débit unifié a une visibilité sur tous les flux de la même connexion, il donne intelligemment la priorité aux flux de partage d’écran, en allouant davantage de bande passante là où la netteté et la lisibilité sont les plus importantes.

Conditions requises et restrictions

  • La CPS n'est prise en charge que dans les pays suivants sessions acheminées (sessions utilisant le Vonage Video Media Router). Cette fonctionnalité n'est pas disponible pour les sessions relayées, car dans ce type de session, chaque client se connecte directement à tous les autres clients en peer-to-peer. Il n'y a pas de Media Router central permettant de multiplexer les flux ; il n'y a donc rien à regrouper.

  • La CPS est disponible à partir de version 2.28.0 des SDK natifs et version 2.29.0 du SDK web.

  • La CPS est désactivé par défaut. Vous devez l'activer explicitement lors de l'initialisation de la session côté client. Voir Activation de la connexion monoposte.

  • Le CPS s'applique connexions d'abonnés uniquement. L'éditeur utilise toujours sa propre connexion entre pairs pour envoyer des contenus multimédias au routeur multimédia.

Activation de la connexion monoposte

Pour activer la connexion « Single Peer Connection » (SPC), configurez-la dans le Client SDK lors de la création ou de l'initialisation de la session. Pour un aperçu rapide de la SPC dans le contexte de la création d'une session, consultez le Section sur la connexion monoposte du guide « Création d'une session ». Les sections suivantes expliquent comment l'activer dans chaque SDK pris en charge.

SDK Web

Régler le singlePeerConnection à la propriété true dans l'objet « options » que vous transmettez à OT.initSession():

var session = OT.initSession(apiKey, sessionId, {
  singlePeerConnection: true
});

SDK Android

Utiliser le Session.Builder.setSinglePeerConnection() méthode :

Session session = new Session.Builder(context, apiKey, sessionId)
    .setSinglePeerConnection(true)
    .build();

SDK iOS

Régler le singlePeerConnection propriété sur OTSessionSettings:

OTSessionSettings *settings = [[OTSessionSettings alloc] init];
settings.singlePeerConnection = YES;

OTSession *session = [[OTSession alloc] initWithApiKey:apiKey
                                             sessionId:sessionId
                                              delegate:self
                                              settings:settings];

SDK Windows

Régler le SinglePeerConnection sur la propriété Session.Builder classe :

var session = new Session.Builder(Context.Instance, apiKey, sessionId)
{
    SinglePeerConnection = true
}.Build();

SDK macOS

Utiliser le otc_session_settings_set_single_peer_connection() fonction :

otc_session_settings *settings = otc_session_settings_new();
otc_session_settings_set_single_peer_connection(settings, OTC_TRUE);

otc_session *session = otc_session_new_with_settings(apiKey, sessionId, &callbacks, settings);

SDK Linux

Utiliser le otc_session_settings_set_single_peer_connection() fonction :

otc_session_settings *settings = otc_session_settings_new();
otc_session_settings_set_single_peer_connection(settings, OTC_TRUE);

otc_session *session = otc_session_new_with_settings(apiKey, sessionId, &callbacks, settings);

SDK React Native

Régler le enableSinglePeerConnection à la propriété true dans le options accessoire de la OTSession de la composante :

<OTSession
  apiKey={apiKey}
  sessionId={sessionId}
  token={token}
  options={{ enableSinglePeerConnection: true }}
/>

Interaction avec d'autres fonctionnalités

Vidéo évolutive

La connexion « Single Peer » fonctionne en parallèle avec vidéo évolutive. Lorsque ces deux fonctionnalités sont activées, le Media Router continue de fournir des couches de qualité multiples à chaque abonné via la connexion peer partagée. Chaque abonné peut recevoir une couche avec une résolution et une fréquence d'images différentes en fonction de l'évolution des conditions du réseau, exactement comme ce serait le cas avec des connexions peer distinctes.

Repli audio

Repli audio continue de fonctionner normalement lorsque la fonction SPC est activée. Si la qualité du réseau d'un abonné se dégrade, le routeur multimédia peut toujours supprimer la composante vidéo et ne transmettre que le son pour le flux concerné, indépendamment des autres flux acheminés sur la même connexion entre pairs.

Observabilité côté client et statistiques côté expéditeur

Lorsque la CPS est activée, la statistiques côté expéditeur L'estimation de la bande passante est partagée entre tous les abonnés d'une même connexion entre pairs. Le débit binaire maximal correspond au débit binaire le plus élevé que la connexion entre pairs peut estimer, tandis que le débit binaire actuel reflète le débit binaire de chaque paquet audio-vidéo. Pour évaluer la bande passante disponible, calculez l'estimation de la bande passante totale en additionnant les estimations individuelles de chaque paquet.

Pour plus d'informations, voir le guide d'observabilité du client.

Cryptage de bout en bout

Cryptage de bout en bout est compatible avec la connexion « Single Peer ». Les flux multimédias sont chiffrés individuellement avant d'être multiplexés sur la connexion partagée entre pairs.

Meilleures pratiques

  • Activer le SPC pour les sessions comportant de nombreux clients de publication : Si votre application organise régulièrement des sessions réunissant un nombre important de participants, l'activation de SPC peut réduire sensiblement la consommation de ressources et améliorer la stabilité.

  • Test sur les appareils cibles : Bien que la technologie SPC permette de réduire la consommation de ressources de manière générale, veillez à toujours effectuer des tests sur les appareils et dans les conditions réseau spécifiques auxquels vos utilisateurs seront confrontés.

  • Surveiller la bande passante à l'aide de statistiques du côté de l'expéditeur : Étant donné que tous les flux des abonnés partagent un seul canal de transport, utilisez les statistiques côté expéditeur pour connaître la bande passante totale disponible et adaptez votre application en conséquence.

Pour en savoir plus