Данный проект создан для расширения функционала телестудии МИЭМ путем добавления возможности использования в нем технологий виртуального видеопроизводства. До этого возможность создавать фон для видео ограничивалась встроенным в OBS функционалом, позволяющим использовать лишь 2-d фон, являющийся стационарным. Для корректного позиционирования такого фона было необходимо создавать отдельный такой фон для каждого ракурса камеры. Представленное решение основано на игровом движке Unreal Engine 5.1 и позволяет использовать в качестве заднего фона как полноценные 3-d сцены, так и hdri-карты, представляющие собой качественные панорамные изображения с информацией об освещении, что позволяет создать эмуляцию окружения. При этом применяется трекинг камеры, позволяющий связать виртуальную камеру движка с реальной и позволяет представить актуальное, правильное с точки зрения позиционирования изображение для заднего фона.
Конечным пользователем продукта является оператор/режиссер или другой сотрудник студии, целиком сопровождающий процесс съемки. Его задачами является базовая настройка конфигурации, позволяющая развернуть систему (Unreal Engine + python скрипт), а также выбор необходимой под конкретную съемку заранее подготовленной сцены в Unreal Engine.
В качестве администратора выступает человек, который понимает принципы работы с Unreal Engine для составления и изменения существующих сцен и добавления новых. Также он должен ориентироваться в документации разрабатываемого продукта для своевременного обнаружения возможных проблем и их исправления. В его задачи входит подготовка необходимых сцен и сопровождение процесса подготовки к съемкам, предполагающим использование данного продукта.
Разработчик - человек, который сможет внедрять новые функции, оптимизировать работу продукта и поддерживать его работоспособность.
Данная процедура является общей для любого сценария использования. Пользователь/администратор запускает UE 5.1 и разворачивает на нем WebService Remote Control. Так же необходимо запустить python скрипт, который автоматически подключится к веб серверу UE и к камерам по протоколу ONVIF (в скрипте нужно вручную прописать ip и порты необходимых камер). После запуска скрипта пользователь получает уведомление о статусе подключения к камерам в студии и к веб серверу Unreal Engine. После успешного подключения пользователь продолжит получать уведомления с текущими координатами камеры и статусом исполнения передачи этих данных в Unreal Engine. Стоит отметить что запуск скрипта нужно производить после его конфигурации в зависимости от выбранного сценария.
Для запуска трекинга пользователю необходимо выбрать соответствующий сценарию скрипт и сцену UE. Если сцена уже настроено, можно перейти к 5 пункту. Далее алгоритм действий следующий:
выбрать одну из готовых сцен:
MyProject2 для сцены из 2 или 3 камер и MyProject для сцены из 1 камеры на hdri-карте.
В сцене включен плагин OWL - он попросит авторизоваться в аккаунт. При первом запуске создайте новый аккаунт, далее можно авторизоваться через свой google аккаунт.
*Подробнее: *
Реализация данного сценария не сильно отличается от варианта с несколькими камерами. Необходимо выполнить те-же действия.
Стоит отметить, что особенностью данного сценария является возможность использовать сцены, основанные на hdri-картах. При корректном запуске подготовленной сцены и некоторой конфигурации скрипта проблем возникнуть не должно. Далее предложены варианты решения некоторых проблем, которые могут возникнуть при использовании такого подхода.
Смещение камеры относительно hdri - карты. При смещении виртуальной камеры относительно hdri-карты итоговое изображение будет искажено. Для решения этой проблемы нужно совместить координаты hdri-карты в сцене с координатами виртуальной камеры. Для этого необходимо при помощи ЛКМ выбрать карту и указать в ее параметрах значения location 0, 0, 0. Далее применить аналогичные действия для виртуальной камеры, указать значения 0, 0 , (100-200). Значения высоты камеры необходимо задать в зависимости от используемой карты. Для этого необходимо на глаз, по видео, указать значение в этом диапазоне. Как правило это около 120 - 130.
Возможно использование как hdri карт для сцен с 1 виртуальной камерой, так и полноценных 3-d сцен. В интернете существует как достаточно большое число готовых сцен, так и гайдов по их созданию и общей работе с UE.
Предполагается что администратор знаком с принципами работы с UE и имеет представление о работе различных протоколов передачи видео (RTSP, RTMP, NDI).
Для корректного восприятия и наложения итогового изображения вторым слоем для каждой сцены необходимо провести ручную конфигурацию, используя встроенные инструменты UE и итоговую картинку с OBS.