L'API Google Meet Media ti consente di accedere ai contenuti multimediali in tempo reale delle conferenze di Google Meet. Ciò consente una varietà di casi d'uso, ad esempio app che documentano le attività, offrono approfondimenti in tempo reale sulla riunione corrente o trasmettono audio e video su una nuova superficie.
Casi d'uso
Le app registrate nella console Google Cloud possono utilizzare l'API Meet Media per connettersi alle conferenze di Meet, consentendo loro di:
- Consumare stream video. Ad esempio:
- Inserisci gli stream video generati nelle conferenze di Meet nei tuoi modelli di AI.
- Filtra gli stream per le registrazioni personalizzate.
- Consumare stream audio. Ad esempio:
- Inserisci l'audio direttamente in Gemini e crea il tuo chatbot AI per le riunioni.
- Inserisci gli stream audio generati nelle conferenze di Meet nel tuo servizio di trascrizione.
- Genera sottotitoli codificati in varie lingue.
- Crea feed di lingua dei segni generati dal modello dall'audio acquisito.
- Crea i tuoi modelli di riduzione del rumore per rimuovere il rumore di fondo e gli artefatti dalla conferenza.
- Consumare i metadati dei partecipanti. Ad esempio:
- Rileva i partecipanti alla conferenza, consentendo una migliore intelligence e analisi.
Ciclo di vita dell'API Meet Media
Le immagini seguenti mostrano il ciclo di vita dell'API Meet Media:
-
Figura 1. Il bot dell'API Meet Media tenta di partecipare al sito web di terze parti. La connessione viene rifiutata quando sono presenti account di utenti minorenni. -
Figura 2. Le riunioni possono essere contrassegnate come criptate e avere una filigrana. L'API Meet Media non può essere connessa quando una riunione ha la crittografia o una filigrana. -
Figura 3. Assicurati che l'impostazione dell'amministratore sia corretta. -
Figura 4. Configura la riunione in Calendar. L'organizzatore deve concedere l'autorizzazione all' app di terze parti nell'impostazione di Calendar, altrimenti la connessione viene rifiutata. -
Figura 5. Modifica di un'impostazione durante la chiamata. Se l'organizzatore decide di disattivare l'impostazione dell'API Meet Media durante una chiamata, la connessione si interrompe. -
Figura 6. Se il proprietario della riunione ha un account consumer (un account che termina con @gmail.com), l'iniziatore deve essere presente alla riunione per dare il consenso, altrimenti la connessione viene rifiutata. -
Figura 7. Una volta stabilita la connessione, l'organizzatore, il co-organizzatore o qualsiasi partecipante della stessa organizzazione dell'organizzatore visualizza la finestra di dialogo di avvio. -
Figura 8. Chiunque può interrompere l'API Meet Media durante la chiamata.
Requisiti per il consenso
Le app dell'API Meet Media sono consentite in una riunione solo se è presente una persona in chiamata autorizzata a fornire il consenso per conto della riunione.
Per le riunioni di Google Workspace
Per fornire il consenso nelle riunioni di Google Workspace, devi appartenere all' organizzazione proprietaria della riunione. Nella maggior parte dei casi, il proprietario della riunione è lo stesso dell'organizzatore. Se l'organizzatore o l'iniziatore è presente alla riunione e appartiene all'organizzazione proprietaria della riunione, viene visualizzata la finestra di dialogo di avvio preferenzialmente.
Per le riunioni dei consumatori
Per le riunioni organizzate da account Gmail, l'iniziatore deve essere presente alla riunione per fornire il consenso.
Termini comuni
- Numero di progetto Cloud
- Un identificatore
int64generato e immutabile per un progetto Google Cloud. Questi valori vengono generati dalla console Google Cloud per ogni app registrata. - Conferenza
- Un'istanza di una chiamata generata dal server all'interno di uno spazio per le riunioni. In genere, gli utenti considerano questo scenario una singola riunione.
- Canale dati delle risorse della conferenza
Anziché richiedere risorse tramite HTTP, come con l' API REST di Google Meet, i client dell'API Meet Media richiedono risorse al server tramite i canali dati.
Per ogni tipo di risorsa può essere aperto un canale dati dedicato. Una volta aperto, il client può inviare richieste tramite il canale. Gli aggiornamenti delle risorse verranno trasmessi sullo stesso canale.
- Fonte contributiva (CSRC)
Con gli stream multimediali virtuali, non puoi presupporre che uno stream multimediale punti sempre allo stesso partecipante. Il valore CSRC nell'intestazione di ogni pacchetto RTP identifica la vera origine del pacchetto.
Quando un partecipante si unisce a una conferenza , Meet gli assegna un valore CSRC univoco. Questo valore rimane costante finché non esce.
- Canali dati
I canali dati WebRTC consentono lo scambio di dati arbitrari (testo, file e così via) indipendentemente dagli stream audio e video. I canali dati utilizzano la stessa connessione degli stream multimediali, fornendo un modo efficiente per aggiungere lo scambio di dati alle applicazioni WebRTC.
- Interactive Connectivity Establishment (ICE)
Un protocollo per stabilire la connettività, trovare tutti i percorsi possibili per due computer per comunicare tra loro tramite la rete peer-to-peer (P2P) e quindi assicurarsi di rimanere connessi.
- Stream multimediale
Uno stream multimediale WebRTC rappresenta un flusso di dati multimediali, in genere audio o video, acquisiti da un dispositivo come una videocamera o un microfono. È costituito da una o più tracce di stream multimediali, ognuna delle quali rappresenta una singola origine di contenuti multimediali, ad esempio una traccia video o una traccia audio.
- Traccia di stream multimediali
È costituito da un singolo flusso unidirezionale di pacchetti RTP. Una traccia di stream multimediali può essere audio o video, ma non entrambi. Una connessione Secure Real-time Transport Protocol (SRTP) bidirezionale in genere è costituita da due tracce di stream multimediali: l'uscita dal peer locale al peer remoto e l'ingresso dal peer remoto al peer locale.
- Spazio per le riunioni
Un luogo virtuale o un oggetto persistente (ad esempio una sala riunioni) in cui si svolge una conferenza. In uno spazio può essere tenuta una sola conferenza attiva alla volta. Uno spazio per le riunioni aiuta anche gli utenti a incontrarsi e a trovare risorse condivise.
- Partecipante
Una persona che ha partecipato a una conferenza o che utilizza la modalità Complementare, che guarda come spettatore o un dispositivo della sala connesso a una chiamata. Quando un partecipante si unisce alla conferenza, gli viene assegnato un ID univoco.
- Stream pertinenti
Esiste un limite al numero di stream audio virtuali e stream video virtuali che un client può aprire.
È molto probabile che il numero di partecipanti a una conferenza superi questo numero. In queste situazioni, i server di Meet trasmettono gli stream audio e video dei partecipanti ritenuti "più pertinenti". La pertinenza è determinata da varie caratteristiche, come la condivisione dello schermo e la frequenza con cui un partecipante ha parlato.
- Selective Forwarding Unit (SFU)
Una Selective Forwarding Unit (SFU) è un componente lato server nelle conferenze WebRTC che gestisce la distribuzione degli stream multimediali. I partecipanti si connettono solo alla SFU, che inoltra in modo selettivo gli stream pertinenti ad altri partecipanti. Ciò riduce l'elaborazione del client e le esigenze di larghezza di banda, consentendo conferenze scalabili.
- Session Description Protocol (SDP)
Il meccanismo di segnalazione utilizzato da WebRTC per negoziare una connessione P2P. È regolato da
RFC 8866.- Risposta SDP
La risposta a un'offerta SDP. La risposta rifiuta o accetta gli stream ricevuti dal peer remoto. Negozi anche gli stream che prevede di trasmettere al peer che offre. È importante notare che la risposta SDP non può aggiungere stream segnalati dall'offerta iniziale. Ad esempio, se un peer che offre segnala di accettare fino a tre stream audio dal suo peer remoto, questo peer remoto non può segnalare quattro stream audio per la trasmissione.
- Offerta SDP
L'SDP iniziale nel flusso di negoziazione peer-to-peer offerta-risposta. L'offerta viene creata dal peer che avvia e detta i termini della sessione peer-to-peer. L'offerta viene sempre creata dal client dell'API Meet Media e inviata ai server di Meet.
Ad esempio, un'offerta può indicare il numero di stream audio o video che l'offerente sta inviando (o è in grado di ricevere) e se devono essere aperti canali dati.
- Synchronization Source (SSRC)
Un SSRC è un identificatore a 32 bit che identifica in modo univoco una singola origine di uno stream multimediale all'interno di una sessione RTP (Real-time Transport Protocol). In WebRTC, gli SSRC vengono utilizzati per distinguere tra diversi stream multimediali provenienti da partecipanti diversi o anche tracce diverse dello stesso partecipante (ad esempio videocamere diverse).
- RtpTransceiver
Come descritto in
RFC 8829, un ricetrasmettitore è un'astrazione degli stream RTP in una sessione peer-to-peer.Un singolo ricetrasmettitore viene mappato e descritto da una singola descrizione multimediale nell'SDP. Un ricetrasmettitore è costituito da un
RtpSendere unRtpReceiver.Poiché RTP è bidirezionale, ogni peer ha la propria istanza di ricetrasmettitore per la stessa connessione RTP. L'
RtpSenderdi un determinato ricetrasmettitore per il peer locale viene mappato all'RtpReceiverdi un ricetrasmettitore specifico nel peer remoto. Questo è vero anche in caso contrario. L'RtpSenderdello stesso ricetrasmettitore del peer remoto viene mappato all'RtpReceiverdel peer locale.Ogni descrizione multimediale ha il proprio ricetrasmettitore dedicato. Di conseguenza, una sessione peer-to-peer con più stream RTP ha più ricetrasmettitori con più
RtpSenderseRtpReceiverper ogni peer.- Stream multimediali virtuali
Gli stream multimediali virtuali sono stream multimediali aggregati generati da una Selective Forwarding Unit (SFU) nelle conferenze WebRTC. Anziché inviare singoli stream a tutti gli altri, la SFU esegue il multiplexing degli stream dei partecipanti selezionati su un numero inferiore di stream virtuali in uscita. Ciò semplifica la topologia della connessione e riduce il carico sui partecipanti, consentendo conferenze scalabili. Ogni stream virtuale può contenere contenuti multimediali di più partecipanti, gestiti dinamicamente dalla SFU.
Argomenti correlati
Per scoprire come iniziare a sviluppare un client dell'API Meet Media, segui i passaggi descritti nella sezione Inizia.
Per scoprire come configurare ed eseguire un client di riferimento dell'API Meet Media di esempio, leggi la guida rapida del client di riferimento C++.
Per una panoramica concettuale, consulta la sezione Concetti dell'API Meet Media.
Per saperne di più su WebRTC, consulta la sezione WebRTC per i curiosi.
Per informazioni sullo sviluppo con le API Google Workspace, inclusa la gestione dell' autenticazione e dell'autorizzazione, consulta la sezione Sviluppare su Google Workspace.