# Функционал наложения

Это функционал, который позволяет накладывать png изображение поверх своего видео. Видеопоток с наложенной картинкой затем отображается во всех местах в VideoSDK/Room, а также отсылается другим участникам групповой конференции.

# Накладываемые изображения

  • Поддерживаются только картинки png формата

  • Изображение должно быть того же размера, что и кадры с устройства захвата видео. Если оно больше или меньше, то будет отмасштабировано до размера кадров видео автоматически и без учета соотношения сторон. Общая рекомендация: использовать изображения примерно такого же соотношения сторон как и у камеры, и с хорошим разрешением, чтобы не нарушались при наложении пропорции и не ухудшалось визуально качество при выводе вашего видеоокна на большом экране у других участников.

# Работа с накладываемыми изображениями

Для работы с изображениями используются http запросы на overlay тег (по аналогии с аватарками, фреймами и т.п.) встроенного http сервера. Список передаваемых параметров зависит от выполняемого действия. Доступные параметры:

  • token – токен, полученный в процессе авторизации. Должен присутствовать всегда

  • type – тип запроса, определяет выполняемое действие. Принимает значения:

    • drawing – работа с накладываемыми изображениями. При этом типе также обязателен параметр imageId - уникальный идентификатор изображения, которое накладывается

    • original_frames – работа с оригиналами изображения, т.е. с кадрами без наложенных изображений. Этот тип содержит опциональный параметр peerId – уникальный идентификатор источника кадров (участники конференции, а также свое собственное видео). Если параметр отсутствует, по умолчанию будет использоваться идентификатор собственного видеопотока

Запросы:

  • GET. Используется для получения конкретного изображения по его идентификатору. Доступные типы: drawing, original_frames

  • POST. Используется для установки конкретного изображения по его идентификатору. Доступные типы: drawing

  • DELETE. Используется для удаления конкретного изображения по его идентификатору. Доступные типы: drawing

  • OPTIONS. Стандартная логика. Доступные типы: drawing, original_frames

  • HEAD. Стандартная логика. Доступные типы: drawing, original_frames

Примеры использования смотрите в описании http-сервера.

# Общая логика

  • Накладываемых изображений может быть сколько угодно, но у каждого будет свой уникальный идентификатор

  • Если изображений несколько, порядок их наложения будет определяться порядком загрузки на сервер

  • Загруженные изображения автоматически удаляются спустя 5 секунд после загрузки

  • Функционал наложения работает поверх функционала размытия и замены фона. Т.е. сначала формируется картинка с размытием/заменой фона, а сверху накладывается изображение

  • Функционал наложения будет работать только в PRO режиме

См. также:

Встроенный http сервер