Gestire l'assegnazione dei video nell'API Meet Media

Una volta collegati a una conferenza, qualsiasi audio richiesto viene trasmesso e reso disponibile immediatamente. Tuttavia, per ricevere il video, il client deve prima definire i canvas per ogni stream video.

I canvas consentono a Meet di capire in che modo il cliente consumerà un flusso video, specificandone la risoluzione in pixel (ad esempio 1280 × 720), la frequenza fotogrammi al secondo (FPS) e selezionando un protocollo di assegnazione. Il protocollo di assegnazione specifica in che modo Meet deve scegliere gli stream video quando ci sono più partecipanti rispetto ai SSRC.

Richieste di assegnazione di video

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

Invia una richiesta di compito video tramite il canale di dati dei compiti video.
Figura 1. Invia una richiesta di compito video tramite il canale di dati dei compiti 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 i parametri della tela il più possibile.

Se il numero di partecipanti a una conferenza supera il numero di SSRC, Meet sostituirà gli stream nel tempo in modo da associarli ai 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 aver applicato la richiesta di assegnazione del video, Meet invia un aggiornamento della risorsa tramite il canale di dati VideoAssignment. Questo aggiornamento include la mappatura SSRC-to-canvas. Utilizzando questa mappatura, i client possono identificare la risoluzione e i frame al secondo 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 dei dati dei compiti video.
Figura 3. Invia l'aggiornamento della risorsa tramite il canale dei dati dei compiti video.

Considerazioni

  • Meet decide l'associazione tra SSRC e canvas. 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 clienti non devono richiedere una risoluzione superiore a quella di cui hanno bisogno. Ad esempio, non richiedere video a 1080p se il tuo modello utilizza solo 480p.

  • La corrispondenza con risoluzioni esatte potrebbe non essere sempre possibile.

  • I clienti non devono inviare richieste di assegnazione di video eccessive. Questi verranno limitati o ignorati.