Gestire l'assegnazione dei video nell'API Meet Media

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.

Invia una richiesta di assegnazione di video tramite il canale di dati di assegnazione di video.
Figura 1. Invia una richiesta di assegnazione video tramite il canale di dati di assegnazione video.

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.

I server Meet ricevono le richieste e assegnano gli stream video.
Figura 2. I server di Meet ricevono le richieste e assegnano gli stream video.

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.

Invia l'aggiornamento della risorsa tramite il canale di dati di assegnazione dei video.
Figura 3. Invia l'aggiornamento delle risorse tramite il canale di dati di assegnazione video.

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.