Pojęcia związane z interfejsem Media API Meet
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Interfejs Google Meet Media API umożliwia aplikacji dołączenie do
konferencji w Google Meet i korzystanie ze strumieni multimediów w czasie rzeczywistych.
Klienci używają WebRTC do komunikacji z serwerami Meet. Dostarczone
klienty referencyjne (C++,
TypeScript) pokazują zalecane praktyki i
zachęcamy do tworzenia aplikacji bezpośrednio na ich podstawie.
Ta strona zawiera najważniejsze informacje o WebRTC, które są potrzebne do prawidłowego działania sesji interfejsu Meet Media API.
Sygnalizacja oferty i odpowiedzi
WebRTC to platforma peer-to-peer (P2P), w której urządzenia komunikują się ze sobą za pomocą sygnalizacji. Aby rozpocząć sesję, urządzenie inicjujące wysyła ofertę SDP do urządzenia zdalnego. Ta oferta zawiera te ważne informacje:
Opisy multimediów audio i wideo
Opisy multimediów wskazują, co jest przekazywane podczas sesji P2P. Istnieją 3 typy opisów: audio, wideo i dane.
Aby wskazać n strumieni audio, oferujący umieszcza w ofercie n opisów multimediów audio. To samo dotyczy wideo. Może jednak występować co najwyżej 1 opis multimediów danych.
Dozwolone kierunki jazdy
Każdy opis audio lub wideo opisuje poszczególne Secure Real-time Transport
Protocol (SRTP) strumienie, które podlegają RFC
3711. Są one dwukierunkowe, co umożliwia 2 urządzeniom wysyłanie i odbieranie multimediów przez to samo połączenie.
Z tego powodu każdy opis multimediów (zarówno w ofercie, jak i odpowiedzi) zawiera 1 z 3 atrybutów opisujących, jak należy używać strumienia:
sendonly: wysyła tylko multimedia z urządzenia oferującego. Urządzenie zdalne nie będzie wysyłać multimediów w tym strumieniu.
recvonly: odbiera tylko multimedia z urządzenia zdalnego. Urządzenie oferujące nie będzie wysyłać multimediów w tym strumieniu.
sendrecv: oba urządzenia mogą wysyłać i odbierać multimedia w tym strumieniu.
Kodeki
Każdy opis multimediów określa też kodeki obsługiwane przez urządzenie. W przypadku
interfejsu Meet Media API oferty klientów są odrzucane, chyba że obsługują one
(co najmniej) kodeki określone w wymaganiach
technicznych.
Uzgadnianie połączenia DTLS
Strumienie SRTP są zabezpieczone przez początkowe
Datagram Transport Layer Security ("DTLS", RFC
9147) uzgadnianie połączenia między urządzeniami.
DTLS jest tradycyjnie protokołem klient-serwer. Podczas procesu sygnalizacji 1 urządzenie zgadza się pełnić rolę serwera, a drugie – klienta.
Ponieważ każdy strumień SRTP może mieć własne dedykowane połączenie DTLS, każdy opis multimediów określa 1 z 3 atrybutów wskazujących rolę urządzenia w uzgadnianiu połączenia DTLS:
a=setup:actpass: urządzenie oferujące odracza wybór urządzenia zdalnego.
a=setup:active: to urządzenie pełni rolę klienta.
a=setup:passive: to urządzenie pełni rolę serwera.
Opisy multimediów aplikacji
Kanały danych (RFC 8831) są
abstrakcją Stream Control Transmission Protocol ("SCTP", RFC
9260).
Aby otworzyć kanały danych podczas początkowej fazy sygnalizacji, oferta musi zawierać opis multimediów aplikacji. W przeciwieństwie do opisów audio i wideo opisy aplikacji nie określają kierunku ani kodeków.
Kandydaci ICE
Kandydaci Interactive Connectivity Establishment („ICE”, RFC
8445) to lista
tras, których urządzenie zdalne może użyć do nawiązania połączenia.
Iloczyn kartezjański list 2 urządzeń, znany jako pary kandydatów,
reprezentuje potencjalne trasy między 2 urządzeniami. Te pary są testowane w celu określenia optymalnej trasy.
Rysunek 1. Przykładowa oferta z opisem multimediów audio.
Urządzenie zdalne odpowiada odpowiedzią SDP
zawierającą taką samą liczbę
wierszy opisu multimediów. Każdy wiersz wskazuje, jakie multimedia (jeśli w ogóle) urządzenie zdalne wysyła z powrotem do klienta oferującego za pomocą strumieni SRTP. Urządzenie zdalne może też odrzucić określone strumienie od oferującego, ustawiając wpis opisu multimediów na recvonly.
W przypadku interfejsu Meet Media API klienci zawsze wysyłają ofertę SDP, aby zainicjować połączenie. Meet nigdy nie jest inicjatorem.
To zachowanie jest zarządzane wewnętrznie przez klienty referencyjne
(C++, TypeScript),
ale deweloperzy klientów niestandardowych mogą używać PeerConnectionInterface WebRTC do
generowania oferty.
Aby połączyć się z Meet, oferta musi spełniać określone
wymagania:
Klient musi zawsze pełnić rolę klienta w uzgadnianiu połączenia DTLS, więc każdy opis multimediów w ofercie musi określać a=setup:actpass lub a=setup:active.
Każdy wiersz opisu multimediów musi obsługiwać wszystkie wymagane
kodeki dla danego typu
multimediów:
Dźwięk:Opus
Wideo:VP8, VP9, AV1
Aby odbierać dźwięk, oferta musi zawierać dokładnie 3 opisy multimediów audio tylko do odbioru. Możesz to zrobić, ustawiając transceivery w obiekcie połączenia peer-to-peer.
Aby odbierać wideo, oferta musi zawierać 1–3 opisy multimediów wideo tylko do odbioru. Możesz to zrobić, ustawiając transceivery w obiekcie połączenia peer-to-peer.
Oferta musi zawsze zawierać kanały danych. Co najmniej kanały session-control i media-stats powinny być zawsze otwarte. Wszystkie kanały danych muszą być ordered.
Oto pełny przykład prawidłowej oferty SDP i pasującej odpowiedzi SDP. Ta oferta negocjuje sesję interfejsu Meet Media API z dźwiękiem i pojedynczym strumieniem wideo.
Zwróć uwagę, że są 3 opisy multimediów audio, 1 opis multimediów wideo i wymagany opis multimediów aplikacji.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2026-09-15 UTC."],[],[]]