Dans le contexte des conférences WebRTC, les flux multimédias virtuels sont des flux multimédias générés par une unité de transfert sélectif (SFU) pour agréger et distribuer les contenus multimédias de plusieurs participants. Contrairement aux flux multimédias peer-to-peer directs, qui créeraient un maillage complexe de connexions dans les grandes conférences, les flux multimédias virtuels simplifient la topologie. Le SFU reçoit des flux multimédias individuels de chaque participant et transmet sélectivement les flux actifs ou pertinents aux autres participants, en les multiplexant sur un ensemble plus petit et fixe de flux multimédias virtuels sortants.
Cette approche réduit le nombre de flux entrants simultanés que chaque participant doit gérer, ce qui diminue les exigences en termes de traitement et de bande passante. Chaque flux virtuel peut contenir les contenus multimédias d'un participant à la fois, ajustés dynamiquement par l'unité SFU en fonction de facteurs tels que l'activité de l'orateur ou l'attribution vidéo. Les participants reçoivent ces flux virtuels, ce qui leur permet de voir une vue composée de la conférence sans avoir à gérer les flux individuels de chaque autre participant. Cette abstraction fournie par les flux multimédias virtuels est essentielle pour adapter les conférences WebRTC à un grand nombre de participants.
Pour recevoir de l'audio, le client doit proposer exactement trois descriptions de contenu multimédia audio, ce qui crée trois émetteurs-récepteurs audio locaux. Pour recevoir une vidéo, le client doit proposer une à trois descriptions de contenu vidéo, ce qui établit le nombre d'émetteurs-récepteurs vidéo.
Récepteurs
Chaque émetteur-récepteur appartenant au client dispose d'un RtpReceiver
dédié et d'une "piste multimédia" dédiée qui reçoit les flux RTP audio des serveurs Meet.
Chaque piste possède un ID unique et reçoit son propre flux distinct de paquets RTP provenant de cette source multimédia spécifique. Par exemple, la piste A peut recevoir l'audio de production-1
, tandis que la piste B reçoit l'audio de production-2
.
SSRC
Chaque paquet RTP possède une valeur d'en-tête Synchronization Source (SSRC), qui l'associe à une piste spécifique.
Les sessions audio via l'API Meet Media utilisent trois flux multimédias distincts, chacun ayant son propre SSRC statique. Une fois établies, ces valeurs SSRC ne changent jamais pendant la durée de la session.
Flux virtuels
L'API Meet Media utilise des flux multimédias virtuels. Elles sont statiques tout au long de la session, mais la source des paquets peut changer pour refléter les flux les plus pertinents. Les flux multimédias virtuels se comportent de la même manière pour l'audio et la vidéo.
La source contributrice (CSRC) dans les en-têtes de paquets RTP identifie la véritable source des paquets RTP. Meet attribue à chaque participant d'une conférence son propre CSRC unique lorsqu'il rejoint la conférence. Cette valeur reste constante jusqu'à ce qu'il quitte la session.
Étant donné que le nombre de SSRC est constant tout au long de la session Meet Media API, voici les trois scénarios possibles :
Plus de participants que de SSRC disponibles :
Meet transmet les trois personnes les plus bruyantes sur les trois SSRC. Comme chaque flux RTP se trouve sur son propre SSRC dédié, il n'y a pas de mélange entre les flux.
Figure 1 : Meet transmet les trois personnes les plus bruyantes sur les trois SSRC. Si l'un des flux d'origine de la conférence ne fait plus partie des flux les plus forts, Meet remplace les paquets RTP qui composent le SSRC par le flux le plus fort.
Figure 2. Meet transfère les paquets RTP à la personne qui parle le plus fort. Le nombre de participants actifs est inférieur aux trois sources de signal SSRC audio :
Dans le cas où plus de SSRC sont disponibles que de flux dans la conférence, Meet mappe tous les paquets audio disponibles à son propre SSRC unique. Les SSRC inutilisés sont toujours prêts et disponibles, mais aucun paquet RTP n'est transmis.
Figure 3 : Meet associe les paquets audio disponibles à son propre SSRC unique. Le nombre de participants actifs est égal aux trois SSRC audio :
Dans le cas où le nombre de participants est égal au nombre de SSRCs disponibles, le contenu multimédia de chaque participant est mappé à un SSRC dédié. Ces mappages persistent tant que ce scénario spécifique persiste.
Figure 4. Meet associe le contenu multimédia de chaque participant à un SSRC dédié.