Esta página explica como usar a API de rede de fornecimento de conteúdo (eCDN) empresarial local do Google Meet para a transmissão ao vivo do Google Meet.
A solução de API descrita aqui permite que os clientes usem o conjunto completo de recursos da eCDN do Meet sem expor informações de IP particulares ao Google. É possível definir um novo serviço da Web local na sua própria rede que transmita um ID em vez das informações de endereço IP particular.
Visão geral da eCDN do Meet
A eCDN é integrada ao Meet e iniciada automaticamente durante as transmissões ao vivo depois que um administrador do Google Workspace a configura. Com a eCDN do Meet ativada, os espectadores de uma transmissão ao vivo em uma rede local podem compartilhar mídias transmitidas ao vivo com outros participantes na rede usando o compartilhamento ponto a ponto (P2P). A maioria dos dispositivos recebe a mídia transmitida ao vivo de colegas próximos e não precisa buscá-la nos servidores do Google. Isso reduz a largura de banda total usada pelos espectadores. Para mais informações sobre como configurar e usar a eCDN do Meet, consulte Organizar transmissões ao vivo para grandes públicos.
A eCDN exige que os espectadores da transmissão ao vivo do Meet sejam organizados em grupos de peering. Um grupo de peering é uma coleção de nós que podem compartilhar mídia entre si. Os dispositivos em um grupo de peering têm permissão ou estão bloqueados para peering. Os dispositivos permitidos só podem se conectar a outros dispositivos no mesmo grupo de peering. Para mais informações sobre grupos de peering, consulte Antes de começar a hospedar grandes transmissões ao vivo.
Quando usar a API
A eCDN pode formar grupos de peering usando várias políticas diferentes: random
, subnet
ou custom rules
. O último compartilha uma tabela de intervalos de rede privada
com o servidor rastreador da eCDN do Google para mapear endereços IP privados de cada nó de mesmo nível
para um grupo de peering. A política custom rules
é a solução preferida e adequada na maioria dos ambientes de produção.
No entanto, a política custom rules
exige que você compartilhe grandes partes da sua estrutura de rede privada com o Google. Além disso, os usuários individuais expõem
os endereços IP particulares detectados localmente ao Google ao usar a eCDN. Para algumas organizações, as diretrizes de segurança não permitem o compartilhamento de informações de IP privado.
Desenvolver com a API Meet eCDN On-Premises
A API Meet eCDN local oferece uma especificação de servidor da Web que pode ser implementada e hospedada localmente na rede da sua organização. Você pode criar um serviço da Web personalizado compatível com a API para realizar todas as tarefas dependentes de informações de IP particulares. Assim, essas informações não são compartilhadas com o Google.
A API abrange as duas etapas críticas para correspondência de endereços IP particulares que geralmente são processadas pelo servidor rastreador de eCDN: mapear endereços IP particulares para um grupo de peering e troca de dados de oferta e resposta do protocolo de descrição de sessão (SDP) durante a sinalização WebRTC.
Depois que o serviço da Web for concluído, configure o
Admin Console para usar uma política de peering On-premises
service
e inclua o URL do seu serviço da Web personalizado.
Requisitos
Se você precisar ativar algum desses requisitos na sua organização, peça ao administrador do Google Workspace:
Qualquer servidor da Web que use HTTPS pode implementar essa API.
Use HTTPS para evitar falhas de conteúdo misto.
Aceitar e retornar dados JSON. Use qualquer codificação de conteúdo compatível com seu navegador.
Atenda endpoints em uma rota
/vn
em quen
é a versão da API selecionada. Por exemplo,/v1/get-peering-group
.Os espectadores da transmissão ao vivo do Meet podem acessar o URL do seu serviço da Web pelo Google Admin Console. O URL pode ser definido globalmente, por unidade organizacional ou por grupo. Verifique se os espectadores conseguem se conectar à instância atribuída do serviço. Para mais informações, consulte Configurar o Admin Console.
O serviço precisa retornar uma resposta em até dois segundos. Caso contrário, o cliente eCDN será desligado, e o espectador vai continuar assistindo o evento ao vivo como um usuário comum, sem eCDN, perdendo qualquer economia de largura de banda.
Seu serviço precisa definir os seguintes cabeçalhos de compartilhamento de recursos entre origens (CORS):
Access-Control-Allow-Origin: meet.google.com
Access-Control-Allow-Headers: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Mapear endereços IP particulares para um grupo de peering
O cliente da eCDN faz uma chamada sempre que tenta se reconectar ao servidor de rastreamento da eCDN. Depois que um dispositivo detecta um endereço IP particular, ele precisa ser mapeado para o grupo de peering adequado. É necessário enviar o endereço IP particular para um
servidor na sua rede e resolver manualmente para um grupo de peering usando o
método get-peering-group()
. Um ID de grupo de peering é retornado na resposta.
Ao se comunicar com o Google, o ID do grupo de peering resultante é transmitido em vez
de endereços IP particulares.

O exemplo de código a seguir mostra como chamar o método get-peering-group()
junto com a possível resposta de erro e o corpo da resposta esperado:
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,
}
A tabela a seguir mostra os formatos de resposta esperados:
Status HTTP | Erro | ID do grupo de peering | Reação do cliente |
---|---|---|---|
200 | null | String não vazia | O cliente precisa ser classificado em um grupo de peering e se conectar ao servidor de rastreamento da eCDN. |
200 | null | NOT_FOUND |
O cliente encerra a sessão da eCDN. |
200 | null | BLOCKED |
O cliente encerra a sessão da eCDN. |
200 | Outra string não vazia | null | O cliente encerra a sessão da eCDN. |
302 (Encontrado) | O cliente segue o redirecionamento para o novo URL especificado no cabeçalho Location do corpo da resposta. |
||
Qualquer outro código de status | Qualquer string | Qualquer string | O cliente encerra a sessão da eCDN. |
Troca de dados de oferta e resposta do SDP
Para iniciar uma conexão WebRTC, os dispositivos precisam trocar ofertas e respostas de SDP, incluindo candidatos de estabelecimento de conectividade interativa (ICE, na sigla em inglês) que contêm informações de IP privado. Isso é feito como parte do processo de sinalização WebRTC.
Os clientes precisam criptografar os candidatos ICE na rede usando a
API Meet eCDN On-Premises com o método encrypt-sdp()
. O método usa uma chave que nunca é exposta ao Google. A oferta de SDP criptografada é enviada ao peer
usando o servidor rastreador da eCDN. Em seguida, o peer cliente descriptografa as informações recebidas na rede usando o método decrypt-sdp()
. Em seguida, o Google encaminha as ofertas e respostas entre os peers conectados.
Depois que a conexão é estabelecida usando a API local da eCDN do Meet, a eCDN opera normalmente. Os peers roteiam a mídia pela rede de peering comum, e o tráfego de mídia não passa nem usa a API.

O exemplo de código a seguir mostra como chamar o método encrypt-sdp()
com a possível resposta de erro e o corpo da resposta esperado:
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,
}
O exemplo de código a seguir mostra como chamar o método decrypt-sdp()
com a possível resposta de erro e o corpo da resposta esperado:
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,
}
A tabela a seguir mostra os formatos de resposta esperados:
Status HTTP | Erro | ID do grupo de peering | Reação do cliente |
---|---|---|---|
200 | null | String não vazia | O cliente espera que os dados de SDP codificados ou decodificados corretamente sejam usados. |
200 | Qualquer string não vazia | null | O cliente encerra a sessão da eCDN. |
302 (Encontrado) | O cliente segue o redirecionamento para o novo URL especificado no cabeçalho Location do corpo da resposta. |
||
Qualquer outro código de status | Qualquer valor | Qualquer valor | O cliente encerra a sessão da eCDN. |
Configurar o Admin Console
Para usar a API Meet eCDN On-Premises, configure a eCDN no Admin Console para incluir o URL do seu serviço da Web personalizado.
Para definir a eCDN, crie uma política de peering usando On-premises service
para corresponder manualmente as informações de IP aos grupos de peering. Você também pode incluir um número de porta se
não estiver usando a porta padrão 443. O URL precisa corresponder ao seguinte formato:
WEB_SERVICE.example.com:8080
, em que WEB_SERVICE
é o nome do seu serviço da Web.
Para mais informações sobre como definir uma política de peering, consulte Configurar o agrupamento de redes.
Temas relacionados
Para saber como usar a eCDN do Meet, siga as etapas em Fazer grandes transmissões ao vivo.
Para saber como configurar a eCDN, consulte Antes de começar a hospedar grandes transmissões ao vivo.
Para saber como configurar sua rede, consulte Preparar sua rede para transmissões ao vivo e reuniões no Meet.
Para fazer login no Google Admin Console como administrador, consulte Fazer login no Admin Console.