本页介绍了如何将 Google Meet 企业内容分发网络 (eCDN) 专用内网 API 用于 Google Meet 直播。
借助此处介绍的 API 解决方案,客户无需向 Google 公开专用 IP 信息,即可使用 Meet eCDN 的完整功能集。您可以在自己的网络中定义新的本地 Web 服务,该服务传递 ID 而非专用 IP 地址信息。
Meet eCDN 概览
eCDN 内置于 Meet 中,在 Google Workspace 管理员进行相关设置后,会在直播期间自动启动。启用 Meet eCDN 后,本地网络中的直播观看者可以通过点对点 (P2P) 共享功能与网络中的其他对等方共享直播媒体。大多数设备会从附近的对等设备接收直播媒体,而无需从 Google 的服务器中提取。这样一来,观看者所用的总带宽会降低。如需详细了解如何设置和使用 Meet eCDN,请参阅举办大型直播。
eCDN 要求将 Meet 直播的观看者排序为对等组。对等互连组是指一组允许彼此共享媒体的节点。对等互连组中的设备要么允许对等互连,要么禁止对等互连。允许对等互连的设备只能连接到同一对等互连组中的其他设备。如需详细了解对等群组,请参阅举办大型直播之前的准备工作。
何时使用 API
eCDN 可以使用以下几种不同的对等互连政策组成对等互连组:random
、subnet
或 custom rules
。后者会与 Google 的 eCDN 跟踪器服务器共享一个专用网络范围表,以将每个对等节点的专用 IP 地址映射到一个对等组。custom rules
政策是首选解决方案,适用于大多数生产环境。
不过,custom rules
政策要求您与 Google 分享大量的专用网络结构。此外,在使用 eCDN 时,个别用户会向 Google 公开其在本地检测到的专用 IP 地址。对于某些组织,其安全准则可能不允许共享私有 IP 信息。
使用 Meet eCDN 本地 API 进行开发
Meet eCDN 本地 API 提供了一个 Web 服务器规范,您可以在贵组织的网络中本地实现和托管该规范。您可以构建与该 API 兼容的自定义 Web 服务,以执行依赖于专用 IP 信息的所有任务,从而避免与 Google 分享这些信息。
该 API 包含通常由 eCDN 跟踪器服务器处理的匹配专用 IP 地址的两个关键步骤:将专用 IP 地址映射到对等互连组,以及在 WebRTC 信号期间进行 Session Description Protocol (SDP) 提供-响应数据交换。
创建完网络服务后,您必须配置管理控制台,以使用 On-premises
service
对等策略并添加自定义网络服务的网址。
要求
如果您需要为贵组织启用以下任一要求,请咨询您的 Google Workspace 管理员:
任何使用 HTTPS 的 Web 服务器都可以实现此 API。
使用 HTTPS 可防止混合内容失败。
接受和返回 JSON 数据。使用浏览器支持的任何内容编码。
在
/vn
路线下提供端点,其中n
是所选的 API 版本。例如/v1/get-peering-group
。Meet 直播观看者可以通过 Google 管理控制台了解您的网站服务的网址。您可以全局设置此网址,也可以为每个组织部门或群组分别设置。确保观看者可以连接到分配给他们的服务实例。如需了解详情,请参阅配置管理控制台。
您的服务应在 2 秒内返回响应。否则,eCDN 客户端会关闭,观看者会以非 eCDN 的普通用户身份继续观看直播,无法节省任何带宽。
您的服务必须设置以下跨源资源共享 (CORS) 标头:
Access-Control-Allow-Origin: meet.google.com
Access-Control-Allow-Headers: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
将专用 IP 地址映射到对等互连组
每次尝试重新连接到 eCDN 跟踪器服务器时,eCDN 客户端都会进行调用。设备检测到专用 IP 地址后,必须将该地址映射到适当的对等组。您必须将专用 IP 地址发送到网络上的服务器,并使用 get-peering-group()
方法将其手动解析为对等互连组。响应中会返回一个对等群组 ID。
与 Google 通信时,系统会传递生成的对等互连组 ID,而不是专用 IP 地址。
以下代码示例展示了如何调用 get-peering-group()
方法,以及可能的错误响应和预期的响应正文:
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,
}
下表显示了预期的响应格式:
HTTP 状态 | 错误 | 对等互连组 ID | 客户回应 |
---|---|---|---|
200 | null | 非空字符串 | 客户端应分类到对等组,并继续连接到 eCDN 跟踪器服务器。 |
200 | NOT_FOUND |
null | 客户端终止 eCDN 会话。 |
200 | BLOCKED |
null | 客户端终止 eCDN 会话。 |
200 | 其他非空字符串 | null | 客户端终止 eCDN 会话。 |
302(已找到) | 客户端会遵循重定向,重定向到响应正文的 Location 标头中指定的新网址。 |
||
任何其他状态代码 | 任意字符串 | 任意字符串 | 客户端终止 eCDN 会话。 |
SDP 提议-响应数据交换
如需发起 WebRTC 连接,设备必须交换其包含专用 IP 信息的 SDP 报价和回答,包括 Interactive Connectivity Establishment (ICE) 候选对象。它们会在 WebRTC 信令流程中执行此操作。
客户端必须使用 encrypt-sdp()
方法通过 Meet eCDN 本地 API 在其网络中对其 ICE 候选进行加密。该方法使用永远不会向 Google 公开的密钥。然后,系统会使用 eCDN 跟踪器服务器将加密的 SDP 提供给对等方。然后,客户端对等使用 decrypt-sdp()
方法在其网络中解密收到的信息。然后,Google 会在已连接的对等方之间转发优惠和回答。
使用 Meet eCDN 本地 API 建立连接后,eCDN 会照常运行。对等方会通过常规对等网络路由媒体,并且媒体流量不会通过或使用该 API。
以下代码示例展示了如何调用 encrypt-sdp()
方法以及可能的错误响应和预期响应正文:
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,
}
以下代码示例展示了如何调用 decrypt-sdp()
方法以及可能的错误响应和预期的响应正文:
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,
}
下表显示了预期的响应格式:
HTTP 状态 | 错误 | 对等互连组 ID | 客户回应 |
---|---|---|---|
200 | null | 非空字符串 | 客户端预计使用正确编码或解码的 SDP 数据。 |
200 | 任何非空字符串 | null | 客户端终止 eCDN 会话。 |
302(已找到) | 客户端会遵循重定向,重定向到响应正文的 Location 标头中指定的新网址。 |
||
任何其他状态代码 | 任意值 | 任意值 | 客户端终止 eCDN 会话。 |
配置管理控制台
如需使用 Meet eCDN 本地 API,您必须在 管理控制台中配置 eCDN,以添加自定义 Web 服务的网址。
如需设置 eCDN,请使用 On-premises service
创建对等互连政策,以手动将 IP 信息与对等互连组进行匹配。如果您使用的不是默认端口 443,也可以添加端口号。网址应采用以下格式:WEB_SERVICE.example.com:8080
,其中 WEB_SERVICE
是您的网站服务名称。
如需详细了解如何设置对等互连政策,请参阅配置网络分组。
相关主题
如需了解如何使用 Meet eCDN,请按照举办大型直播中的步骤操作。
如需了解如何设置 eCDN,请参阅举办大型直播之前的准备工作。
如需了解如何设置网络,请参阅为 Meet 会议和直播准备好网络。
如需以管理员身份登录 Google 管理控制台,请参阅登录管理控制台。