Управление назначением видео в Meet Media API

После подключения к конференции любой запрошенный аудиосигнал немедленно передается и становится доступным. Однако для получения видео клиенту необходимо сначала определить холсты для каждого видеопотока.

Canvas помогает Meet понять, как ваш клиент будет потреблять видеопоток, указывая его разрешение в пикселях (например, 1280 × 720), частоту кадров в секунду (FPS) и выбирая протокол назначения. Протокол назначения определяет, как Meet должен выбирать видеопотоки, когда количество участников превышает количество SSRC .

Запросы на видеозапись

Чтобы получить видео, клиенты сначала отправляют запрос на назначение видео по каналу данных VideoAssignment , определяя холсты для согласованных видеопотоков.

Отправьте запрос на видеозадание по каналу передачи данных видеозадания.
Рисунок 1. Отправка запроса на назначение видео по каналу данных назначения видео.

Получив запрос, Meet начинает выбирать «релевантные» видеоролики участников на основе таких факторов, как:

  • Говорит ли участник?
  • Является ли участник презентацией?
  • Демонстрирует ли участник экран?

Затем Meet сопоставляет «наиболее подходящих» участников с доступными видео SSRC и начинает передачу видео, максимально точно соответствуя параметрам холста.

Если количество участников конференции превысит количество SSRC, Meet со временем заменит потоки, чтобы подобрать наиболее релевантных участников.

Серверы Meet принимают запросы и назначают видеопотоки.
Рисунок 2. Серверы Meet получают запросы и назначают видеопотоки.

После того, как Meet применит запрос на назначение видео, он отправит обновление ресурса по каналу данных VideoAssignment . Это обновление включает сопоставление SSRC с холстом. Используя это сопоставление, клиенты могут определить разрешение и частоту кадров видеопотока для каждого SSRC. И наоборот, клиент знает, какой SSRC использовать при поиске определённого разрешения и частоты кадров.

Отправьте обновление ресурса по каналу данных видеоназначения.
Рисунок 3. Отправка обновления ресурса по каналу данных видеоназначения.

Соображения

  • Meet определяет связь между SSRC и Canvas. Клиент не указывает это в запросе.

  • Meet не назначает SSRC детерминированно. Например, не стоит предполагать, что первый SSRC соответствует «наиболее релевантному» участнику.

  • Клиентам не следует запрашивать разрешение выше необходимого. Например, не запрашивайте видео 1080p, если ваша модель использует только 480p.

  • Точное соответствие разрешениям не всегда возможно.

  • Клиентам не следует отправлять слишком много запросов на видео. Такие запросы будут блокироваться или игнорироваться.