在 Meet 媒体 API 中管理视频作业

连接到会议后,系统会立即传输和播放所有请求的音频。不过,若要接收视频,客户端必须先为每个视频流定义画布。

画布有助于 Meet 了解您的客户将如何使用视频串流,包括指定其分辨率(以像素为单位,例如 1280 × 720)、每秒帧数 (FPS) 以及选择分配协议。分配协议指定了当参与者数量多于 SSRC 时,Meet 应如何选择视频串流。

视频作业请求

如需接收视频,客户端首先通过 VideoAssignment 数据通道发送视频分配 请求,为协商的视频串流定义画布。

通过视频作业数据通道发送视频作业请求。
图 1. 通过视频作业数据通道发送视频作业请求。

Meet 收到请求后,便会根据以下因素等选择“相关”参与者视频:

  • 参与者是否在说话?
  • 参与者是否正在展示?
  • 参与者是否在共享屏幕?

然后,Meet 会将“最相关”的参与者映射到可用的视频 SSRC,并开始传输视频,尽可能与画布参数相匹配。

如果会议参与者人数超过 SSRC 的数量,Meet 会随着时间的推移替换画面,以匹配最相关的参与者。

Meet 服务器会接收请求并分配视频串流。
图 2. Meet 服务器会接收请求并分配视频串流。

Meet 应用视频作业请求后,会通过 VideoAssignment 数据通道推送资源更新。此更新包含 SSRC 到画布映射。借助此映射,客户端可以确定每个 SSRC 的视频流的分辨率和 FPS。反之,客户端在查找特定分辨率和 FPS 时知道要使用哪个 SSRC。

通过视频作业数据通道发送资源更新。
图 3. 通过视频作业数据通道发送资源更新。

注意事项

  • Meet 决定 SSRC 与画布之间的关联。客户端未在请求中指定此参数。

  • Meet 不会确定性地分配 SSRC。例如,请勿假定第一个 SSRC 是“最相关”的参与者。

  • 客户不应请求超出所需的解析度。例如,如果您的模型仅使用 480p,请勿请求 1080p 视频。

  • 我们可能无法始终找到完全匹配的分辨率。

  • 客户端不应发送过多的视频分配请求。这些请求将被节流或忽略。