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 i canvas per ogni stream video.

Le tele aiutano Meet a capire come il client consumerà un flusso 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 i flussi video quando il numero di partecipanti è superiore al numero di SSRC.

Richieste di assegnazione di video

Per ricevere video, i client inviano prima una richiesta di assegnazione video tramite il canale dati VideoAssignment, definendo i canvas per gli stream video negoziati.

Invia una richiesta di assegnazione di video tramite il canale di dati per l'assegnazione di video.
Figura 1. Invia una richiesta di assegnazione di video tramite il canale di dati per l'assegnazione di 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 video, abbinando i parametri del canvas il più fedelmente possibile.

Se il numero di partecipanti a una conferenza supera il numero di SSRC, Meet sostituirà gli stream nel tempo in modo da mostrare i partecipanti più pertinenti.

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

Dopo che Meet applica la richiesta di assegnazione del video, invia un aggiornamento della risorsa nel canale VideoAssignment 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 della risorsa tramite il canale di dati di assegnazione dei video.

Considerazioni

  • Meet decide l'associazione tra SSRC e tela. Il client non lo specifica nella richiesta.

  • Meet non assegna in modo deterministico gli SSRC. 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 necessaria. 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 di video. Questi verranno limitati o ignorati.