连接到会议后,系统会立即传输并提供请求的任何音频。不过,若要接收视频,客户端必须先为每个视频流定义画布。
画布有助于 Meet 了解客户端将如何使用视频流,并指定其分辨率(以像素为单位,例如 1280×720)、每秒帧数 (FPS) 和选择分配协议。分配协议用于指定当参与者数量多于 SSRC 时,Meet 应如何选择视频流。
视频分配请求
为了接收视频,客户端首先通过 VideoAssignment
数据通道发送视频分配
请求,为协商的视频流定义画布。
Meet 收到请求后,会开始根据以下因素选择“相关”参与者的视频:
- 参与者是否在说话?
- 参与者是否在展示?
- 参与者是否在共享屏幕?
然后,Meet 会将“最相关”的参与者映射到可用的视频 SSRC,并开始传输视频,尽可能与画布参数保持一致。
如果会议中的参与者人数超过了 SSRC 的数量,Meet 会随着时间的推移替换流,以匹配最相关的参与者。
Meet 应用视频分配请求后,会通过 VideoAssignment
数据通道推送资源更新。此更新包含 SSRC 到画布的映射。借助此映射,客户端可以确定每个 SSRC 的视频流的分辨率和 FPS。相反,客户端知道在寻找特定分辨率和 FPS 时要使用哪个 SSRC。
注意事项
Meet 决定 SSRC 与画布之间的关联。客户端未在请求中指定此参数。
Meet 不会确定性地分配 SSRC。例如,不要假设第一个 SSRC 是“最相关”的参与者。
客户端不应请求超出其需求的更高分辨率。例如,如果模型仅使用 480p 视频,则不要请求 1080p 视频。
可能无法始终实现完全匹配的分辨率。
客户端不应发送过多的视频分配请求。这些请求将被限制或忽略。