I flussi di contenuti multimediali virtuali, nel contesto delle conferenze WebRTC, sono flussi di contenuti multimediali generati da un'unità di inoltro selettivo (SFU) per aggregare e distribuire i contenuti multimediali di più partecipanti. A differenza dei flussi di contenuti multimediali peer-to-peer diretti, che creerebbero una complessa rete mesh di connessioni nelle conferenze di grandi dimensioni, i flussi di contenuti multimediali virtuali semplificano la topologia. L'SFU riceve i singoli flussi di contenuti multimediali da ogni partecipante e inoltra in modo selettivo i flussi attivi o pertinenti ad altri partecipanti, multiplexandoli in un insieme più piccolo e fisso di flussi di contenuti multimediali virtuali in uscita.
Questo approccio riduce il numero di flussi in entrata simultanei che ogni partecipante deve gestire, riducendo i requisiti di elaborazione e larghezza di banda. Ogni flusso virtuale può contenere contenuti multimediali di un partecipante alla volta, regolati dinamicamente dall'SFU in base a fattori come l'attività dell'oratore o l'assegnazione dei video. I partecipanti ricevono questi flussi virtuali, visualizzando di fatto una visualizzazione composta della conferenza senza dover gestire i singoli flussi di ogni altro partecipante. Questa astrazione fornita dai flussi di contenuti multimediali virtuali è fondamentale per scalare le conferenze WebRTC a un numero elevato di partecipanti.
Per ricevere l'audio, il client deve offrire esattamente tre descrizioni di contenuti multimediali audio, creando tre ricetrasmettitori audio locali. Per ricevere video, il client deve offrire da una a tre descrizioni di contenuti multimediali video, stabilendo il numero di ricetrasmettitori video.
Ricevitori
Ogni ricetrasmettitore di proprietà del client ha un
RtpReceiver dedicato e una
"traccia multimediale" dedicata che riceve i flussi RTP audio dai server
Meet.
Ogni traccia ha un ID univoco e riceve il proprio flusso distinto di pacchetti RTP dalla sorgente multimediale specifica. Ad esempio, Traccia A potrebbe ricevere l'audio da production-1, mentre Traccia B riceve l'audio da production-2.
SSRC
Ogni pacchetto RTP ha un valore di intestazione Synchronization Source (SSRC), che lo collega a una traccia specifica.
Le sessioni audio tramite l'API Meet Media utilizzano tre flussi di contenuti multimediali distinti, ognuno con il proprio SSRC statico. Una volta stabiliti, questi valori SSRC non cambiano mai per la durata della sessione.
Flussi virtuali
L'API Meet Media utilizza flussi di contenuti multimediali virtuali. Questi sono statici durante la sessione, ma la sorgente dei pacchetti potrebbe cambiare per riflettere i feed più pertinenti. I flussi di contenuti multimediali virtuali si comportano allo stesso modo per audio e video.
La sorgente contributiva (CSRC) nelle intestazioni dei pacchetti RTP identifica la vera sorgente dei pacchetti RTP. Quando un partecipante si unisce a una conferenza, Meet gli assegna il proprio CSRC univoco. Questo valore rimane costante finché non esce.
Poiché il numero di SSRC è costante durante la sessione dell'API Meet Media, ecco i tre scenari possibili:
Più partecipanti rispetto agli SSRC disponibili:
Meet trasmette le tre persone più rumorose sui tre SSRC. Poiché ogni flusso RTP si trova sul proprio SSRC dedicato, non c'è alcuna miscelazione tra i flussi.
Figura 1. Meet trasmette le tre persone più rumorose sui tre SSRC. Se uno dei flussi originali della conferenza non è più uno dei flussi più rumorosi, Meet passa i pacchetti RTP che compongono l'SSRC a quello più rumoroso.
Figura 2. Meet passa i pacchetti RTP alla nuova persona più rumorosa. Il numero di partecipanti attivi è inferiore ai tre SSRC audio:
Nello scenario in cui sono disponibili più SSRC rispetto ai flussi della conferenza, Meet mappa tutti i pacchetti audio disponibili al proprio SSRC univoco. Gli SSRC inutilizzati sono ancora pronti e disponibili, ma non vengono trasmessi pacchetti RTP.
Figura 3. Meet mappa i pacchetti audio disponibili al proprio SSRC univoco. Il numero di partecipanti attivi è uguale ai tre SSRC audio:
Nello scenario di partecipanti e SSRC disponibili uguali, i contenuti multimediali di ogni partecipante vengono mappati a un SSRC dedicato. Questi mapping persistono finché persiste questo scenario specifico.
Figura 4. Meet mappa i contenuti multimediali di ogni partecipante a un SSRC dedicato.