Présentation de l'API Meet Media

L'API Google Meet Media vous permet d'accéder aux contenus multimédias en temps réel des conférences Google Meet. Cela permet de mettre en œuvre divers cas d'utilisation, comme des applications qui documentent les tâches à accomplir, offrent des insights en temps réel sur la réunion en cours ou diffusent de l'audio et de la vidéo sur une nouvelle surface.

Cas d'utilisation

Les applications enregistrées dans la console Google Cloud peuvent utiliser l'API Meet Media pour se connecter aux conférences Meet. Elles peuvent ainsi:

  • Consommation de flux vidéo Exemple:
    • Alimentez vos propres modèles d'IA avec les flux vidéo générés dans les conférences Meet.
    • Filtrer les flux pour les enregistrements personnalisés
  • Consommation des flux audio Exemple:
    • Transmettez du contenu audio directement dans Gemini et créez votre propre chatbot d'IA de réunion.
    • Alimenter les flux audio générés dans les conférences Meet dans votre propre service de transcription
    • Générer des sous-titres dans différentes langues
    • Créez des flux de langue des signes générés par modèle à partir de l'audio capturé.
    • Créez vos propres modèles de suppression du bruit pour supprimer les bruits de fond et les artefacts de la conférence.
  • Consommer les métadonnées des participants Exemple:
    • Détecter les participants à la conférence pour améliorer l'intelligence et l'analyse

Termes courants

Numéro du projet Cloud
Identifiant int64 généré de manière immuable pour un projet Google Cloud. Ces valeurs sont générées par la console Google Cloud pour chaque application enregistrée.
Conférence
Instance d'un appel générée par le serveur dans un espace de réunion. Les utilisateurs considèrent généralement ce scénario comme une seule réunion.
Canal de données sur les ressources de conférence

Au lieu de demander des ressources via HTTP, comme avec l'API REST Google Meet, les clients de l'API Meet Media demandent des ressources au serveur via des canaux de données.

Un canal de données dédié peut être ouvert pour chaque type de ressource. Une fois le canal ouvert, le client peut envoyer des requêtes via le canal. Les mises à jour des ressources seront transmises via le même canal.

Source contribuante (CSRC)

Avec les flux multimédias virtuels, vous ne pouvez pas supposer qu'un flux multimédia pointe toujours vers le même participant. La valeur CSRC dans l'en-tête de chaque paquet RTP identifie la véritable source du paquet.

Meet attribue une valeur CSRC unique à chaque participant à une conférence lorsqu'il la rejoint. Cette valeur reste constante jusqu'à ce qu'ils quittent la page.

Canaux de données

Les canaux de données WebRTC permettent d'échanger des données arbitraires (texte, fichiers, etc.) indépendamment des flux audio et vidéo. Les canaux de données utilisent la même connexion que les flux multimédias, ce qui permet d'ajouter efficacement des échanges de données aux applications WebRTC.

ICE (Interactive Connectivity Establishment)

Protocole permettant d'établir une connectivité, de trouver tous les chemins possibles pour que deux ordinateurs puissent communiquer entre eux via un réseau peer-to-peer (P2P), puis de s'assurer que vous restez connecté.

Flux multimédia

Un flux multimédia WebRTC représente un flux de données multimédias, généralement audio ou vidéo, capturées à partir d'un appareil tel qu'une caméra ou un micro. Il se compose d'une ou de plusieurs pistes de flux multimédias, chacune représentant une seule source multimédia (par exemple, une piste vidéo ou une piste audio).

Canal de flux multimédia

Il se compose d'un seul flux unidirectionnel de paquets RTP. Un canal de flux multimédia peut être audio ou vidéo, mais pas les deux. Une connexion Secure Real-time Transport Protocol (SRTP) bidirectionnelle se compose généralement de deux canaux de flux multimédias, d'une sortie du pair local vers le pair distant et d'une entrée du pair distant vers le pair local.

Espace de réunion

Lieu virtuel ou objet persistant (comme une salle de réunion) où se tient une conférence. Une seule conférence active peut être organisée dans un même espace à la fois. Un espace de réunion permet également aux utilisateurs de se rencontrer et de trouver des ressources partagées.

Participant

Personne ayant rejoint une conférence ou qui utilise le mode Compagnon, regardant en tant que spectateur ou appareil de salle connecté à un appel. Lorsqu'un participant rejoint la conférence, un ID unique lui est attribué.

Diffusions pertinentes

Le nombre de flux audio virtuels et de flux vidéo virtuels qu'un client peut ouvrir est limité.

Il est tout à fait possible que le nombre de participants à une conférence dépasse ce nombre. Dans ce cas, les serveurs Meet transmettent les flux audio et vidéo des participants considérés comme les plus pertinents. La pertinence est déterminée à partir de diverses caractéristiques, telles que le partage d'écran et la fréquence à laquelle un participant a parlé.

Unité de transfert sélectif (SFU)

Une unité de transfert sélectif (SFU, Selective Forwarding Unit) est un composant côté serveur de la conférence WebRTC qui gère la distribution des flux multimédias. Les participants ne se connectent qu'au SFU, qui transfère sélectivement les flux pertinents aux autres participants. Cela réduit le traitement client et les besoins en bande passante, ce qui permet d'organiser des conférences évolutives.

Session Description Protocol (SDP)

Mécanisme de signalisation utilisé par WebRTC pour négocier une connexion P2P. RFC 8866 le régit.

Réponse SDP

Réponse à une offre SDP. La réponse rejette ou accepte tous les flux reçus du pair distant. Il négocie également les flux qu'il prévoit de renvoyer au pair proposant l'offre. Il est important de noter que la réponse SDP ne peut pas ajouter de flux signalés à partir de l'offre initiale. Par exemple, si un pair d'offre indique qu'il accepte jusqu'à trois flux audio de son pair distant, ce pair distant ne peut pas signaler quatre flux audio à transmettre.

Offre SDP

SDP initial dans le flux de négociation de pair à pair d'offre-réponse. L'offre est créée par le pair initiateur et dicte les conditions de la session de pair à pair. L'offre est toujours créée par le client de l'API Meet Media et envoyée aux serveurs Meet.

Par exemple, une offre peut indiquer le nombre de flux audio ou vidéo que l'offreur envoie (ou peut recevoir) et si des canaux de données doivent être ouverts.

Source de synchronisation (SSRC)

Un SSRC est un identifiant 32 bits qui identifie de manière unique une seule source d'un flux multimédia dans une session RTP (Real-time Transport Protocol). Dans WebRTC, les SSRC permettent de distinguer les différents flux multimédias provenant de différents participants ou même de différentes pistes du même participant (par exemple, différentes caméras).

RtpTransceiver

Comme indiqué dans RFC 8829, un transceiver est une abstraction autour des flux RTP dans une session peer-to-peer.

Un seul transceiver est mappé et décrit par une seule description multimédia dans le SDP. Un transceiver se compose d'un RtpSender et d'un RtpReceiver.

Étant donné que le protocole RTP est bidirectionnel, chaque paire dispose de sa propre instance de transceiver pour la même connexion RTP. Le RtpSender d'un transceiver donné pour le pair local est mappé sur le RtpReceiver d'un transceiver spécifique dans le pair distant. L'inverse est également vrai. Le RtpSender du même transceiver du pair distant est mappé sur le RtpReceiver du pair local.

Chaque description multimédia dispose de son propre transceiver dédié. Par conséquent, une session point à point avec plusieurs flux RTP comporte plusieurs transcesseurs avec plusieurs RtpSenders et RtpReceiver pour chaque paire.

Flux multimédias virtuels

Les flux multimédias virtuels sont des flux multimédias agrégés générés par une unité de transfert sélectif (SFU) dans les conférences WebRTC. Au lieu que chaque participant envoie des flux individuels à tous les autres, le SFU multiplexe les flux de participants sélectionnés sur moins de flux virtuels sortants. Cela simplifie la topologie de connexion et réduit la charge sur les participants, ce qui permet de tenir des conférences évolutives. Chaque flux virtuel peut contenir des contenus multimédias de plusieurs participants, gérés de manière dynamique par le SFU.