Una volta connesso a una conferenza, l'audio richiesto viene trasmesso e reso disponibile immediatamente. Tuttavia, per ricevere il video, il client deve prima definire le canvas per ogni stream video.
Le canvas aiutano Meet a capire in che modo il client consumerà uno stream video, specificando la risoluzione in pixel (ad esempio 1280 × 720), i frame al secondo (FPS) e selezionando un protocollo di assegnazione. Il protocollo di assegnazione specifica in che modo Meet deve scegliere gli stream video quando il numero di partecipanti è superiore al numero di SSRC.
Richieste di assegnazione video
Per ricevere il video, i client inviano innanzitutto una richiesta
di assegnazione video tramite
il
VideoAssignment
canale di dati, definendo le canvas per gli stream video negoziati.
Una volta ricevuta la richiesta, Meet inizia a selezionare i video dei partecipanti "pertinenti" , in base a fattori quali:
- Il partecipante sta parlando?
- Il partecipante sta presentando?
- Il partecipante sta condividendo lo schermo?
Poi, Meet mappa i partecipanti "più pertinenti" agli SSRC video disponibili e inizia a trasmettere il video, abbinando il più possibile i parametri della canvas.
Se il numero di partecipanti a una conferenza supera il numero di SSRC, Meet sostituirà gli stream nel tempo in modo da corrispondere ai partecipanti più pertinenti.
Dopo che Meet ha applicato la richiesta di assegnazione video, invia un
aggiornamento delle risorse
tramite il
VideoAssignment
canale di dati. Questo aggiornamento include la mappatura da SSRC a canvas. Utilizzando questa mappatura, i client possono identificare la risoluzione e gli FPS dello stream video per ogni SSRC.
Al contrario, il client sa quale SSRC utilizzare quando cerca una risoluzione e un FPS specifici.
Considerazioni
Meet decide l'associazione tra SSRC e canvas. Il client non lo specifica nella richiesta.
Meet non assegna gli SSRC in modo deterministico. Ad esempio, non dare per scontato che il primo SSRC sia il partecipante "più pertinente".
I client non devono richiedere una risoluzione superiore a quella di cui hanno bisogno. Ad esempio, non richiedere video a 1080p quando il modello utilizza solo 480p.
La corrispondenza delle risoluzioni esatte potrebbe non essere sempre possibile.
I client non devono inviare un numero eccessivo di richieste di assegnazione video. Queste verranno limitate o ignorate.