Sessions

Pour vous connecter à une session, vous devez spécifier la session à laquelle vous souhaitez vous connecter à l'aide de son identifiant.

Chaque identifiant de session identifie une session unique. Vous pouvez considérer une session comme une salle dans laquelle les participants se rencontrent et discutent.

Le nombre de sessions que vous créez et la manière dont les clients s'y connectent dépendent des besoins de votre application.

Si votre application met en relation des utilisateurs pour une réunion unique, créez une session unique pour cette réunion.

Cependant, si votre application connecte les utilisateurs au cours de plusieurs jours dans la même "salle", vous pouvez créer une session et la réutiliser. Si un groupe d'utilisateurs se réunit entre eux, tandis que d'autres groupes se réunissent indépendamment, créez des sessions uniques pour chaque groupe.

Les sessions n'expirent pas. En revanche, les jetons d'authentification expirent. Notez également que les sessions ne peuvent pas être explicitement détruites.

Lorsque vous créez une session, vous pouvez spécifier les options suivantes, qui sont décrites dans les sections suivantes :

  • Le mode média (utilisation ou non du routeur média).
  • La préférence d'archivage (si la session doit être automatiquement archivée).
  • Un indice de localisation (pour spécifier la géolocalisation de la session).

Le routeur média et les modes média

Lorsque vous créez une session, vous spécifiez comment les clients de la session enverront les flux audio-vidéo, ce que l'on appelle le mode média. Il existe deux options :

  • Relayé - Dans une session relayée, les clients tentent d'envoyer des flux audio-vidéo directement entre eux (peer-to-peer). Cependant, si les clients ne peuvent pas se connecter en raison de restrictions de pare-feu, la session utilise le serveur TURN pour relayer les flux audio-vidéo. (Avant la version 2.2, les SDKs du serveur faisaient référence à ces sessions en tant que sessions peer-to-peer. Cependant, même en utilisant ces SDK, les sessions utiliseront toujours le serveur TURN pour relayer les flux si les restrictions du firewall bloquent le streaming peer-to-peer). TLS 1.3 et un certificat fort d'au moins 3072 bits sont utilisés pour la négociation de la session.

  • Acheminé - La session utilise le routeur multimédia pour acheminer les flux audio-vidéo entre les clients. Le routeur multimédia offre les avantages suivants :

    • TLS 1.3 et un certificat fort d'au moins 3072 bits sont utilisés pour tous les signaux.

    • Le routeur multimédia peut réduire l'utilisation de la bande passante dans les sessions multipartites. (Lorsque la propriété du mode média est définie sur relayé, chaque client publiant un flux doit l'envoyer séparément à chaque client s'y abonnant. Avec le routeur de médias, un éditeur envoie un flux une fois au routeur, qui le transmet à chaque client abonné).

    • Le routeur multimédia peut améliorer la qualité de l'expérience utilisateur grâce à des fonctions de repli audio et de récupération vidéo. Grâce à ces fonctions, si la connectivité d'un client se dégrade au point de ne pas prendre en charge la vidéo d'un flux auquel il est abonné, la vidéo est abandonnée sur ce client (sans affecter les autres clients), et le client ne reçoit que de l'audio. Si la connectivité du client s'améliore, la vidéo revient.

    • Le routeur multimédia prend en charge la fonction d'archivage, qui vous permet d'enregistrer, de sauvegarder et de récupérer des sessions.

    • Dans les sessions qui utilisent le routeur multimédia, la réduction de la fréquence d'images pour une vidéo publiée réduit proportionnellement la bande passante utilisée par le flux.

    • Le routeur multimédia prend en charge la fonction de vidéo évolutive. La vidéo évolutive permet d'améliorer considérablement la qualité de la vidéo dans les sessions multipartites.

    • Pour les clients utilisant les SDK iOS et Android, les sessions relayées ne prennent en charge que deux clients connectés à la session. Le routeur de médias prend en charge des clients supplémentaires pour les sessions multipartites sur les appareils mobiles.

    • Le routeur multimédia prend en charge la fonction d'interconnexion SIP, qui vous permet de connecter des sessions à des passerelles SIP.

Routage adaptatif des médias : En commençant par OpenTok.js v2.24.7Les sessions routées sont optimisées pour utiliser routage adaptatif des médiassi possible. Le routage adaptatif des médias détermine si les médias peuvent être relayés sans le routeur de médias pour la diffusion vidéo individuelle (et si le routeur de médias n'est pas utilisé dans le chemin des médias), afin d'optimiser les performances des médias entre deux participants. La session routée adapte automatiquement le routage des médias pour utiliser le routeur de médias lorsque cela est nécessaire - pour les sessions avec trois participants ou plus, l'archivage, les diffusions en direct, l'interconnexion SIP, Experience Composer et Audio Connector. Avec l'ajout de l'acheminement adaptatif des médias, il y a également une fonction d'acheminement adaptatif des médias. scalableVideo dans l'option OT.initPublisher() pour remplacer la valeur par défaut et désactiver la vidéo évolutive pour l'éditeur dans une session acheminée.

  • Connexion à un seul homologue. À partir de la version 2.28.0 des SDK clients pour iOS, Android, Windows, macOS et Linux, les sessions acheminées prendront en charge les éléments suivants connexion unique entre pairs. Lorsque la connexion monoposte est activée, tous les flux d'abonnés d'un client sont transmis par une seule connexion au routeur multimédia (même s'ils sont publiés par différents clients). L'activation de la connexion monoposte a pour avantage de réduire la consommation de ressources du client, d'améliorer le contrôle du débit et, dans le cas d'appareils mobiles natifs, de prendre en charge des sessions plus importantes. Lorsque la connexion monoposte est désactivée (par défaut), le client utilise une connexion distincte au routeur de médias pour chaque paquet audio/vidéo.

    La connexion à un seul pair n'est disponible que dans les sessions acheminées (sessions qui utilisent le routeur média de Video API de Vonage). Pour un guide complet comprenant des cas d'utilisation, des détails de configuration, des exemples de code et l'interaction avec d'autres fonctions, consultez le site Web de l'API vidéo de Vonage. Guide du développeur Single Peer Connection.

    Pour activer la connexion à un seul homologue, utilisez les API suivantes du Client SDK :

    • Web SDK - Voir la page singlePeerConnection des options que vous passez dans OT.initSession()
    • SDK Android - Session.Builder.setSinglePeerConnection()
    • SDK iOS - OTSessionSettings.singlePeerConnection
    • SDK Linux - otc_session_settings_set_single_peer_connection()
    • macOS SDK - otc_session_settings_set_single_peer_connection()
    • SDK Windows - SinglePeerConnection de la propriété Session.Builder classe
    • React Native SDK - Le enableSinglePeerConnection de la propriété options prop du composant OTSession

  • Optimisation du maillage des médias : La plateforme utilise Media Mesh pour optimiser automatiquement les sessions routées en connectant chaque participant au routeur média du centre de données régional le plus proche. chaque participant au routeur média du centre de données régional le plus proche. Cela permet de réduire la latence et d'améliorer la qualité, en particulier pour les sessions géographiquement distribuées.

    Media Mesh est activé par défaut et ne nécessite aucune configuration. Pour remplacer cette optimisation et restreindre les médias à une région spécifique, voir une région spécifique, voir Zones médiatiques régionales.

Mode archive

Lorsque vous créez une session, vous pouvez définir le mode d'archivage afin que la session soit archivée automatiquement.

Ceci ne s'applique qu'aux sessions routées (sessions qui utilisent le routeur de média).

Par défaut, les sessions ne sont pas automatiquement archivées.

Indices de localisation

Lorsque vous créez une session, vous pouvez définir l'adresse IP que la plate-forme vidéo de Vonage utilisera pour sélectionner le meilleur serveur pour contrôler la session dans son réseau mondial.

Si aucun indice de localisation n'est défini lors de la création de la session (ce qui est recommandé), le serveur de contrôle de session est sélectionné en fonction de la localisation du premier client qui se connecte à la session.

Ne définissez un indice de localisation que si vous connaissez la région géographique générale (et une adresse IP représentative) et que vous pensez que le premier client qui se connecte ne se trouve pas dans cette région.

Indiquez une adresse IP représentative de l'emplacement géographique de la session.

Pour le streaming multimédia, le système utilisera toujours l'indice de localisation pour se connecter au serveur multimédia le plus proche (SFU), garantissant ainsi que le trafic multimédia est acheminé via le serveur le plus optimal en fonction de la situation géographique du client.

Bonnes pratiques lors de la création de sessions

Réutilisation de l'identifiant de session

Dans la mesure du possible, ne réutilisez pas les identifiants de session entre différentes conversations de chat vidéo.

Au lieu de cela, générez de nouveaux identifiants de session pour chaque chat vidéo distinct sur votre application.

Ceci est important, en particulier lorsque l'on utilise le Inspecteur de session.

Dans Inspector, les scores de qualité des sessions et les données sont indexés par l'identifiant de la session.

Un identifiant de session réutilisé pour plusieurs conversations est plus difficile à déboguer à l'aide de l'inspecteur, et les sessions avec des identifiants de session réutilisés ont tendance à rapporter des scores de qualité agrégés inférieurs à la qualité réelle de l'appel.

Activer la migration des sessions ou limiter les sessions à 8 heures

La mise à l'échelle automatique des nuages modernes rend nécessaire l'établissement d'une durée de rotation minimale pour les services. Les sessions qui durent plus de 8 heures risquent d'être déconnectées, car elles peuvent résider dans des services qui sont en train de s'éteindre ou de se rallonger.

Les versions 2.30.0 et ultérieures des SDK clients de Vonage Video API comprennent une fonction de migration de session qui transfère de manière transparente tous les participants d'une session vers un nouveau serveur pendant la rotation des serveurs. Cette fonction assure la continuité de la session avec un minimum de perturbations pour les participants. Voir Rotation des serveurs et migration des sessions.

Note pour les clients utilisant des versions du SDK client inférieures à 2.30.0 : Pour les sessions prévues pour durer plus de 8 heures, nous vous recommandons de migrer les utilisateurs connectés vers une nouvelle session avant tout événement potentiel de dépassement de délai/reconnexion. Cela garantira une expérience optimale pour l'utilisateur.

Les clients sont également déconnectés d'une session s'ils ne publient pas de flux ou ne s'y abonnent pas dans les 4 heures suivant leur connexion.

Vous pouvez utiliser suivi de la session pour recevoir des notifications lorsque les sessions s'arrêtent ou se terminent et lorsqu'un groupe de serveurs Video API pour une session est programmé pour une rotation.

Pour plus d'informations, voir Rotation des serveurs.

Choisir le type de session Relayed vs. Routed

Utilisez une session relayée plutôt qu'une session routée si vous n'avez que deux participants (ou peut-être même trois) et que vous n'utilisez pas l'archivage.

L'utilisation de sessions relayées permet de réduire la latence entre les participants, de réduire les points de défaillance et d'obtenir une meilleure qualité vidéo et audio dans la plupart des cas.

Les sessions acheminées sont nécessaires si vous souhaitez archiver votre session.

Ils sont recommandés si vous avez plus de deux ou trois participants à la session.

Pour plus d'informations, voir Le routeur média et les modes média.

Création de sessions

Lorsque vous travaillez sur une version test de votre application, vous pouvez obtenir un identifiant de session de test à partir de la fonction CONSTRUIRE ET GÉRER > Applications page de votre Account Vonage.

Vos informations d'identification peuvent également être trouvées sur le tableau de bord. pour commencer pour en savoir plus.

Pour votre propre mise en œuvre, veuillez consulter la page SDK côté serveur.

Si vous devez générer dynamiquement plusieurs identifiants de session, utilisez l'option SDK côté serveur et non la page du projet.

Utiliser l'identifiant de session avec un Client SDK pour se connecter à une session vidéo.

Vous devrez également générer un jeton pour chaque utilisateur se connectant à la session.

Les Routeur média offre les avantages suivants :

  • Le routeur multimédia peut réduire l'utilisation de la bande passante dans les sessions multipartites. (Lorsque la propriété mediaMode est définie sur RELAYÉchaque client doit envoyer un flux audio-vidéo distinct à chaque client qui s'y abonne).
  • Le routeur multimédia peut améliorer la qualité de l'expérience de l'utilisateur par les moyens suivants repli audio et récupération vidéo. Grâce à ces fonctionnalités, si la connectivité d'un client se dégrade au point de ne pas prendre en charge la vidéo d'un flux auquel il est abonné, la vidéo est abandonnée pour ce client (sans affecter les autres clients), et le client ne reçoit que de l'audio. Si la connectivité du client s'améliore, le flux vidéo est rétabli.
  • Le routeur multimédia prend en charge la fonction Fonction d'archivagequi vous permet d'enregistrer, de sauvegarder et de retrouver des sessions.

Création d'une session relayée

Dans une session relayée, les clients tentent d'envoyer des flux directement entre eux.

Toutefois, si les clients ne peuvent pas se connecter en raison de restrictions imposées par le pare-feu, la session utilise le serveur TURN pour relayer les flux audio-vidéo.

Important : Certaines fonctions, comme l'archivage, ne sont disponibles que dans les sessions acheminées (et non relayées).

Suivez notre étape par étape tutoriels pour apprendre à générer des sessions relayées

Créer une session enregistrée automatiquement

Vous pouvez créer une session qui sera automatiquement archivée.

Note : Les sessions archivées doivent utiliser le mode média routé.

Pour plus d'informations, voir le Archivage guide.

Utilisation des sessions dans les applications clientes

Utilisez l'identifiant de la session dans le Client SDK pour se connecter à une session.

Vous devrez également générer un jeton pour chaque utilisateur se connectant à la session.