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 directs en pair à pair, 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 transfère de manière sélective les flux actifs ou pertinents vers d'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 réduit les exigences de traitement et de bande passante. Chaque flux virtuel peut contenir des contenus multimédias d'un seul participant à la fois, ajustés dynamiquement par le SFU en fonction de facteurs tels que l'activité de l'orateur ou l'attribution de vidéos. Les participants reçoivent ces flux virtuels et voient ainsi 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 médias audio, créant ainsi trois transcesseurs audio locaux. Pour recevoir une vidéo, le client doit proposer une à trois descriptions de médias vidéo, ce qui établit ce nombre de transcesseurs vidéo.
Récepteurs
Chaque transceiver appartenant au client dispose d'un RtpReceiver
et d'un "canal multimédia" dédiés qui reçoivent les flux RTP audio des serveurs Meet.
Chaque piste possède un ID unique et reçoit son propre flux distinct de paquets RTP de cette source multimédia spécifique. Par exemple, la piste A peut recevoir de l'audio de production-1
, tandis que la piste B reçoit de l'audio de production-2
.
SSRC
Chaque paquet RTP possède une valeur d'en-tête Source de synchronisation (SSRC), qui l'associe à un canal 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 toute la durée de la session.
Flux virtuels
L'API Meet Media utilise des flux multimédias virtuels. Ils sont statiques pendant toute 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 contribuante (CSRC) dans les en-têtes de paquets RTP identifie la vraie source des paquets RTP. Meet attribue à chaque participant d'une conférence son propre CSRC unique lorsqu'il la rejoint. Cette valeur reste constante jusqu'à ce qu'il quitte la page.
Étant donné que le nombre de SSRC est constant tout au long de la session de l'API Meet Media, 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. Étant donné que chaque flux RTP est sur son propre SSRC dédié, il n'y a pas d'intermixage 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 n'est plus l'un des flux les plus forts, Meet remplace les paquets RTP qui constituent le SSRC par les plus forts.
Figure 2. Meet transfère les paquets RTP vers la personne la plus bruyante. Le nombre de participants actifs est inférieur aux trois SSRC audio:
Dans le cas où il y a plus de SSRC 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 mappe les paquets audio disponibles à son propre SSRC unique. Nombre de participants actifs égal à trois SSRC audio:
Dans le cas où le nombre de participants est égal et que des SSRC sont disponibles, les contenus multimédias de chaque participant sont mappés sur un SSRC dédié. Ces mappages persistent tant que ce scénario spécifique persiste.
Figure 4. Meet mappe les contenus multimédias de chaque participant à un SSRC dédié.