Na tej stronie dowiesz się, jak używać interfejsu Google Meet Enterprise Content Delivery Network (eCDN) On-Premises API do transmisji na żywo w Google Meet.
Opisane tu rozwiązanie API umożliwia klientom korzystanie z pełnego zestawu funkcji sieci eCDN Meet bez udostępniania Google prywatnych informacji o adresach IP. Możesz zdefiniować nową lokalną usługę internetową we własnej sieci, która przekazuje identyfikator zamiast informacji o prywatnym adresie IP.
Omówienie eCDN w Meet
Sieć eCDN jest wbudowana w Meet i po skonfigurowaniu przez administratora Google Workspace uruchamia się automatycznie podczas transmisji na żywo. Gdy sieć eCDN w Meet jest włączona, widzowie transmisji na żywo z sieci lokalnej mogą udostępniać transmitowane na żywo multimedia innym osobom w tej sieci za pomocą udostępniania peer-to-peer (P2P). Większość urządzeń otrzymuje transmitowane na żywo multimedia od osób w tej samej sieci, które znajdują się w pobliżu, i nie musi pobierać ich z serwerów Google. Zmniejsza to całkowitą przepustowość wykorzystywaną przez widzów. Więcej informacji o konfigurowaniu i używaniu eCDN w Meet znajdziesz w artykule Hostowanie dużych transmisji na żywo.
Sieć eCDN wymaga, aby widzowie transmisji na żywo w Meet byli podzieleni na grupy równorzędne. Grupa połączeń równorzędnych to zbiór węzłów, które mogą udostępniać sobie multimedia. Urządzenia w grupie połączeń równorzędnych mogą nawiązywać połączenia równorzędne lub mają tę możliwość zablokowaną. Dozwolone urządzenia mogą łączyć się tylko z innymi urządzeniami w tej samej grupie połączeń równorzędnych. Więcej informacji o grupach równorzędnych znajdziesz w artykule Kroki do wykonania przed hostowaniem dużych transmisji na żywo.
Kiedy używać interfejsu API
Sieć eCDN może tworzyć grupy połączeń równorzędnych przy użyciu kilku różnych zasad połączeń równorzędnych: random
, subnet
lub custom rules
. Ten ostatni udostępnia serwerowi śledzącemu eCDN Google tabelę zakresów sieci prywatnych, aby mapować prywatne adresy IP każdego węzła równorzędnego na grupę równorzędną. Zasady custom rules
są preferowanym rozwiązaniem i sprawdzają się w większości środowisk produkcyjnych.
Jednak zgodnie z zasadami custom rules
musisz udostępniać Google duże części struktury sieci prywatnej. Dodatkowo poszczególni użytkownicy udostępniają Google wykryte lokalnie prywatne adresy IP podczas korzystania z eCDN. W przypadku niektórych organizacji wytyczne dotyczące bezpieczeństwa mogą nie zezwalać na udostępnianie prywatnych informacji o adresie IP.
Opracowywanie z użyciem interfejsu Meet eCDN On-Premises API
Interfejs Meet eCDN On-Premises API udostępnia specyfikację serwera WWW, którą możesz wdrożyć i hostować lokalnie w sieci organizacji. Możesz utworzyć niestandardową usługę internetową zgodną z interfejsem API, aby wykonywać wszystkie zadania zależne od prywatnych informacji o adresie IP, dzięki czemu informacje te nie będą udostępniane Google.
Interfejs API obejmuje 2 kluczowe etapy dopasowywania prywatnych adresów IP, które są zwykle obsługiwane przez serwer śledzący eCDN: mapowanie prywatnych adresów IP na grupę połączeń równorzędnych i wymiana danych oferty i odpowiedzi protokołu SDP (Session Description Protocol) podczas sygnalizacji WebRTC.
Po utworzeniu usługi internetowej musisz skonfigurować konsolę administracyjną, aby używać zasady peeringu On-premises
service
i uwzględnić adres URL niestandardowej usługi internetowej.
Wymagania
Jeśli chcesz włączyć w swojej organizacji któreś z tych wymagań, poproś o to administratora Google Workspace:
Ten interfejs API może wdrożyć każdy serwer internetowy korzystający z protokołu HTTPS.
Używaj protokołu HTTPS, aby zapobiegać błędom treści mieszanej.
przyjmować i zwracać dane JSON; Używaj dowolnego kodowania treści obsługiwanego przez przeglądarkę.
Udostępniaj punkty końcowe w ramach trasy
/vn
, gdzien
to wybrana wersja interfejsu API. Na przykład:/v1/get-peering-group
.Osoby oglądające transmisję na żywo w Meet mogą dowiedzieć się o adresie URL usługi internetowej w konsoli administracyjnej Google. Adres URL można ustawić globalnie, dla jednostki organizacyjnej lub dla grupy. Upewnij się, że widzowie mogą łączyć się z przypisaną instancją usługi. Więcej informacji znajdziesz w artykule Konfigurowanie konsoli administracyjnej.
Usługa powinna zwrócić odpowiedź w ciągu 2 sekund. W przeciwnym razie klient eCDN zostanie zamknięty, a widz będzie nadal oglądać wydarzenie na żywo jako zwykły użytkownik, który nie korzysta z eCDN, co uniemożliwi mu zaoszczędzenie przepustowości.
Usługa musi ustawić te nagłówki współdzielenia zasobów pomiędzy serwerami z różnych domen (CORS):
Access-Control-Allow-Origin: meet.google.com
Access-Control-Allow-Headers: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Mapowanie prywatnych adresów IP na grupę komunikacji równorzędnej
Klient eCDN wykonuje połączenie za każdym razem, gdy próbuje ponownie połączyć się z serwerem śledzenia eCDN. Gdy urządzenie wykryje prywatny adres IP, musi go przypisać do odpowiedniej grupy komunikacji równorzędnej. Musisz wysłać prywatny adres IP na serwer w swojej sieci i ręcznie rozpoznać go jako grupę połączeń równorzędnych za pomocą metody get-peering-group()
. W odpowiedzi zostanie zwrócony identyfikator grupy połączeń.
Podczas komunikacji z Google zamiast prywatnych adresów IP przekazywany jest identyfikator grupy komunikacji równorzędnej.

Poniższy przykładowy kod pokazuje, jak wywołać metodę get-peering-group()
wraz z potencjalną odpowiedzią o błędzie i oczekiwaną treścią odpowiedzi:
POST /v1/get-peering-group
Content-Type: application/json
Request body:
{
"availableIPs": []{
"format": "ipv4"|"ipv6",
"address": "DETECTED_ADDRESS"
}
}
Error response:
{
"result": null,
"error": "ERROR_MESSAGE",
}
Response body:
{
"result": "PEERING_GROUP_ID",
"error": null,
}
W tabeli poniżej znajdziesz oczekiwane formaty odpowiedzi:
Stan HTTP | Błąd | Identyfikator grupy połączeń równorzędnych | Reakcja klienta |
---|---|---|---|
200 | null | Niepusty ciąg znaków | Klient powinien zostać przypisany do grupy równorzędnej i połączyć się z serwerem śledzącym eCDN. |
200 | null | NOT_FOUND |
Klient kończy sesję eCDN. |
200 | null | BLOCKED |
Klient kończy sesję eCDN. |
200 | Inny niepusty ciąg znaków | null | Klient kończy sesję eCDN. |
302 (Znaleziono) | Klient podąża za przekierowaniem na nowy adres URL podany w nagłówku Location w treści odpowiedzi. |
||
Inny kod stanu | Dowolny ciąg znaków | Dowolny ciąg znaków | Klient kończy sesję eCDN. |
Wymiana danych oferty i odpowiedzi SDP
Aby zainicjować połączenie WebRTC, urządzenia muszą wymieniać oferty i odpowiedzi SDP, w tym kandydatów ICE (Interactive Connectivity Establishment), które zawierają prywatne informacje o adresie IP. Odbywa się to w ramach procesu sygnalizacji WebRTC.
Klienci muszą szyfrować kandydatów ICE w swojej sieci za pomocą interfejsu Meet eCDN On-Premises API, korzystając z metody encrypt-sdp()
. Metoda ta używa klucza, który nigdy nie jest udostępniany Google. Zaszyfrowana oferta SDP jest następnie wysyłana do urządzenia równorzędnego za pomocą serwera śledzącego eCDN. Węzeł klienta odszyfrowuje otrzymane informacje w swojej sieci za pomocą metody decrypt-sdp()
. Następnie Google przekazuje oferty i odpowiedzi między połączonymi urządzeniami.
Po nawiązaniu połączenia za pomocą interfejsu Meet eCDN On-Premises API sieć eCDN działa normalnie. Uczestnicy kierują multimedia przez zwykłą sieć połączeń równorzędnych, a ruch multimediów nie przechodzi przez interfejs API ani go nie używa.

Poniższy przykładowy kod pokazuje, jak wywołać metodę encrypt-sdp()
wraz z potencjalną odpowiedzią o błędzie i oczekiwaną treścią odpowiedzi:
POST /v1/encrypt-sdp
Content-Type: application/json
Request body:
{
"data": "SDP_DATA" // raw SDP data
},
Error response:
{
"result": null,
"error": "ERROR_MESSAGE", // error message
}
Response body:
{
"result": "ENCRYPTED_DATA_STRING", // encrypted data as string
"error": null,
}
Poniższy przykładowy kod pokazuje, jak wywołać metodę decrypt-sdp()
wraz z potencjalną odpowiedzią o błędzie i oczekiwaną treścią odpowiedzi:
POST /v1/decrypt-sdp
Content-Type: application/json
Request body:
{
"data": "ENCRYPTED_DATA_STRING", // encrypted data as string (size limit: 1 MB)
},
Error response:
{
"result": null,
"error": "ERROR_MESSAGE", // error message
}
Response body:
{
"result": "SDP_DATA" // raw SDP data
"error": null,
}
W tabeli poniżej znajdziesz oczekiwane formaty odpowiedzi:
Stan HTTP | Błąd | Identyfikator grupy połączeń równorzędnych | Reakcja klienta |
---|---|---|---|
200 | null | Niepusty ciąg znaków | Klient oczekuje użycia prawidłowo zakodowanych lub zdekodowanych danych SDP. |
200 | Dowolny niepusty ciąg znaków | null | Klient kończy sesję eCDN. |
302 (Znaleziono) | Klient podąża za przekierowaniem na nowy adres URL podany w nagłówku Location w treści odpowiedzi. |
||
Inny kod stanu | Dowolna wartość | Dowolna wartość | Klient kończy sesję eCDN. |
Konfigurowanie konsoli administracyjnej
Aby korzystać z interfejsu Meet eCDN On-Premises API, musisz skonfigurować eCDN w konsoli administracyjnej, aby uwzględnić adres URL niestandardowej usługi internetowej.
Aby skonfigurować eCDN, utwórz zasadę połączeń równorzędnych za pomocą On-premises service
, aby ręcznie dopasować informacje o adresie IP do grup połączeń równorzędnych. Możesz też podać numer portu, jeśli nie używasz domyślnego portu 443. Adres URL powinien mieć format: WEB_SERVICE.example.com:8080
, gdzie WEB_SERVICE
to nazwa usługi internetowej.
Więcej informacji o ustawianiu zasad połączeń równorzędnych znajdziesz w artykule Konfigurowanie grupowania sieci.
Powiązane artykuły
Aby dowiedzieć się, jak korzystać z eCDN w Meet, wykonaj czynności opisane w artykule Hostowanie dużych transmisji na żywo.
Aby dowiedzieć się, jak skonfigurować eCDN, przeczytaj artykuł Kroki do wykonania przed hostowaniem dużych transmisji na żywo.
Aby dowiedzieć się, jak skonfigurować sieć, przeczytaj artykuł Przygotowywanie sieci na spotkania i transmisje na żywo w Meet.
Aby zalogować się w konsoli administracyjnej Google jako administrator, przeczytaj artykuł Logowanie się w konsoli administracyjnej.