Mit der Google Meet Media API können Sie auf Echtzeitmedien aus Google Meet-Konferenzen zugreifen. Das ermöglicht eine Vielzahl von Anwendungsfällen, z. B. Apps, die Aufgaben dokumentieren, Echtzeitinformationen zur aktuellen Besprechung liefern oder Audio und Video auf eine neue Oberfläche streamen.
Anwendungsfälle
Apps, die in der Google Cloud Console registriert sind, können die Meet Media API verwenden, um eine Verbindung zu Meet-Videokonferenzen herzustellen. Dadurch können sie:
- Videostreams ansehen Beispiel:
- Videostreams aus Meet-Konferenzen in Ihre eigenen KI-Modelle einfügen
- Streams nach benutzerdefinierten Aufnahmen filtern
- Audio-Streams ansehen Beispiel:
- Audio direkt in Gemini einfügen und einen eigenen KI-Chatbot für Besprechungen erstellen
- In Meet-Konferenzen generierte Audiostreams in Ihren eigenen Transkriptionsdienst einbinden
- Untertitel in verschiedenen Sprachen generieren
- Aus den aufgenommenen Audiodaten werden modellgenerierte Gebärdensprach-Feeds erstellt.
- Eigene Modelle zur Rauschunterdrückung erstellen, um Hintergrund- und Rauschartefakte aus der Konferenz zu entfernen.
- Teilnehmermetadaten verwenden Beispiel:
- Erkennen, welche Teilnehmer an der Videokonferenz teilnehmen, um bessere Informationen und Analysen zu ermöglichen.
Lebenszyklus der Meet Media API
Die folgenden Bilder zeigen den Lebenszyklus der Meet Media API:
-
Abbildung 1. Der Meet Media API-Bot versucht, der Drittanbieterwebsite beizutreten. Die Verbindung wird abgelehnt, wenn Konten von Minderjährigen vorhanden sind. -
Abbildung 2: Besprechungen können als verschlüsselt markiert werden und ein Wasserzeichen enthalten. Die Meet Media API kann nicht verbunden werden, wenn eine Videokonferenz verschlüsselt ist oder ein Wasserzeichen enthält. -
Abbildung 3: Prüfen Sie, ob die Administratoreinstellung korrekt ist. -
Abbildung 4: Richten Sie die Besprechung in Google Kalender ein. Der Host muss der Drittanbieter-App in den Kalendereinstellungen die Berechtigung erteilen, andernfalls wird die Verbindung abgelehnt. -
Abbildung 5. Eine Änderung der Einstellungen während des Anrufs. Wenn der Organisator die Einstellung „Meet Media API“ während eines Anrufs deaktiviert, wird die Verbindung beendet. -
Abbildung 6. Wenn der Inhaber der Videokonferenz ein Privatnutzerkonto (ein Konto, das auf @gmail.com endet) hat, muss der Initiator an der Videokonferenz teilnehmen, um die Einwilligung zu erteilen. Andernfalls wird die Verbindung abgelehnt. -
Abbildung 7. Sobald die Verbindung hergestellt ist, sehen der Organisator, der Co-Organisator oder alle Teilnehmer in derselben Organisation wie der Organisator den Initiierungsdialog. -
Abbildung 8. Jeder kann die Meet Media API während des Anrufs beenden.
Anforderungen an Einwilligende
Apps, die die Meet Media API verwenden, dürfen nur dann an einer Videokonferenz teilnehmen, wenn ein Teilnehmer an der Videokonferenz teilnimmt, der die Einwilligung im Namen der Videokonferenz geben darf.
Für Google Workspace-Videokonferenzen
Damit Sie in Google Workspace-Videokonferenzen die Einwilligung erteilen können, müssen Sie der Organisation angehören, die die Videokonferenz besitzt. In den meisten Fällen ist der Inhaber der Videokonferenz derselbe wie der Organisator. Wenn der Organisator oder der Initiator an der Videokonferenz teilnimmt und zur Organisation gehört, die die Videokonferenz besitzt, wird ihm das Startdialogfeld bevorzugt angezeigt.
Für Verbrauchermeetings
Bei Videokonferenzen, die über Gmail-Konten organisiert werden, muss der Initiator an der Videokonferenz teilnehmen, um die Einwilligung zu erteilen.
Allgemeine Begriffe
- Cloud-Projektnummer
- Eine unveränderliche, generierte
int64
-Kennung für ein Google Cloud-Projekt. Diese Werte werden von der Google Cloud Console für jede registrierte App generiert. - Konferenz
- Eine servergenerierte Instanz eines Anrufs in einem Videokonferenzbereich. Nutzer betrachten dieses Szenario in der Regel als eine einzelne Videokonferenz.
- Conference Resource Data Channel
Anstatt Ressourcen über HTTP anzufordern, wie bei der Google Meet REST API, fordern Meet Media API-Clients Ressourcen vom Server über Datenkanäle an.
Für jeden Ressourcentyp kann ein eigener Datenkanal geöffnet werden. Nach dem Öffnen kann der Client Anfragen über den Channel senden. Ressourcenaktualisierungen werden über denselben Kanal übertragen.
- Contributing Source (CSRC)
Bei virtuellen Media-Streams können Sie nicht davon ausgehen, dass ein Media-Stream immer auf denselben Teilnehmer verweist. Der CSRC-Wert im Header jedes RTP-Pakets gibt die tatsächliche Quelle des Pakets an.
In Meet wird jedem Teilnehmer einer Videokonferenz beim Beitritt ein eindeutiger CSRC-Wert zugewiesen. Dieser Wert bleibt konstant, bis sie die Gruppe verlassen.
- Datenchannels
WebRTC-Datenkanäle ermöglichen den Austausch beliebiger Daten (Text, Dateien usw.) unabhängig von Audio- und Videostreams. Datenkanäle verwenden dieselbe Verbindung wie Media-Streams und bieten so eine effiziente Möglichkeit, WebRTC-Anwendungen den Datenaustausch hinzuzufügen.
- Interactive Connectivity Establishment (ICE)
Ein Protokoll zum Herstellen einer Verbindung, zum Finden aller möglichen Routen für die Kommunikation zwischen zwei Computern über ein Peer-to-Peer-Netzwerk (P2P) und zum Aufrechterhalten der Verbindung.
- Medienstream
Ein WebRTC-Media-Stream stellt einen Fluss von Mediendaten dar, in der Regel Audio oder Video, die von einem Gerät wie einer Kamera oder einem Mikrofon erfasst werden. Sie besteht aus einem oder mehreren Media-Stream-Tracks, die jeweils eine einzelne Medienquelle wie einen Video- oder Audio-Track darstellen.
- Media-Stream-Track
Besteht aus einem einzelnen unidirektionalen Fluss von RTP-Paketen. Ein Media-Stream-Track kann Audio oder Video sein, aber nicht beides. Eine bidirektionale Secure Real-time Transport Protocol-Verbindung (SRTP) besteht in der Regel aus zwei Media-Stream-Tracks: Egress vom lokalen zum Remote-Peer und Ingress vom Remote-Peer zum lokalen Peer.
- Konferenzraum
Ein virtueller Ort oder ein dauerhaftes Objekt (z. B. ein Besprechungsraum), an dem eine Konferenz stattfindet. In einem Bereich kann immer nur eine aktive Videokonferenz stattfinden. Ein Konferenzraum hilft Nutzern auch, sich zu treffen und gemeinsame Ressourcen zu finden.
- Teilnehmer
Eine Person, die an einer Videokonferenz teilnimmt oder den Companion-Modus verwendet, eine Person, die als Zuschauer teilnimmt, oder ein Raumgerät, das mit einem Anruf verbunden ist. Wenn ein Teilnehmer der Videokonferenz beitritt, wird ihm eine eindeutige ID zugewiesen.
- Relevante Streams
Es gibt eine Obergrenze für die Anzahl der virtuellen Audio-Streams und virtuellen Video-Streams, die ein Client öffnen kann.
Die Anzahl der Teilnehmer in einer Videokonferenz kann diese Zahl durchaus überschreiten. In diesen Situationen übertragen Meet-Server die Audio- und Videostreams der Teilnehmer, die als „am relevantesten“ eingestuft werden. Die Relevanz wird anhand verschiedener Merkmale bestimmt, z. B. der Bildschirmfreigabe und wie lange es her ist, dass ein Teilnehmer gesprochen hat.
- Selective Forwarding Unit (SFU)
Eine Selective Forwarding Unit (SFU) ist eine serverseitige Komponente in WebRTC-Konferenzen, die die Verteilung von Media-Streams verwaltet. Teilnehmer stellen nur eine Verbindung zur SFU her, die relevante Streams selektiv an andere Teilnehmer weiterleitet. Dadurch werden die Clientverarbeitungs- und Bandbreitenanforderungen reduziert, was skalierbare Videokonferenzen ermöglicht.
- Session Description Protocol (SDP)
Der Signalmechanismus, den WebRTC zum Aushandeln einer P2P-Verbindung verwendet.
RFC 8866
.- SDP-Antwort
Die Antwort auf ein SDP-Angebot. Die Antwort lehnt alle empfangenen Streams vom Remote-Peer ab oder akzeptiert sie. Außerdem wird ausgehandelt, welche Streams an den Peer des Angebots zurückgesendet werden sollen. Die SDP-Antwort kann keine signalisierten Streams aus dem ursprünglichen Angebot hinzufügen. Wenn ein Offering-Peer signalisiert, dass er bis zu drei Audio-Streams von seinem Remote-Peer akzeptiert, kann dieser Remote-Peer nicht vier Audio-Streams für die Übertragung signalisieren.
- SDP-Angebot
Das ursprüngliche SDP im Peer-to-Peer-Verhandlungsablauf für Angebot und Antwort. Das Angebot wird vom initiierenden Peer erstellt und legt die Bedingungen der Peer-to-Peer-Sitzung fest. Das Angebot wird immer vom Meet Media API-Client erstellt und an die Meet-Server gesendet.
Ein Angebot kann beispielsweise die Anzahl der Audio- oder Videostreams angeben, die der Anbieter sendet (oder empfangen kann), und ob Datenkanäle geöffnet werden sollen.
- Synchronisierungsquelle (SSRC)
Ein SSRC ist eine 32-Bit-Kennung, die eine einzelne Quelle eines Media-Streams innerhalb einer RTP-Sitzung (Real-time Transport Protocol) eindeutig identifiziert. In WebRTC werden SSRCs verwendet, um zwischen verschiedenen Media-Streams zu unterscheiden, die von verschiedenen Teilnehmern oder sogar verschiedenen Tracks desselben Teilnehmers stammen (z. B. verschiedene Kameras).
- RtpTransceiver
Wie in
RFC 8829
beschrieben, ist ein Transceiver eine Abstraktion von RTP-Streams in einer Peer-to-Peer-Sitzung.Ein einzelner Transceiver wird einer einzelnen Medienbeschreibung im SDP zugeordnet und durch diese beschrieben. Ein Transceiver besteht aus einem
RtpSender
und einemRtpReceiver
.Da RTP bidirektional ist, hat jeder Peer eine eigene Transceiver-Instanz für dieselbe RTP-Verbindung. Die
RtpSender
eines bestimmten Transceivers für den lokalen Peer wird derRtpReceiver
eines bestimmten Transceivers im Remote-Peer zugeordnet. Auch das Gegenteil kann der Fall sein. DieRtpSender
des Transceivers des Remote-Peers wird derRtpReceiver
des lokalen Peers zugeordnet.Jede Medienbeschreibung hat einen eigenen Transceiver. Daher hat eine Peer-to-Peer-Sitzung mit mehreren RTP-Streams mehrere Transceiver mit mehreren
RtpSenders
- undRtpReceiver
-Elementen für jeden Peer.- Virtuelle Media-Streams
Virtuelle Media-Streams sind aggregierte Media-Streams, die von einer Selective Forwarding Unit (SFU) in WebRTC-Konferenzen generiert werden. Anstatt dass jeder Teilnehmer einzelne Streams an alle anderen sendet, multiplexiert die SFU ausgewählte Teilnehmerstreams in weniger ausgehende virtuelle Streams. Dadurch wird die Verbindungstopologie vereinfacht und die Last für die Teilnehmer reduziert, was skalierbare Videokonferenzen ermöglicht. Jeder virtuelle Stream kann Medien von mehreren Teilnehmern enthalten, die von der SFU dynamisch verwaltet werden.
Weitere Informationen
Wenn Sie erfahren möchten, wie Sie mit der Entwicklung eines Meet Media API-Clients beginnen, folgen Sie der Anleitung unter Erste Schritte.
Informationen zum Einrichten und Ausführen eines Beispiel-Referenzclients für die Meet Media API finden Sie im C++-Referenzclient-Schnellstart.
Eine konzeptionelle Übersicht finden Sie unter Meet Media API-Konzepte.
Weitere Informationen zu WebRTC finden Sie unter WebRTC For The Curious.
Informationen zur Entwicklung mit Google Workspace APIs, einschließlich der Verarbeitung von Authentifizierung und Autorisierung, finden Sie unter Entwicklung mit Google Workspace.