Перейти к основному содержимому

5-1 Плагин для OBS Studio с поддержкой ONVIF-камер как источника видео и PTZ управления ими

Т5-1

АтрибутЗначение
ТипПрограммный проект (рабочий)
Максимальная оценка10 баллов (рабочий проект)
ОписаниеИсследование: интеграция IP-камер стандарта ONVIF в OBS Studio.
Продукт: плагин для OBS Studio, позволяющий использовать ONVIF-камеры как источники видео и управлять ими (PTZ — поворот, наклон, зум) прямо из интерфейса OBS.
Цель продуктаРасширить функциональность OBS Studio, добавив поддержку промышленных IP-камер (видеонаблюдения, PTZ) для профессиональных трансляций, стриминга, видеоконференций и умных классов.
Целевая аудиторияСтримеры, видеоблогеры, организаторы онлайн-событий, преподаватели, интеграторы AV-решений, службы трансляций, умный город, корпоративные пользователи.
Технологии (рекомендуемые)C++ (основной язык плагинов OBS), Python (второстепенный язык плагинов), Qt (опционально для UI), HTML/CSS (для доков в OBS), ONVIF (SOAP/HTTP), RTSP, GStreamer, Windows/Linux (целевые ОС)

5-2 "Рога"

Устройство на основе штатива или штативной головы, установленной на столе. В зависимости от выбранного пути решения задачи либо самостоятельное сетевое устройство с поддержкой ONVIF/VISCA, либо подключаемый к компьютеру контроллер.

Т5-2

АтрибутЗначение
ТипПрограммно-аппаратный проект (рабочий)
Максимальная оценка10 баллов (рабочий проект)
ОписаниеИсследование: неестественность управления PTZ-камерами с джойстика. Продукт: эргономичное рабочее место оператора PTZ-камеры на основе штативной головы, повторяющее кинематику ручной камеры. Система преобразует физические движения головы штатива в команды ONVIF/VISCA для удалённой камеры. Интеграция с Bitfocus Companion и AI-трекером.
Цель продуктаСоздание интуитивного интерфейса управления PTZ-камерами, имитирующего поведение операторской камеры, для плавного, естественного слежения за объектами (например, спикером) в условиях студии, лекционного зала или трансляции.
Целевая аудиторияОператоры видеосъёмки, организаторы онлайн-трансляций, преподаватели, AV-интеграторы, службы трансляций, умный класс, корпоративные пользователи, студии стриминга.
Технологии (рекомендуемые)Arduino/Raspberry Pi/ESP32, датчики угла (гироскоп/энкодер), штативная голова, кнопки/джойстик зума, Python/C++, ONVIF/VISCA, REST API, WebSocket, Bitfocus Companion, FFmpeg (опционально), веб-интерфейс, Docker, HID-эмуляция (опционально), Ethernet/Wi-Fi.

При съемке PTZ камерами есть серьезное ограничение: движения камер при управлении с джойстика механические, сильно отличаются от динамики операторских камер. Это особенно заметно, когда оператору нужно следить за человеком на относительно крупных планах.

Предлагается два решения этой проблемы: PTZ-трекер, который автоматически "ведет" выбранного человека на заданном плане (это проект Мастерской видеотехнологий, руководитель @Моисеев Михаил Васильевич ), и ручное управление камерой, эргономически повторяющее управление классической штативной камерой: штативная голова с ручкой (или двумя ручками) с пультом, позволяющим управлять зумом и переключать режимы работы устройства (например, переключаться между камерами, сбрасывать позицию и тд).

Требуется собрать на основе штатива (головы штатива) рабочее место оператора PTZ камеры: поворот штатива дает команду на соответствующий поворот камеры. Предложить решение (по умолчанию -- на основе компьютерной мышки). Взаимодействие с Bitfocus Companion.

Если датчиком движения будет выступать контроллер/оптическая система мышки, то проект нужно рассматривать в контексте работы с Bitfocus Companion, который используется в IP-видеокомплексах. Там нет поддержки HID Report, про это есть отдельная тема.

Минимальный вариант:

  1. Управление панорамированием и наклоном камеры по положению ручки (головы) штатива.
  2. Управление зумом камеры с установленного на ручке штатива устройства ввода (минимально -- кнопочного, но правильнее -- рычажкового, с вариативной скоростью)
  3. Выбор режима работы контроллера (отключен / включен / трекер). При переходе в режим "включен" текущее положение головы штатива будет соответствовать текущему положению камеры. "Трекер" - это вызов внешнего AI трекера (запрос API).

Полный вариант:

  1. Выбор камеры (если устройство включает вывод потока на экран, то выбранная камера показывается на экране).
  2. Выбор / запись пресетов

5-3 Студийный рекордер

Мастер-сервис для управления экземплярами RTSP-2-HDMI(SDI). Мастер-сервис должен оркестирировать запись по заранее созданной конфигурации. Интерфейс редактирования конфигурации. Синхронизация по произвольному таймкоду или по NTP. Мультиплексирование аудиодорожек между записями.

Т5-3

АтрибутЗначение
ТипПрограммно-сетевой проект (рабочий)
Максимальная оценка10 баллов (рабочий проект)
ОписаниеИсследование: отсутствие синхронизированной многоканальной записи сетевых видеопотоков без перекодирования. Продукт: сетевой видеорекордер (NVR) для студийной съёмки, обеспечивающий одновременную запись нескольких RTSP-потоков с точной синхронизацией по таймкоду и гибким выбором аудиодорожки из одного из потоков.
Цель продуктаСоздание решения для профессиональной многокамерной съёмки, позволяющего записывать все потоки без перекодирования, с точным сведением по времени и звуку — как в полноценных студийных условиях, но на базе IP-камер и сетевой инфраструктуры.
Целевая аудиторияОператоры студийных съёмок, организаторы трансляций, AV-инженеры, преподаватели, интеграторы СКУД/AV, службы трансляций, умный класс, корпоративные продакшены, студии стриминга.
Технологии (рекомендуемые)Python (FastAPI/Flask), Docker, Kubernetes (опционально), FFmpeg (без перекодирования, copy), RTSP, HLS/MPEG-TS, NTP, Prometheus/Grafana/VictoriaMetrics, Alertmanager, WebSocket, REST API, PostgreSQL/SQLite, веб-интерфейс (React/Vue), systemd, Bash/Ansible (управление ВМ), Python-библиотеки для анализа медиа (например, pyav), JSON-конфигурации.

Для полноценных съемок требуется запись всех видеопотоков с сведением их по таймкоду начала и по звуку. В серьезных продакшенах для этого применяются отдельные физические сервера записи несжатых видеосигналов. В сетевой потоковой передачи для записи видео используются различные физические или программные сетевые видеорекордеры (NVR). Большинство таких рекордеров предназначены для записи с перекодированием набора видеопотоков без сведения по времени и звуку - как камера отдает поток, так и пишем. Требуется создать сетевой видеорекордер предназначенный для студийной записи сетевых видеопотоков без перекодирования. Важнейшим требованием является сведение по единому таймкоду, а также возможность выбора из какого медиапотока, среди записываемых забирается аудиодорожка.

5-4 Видеостанция

Есть макет в виде металлического ящика (электрощитка) для установки на стену (или стенку стола), включающий минимально одноплатный компьютер OrangePi 5+ и экстендер (удлинитель) HDMI сигнала для проектора.

Программная составляющая -- единая программная платформа на базе OBS.

Т5-4

АтрибутЗначение
ТипПрограммно-аппаратный проект (рабочий)
Максимальная оценка10 баллов (рабочий проект)
ОписаниеИсследование: необходимость надежных, необслуживаемых видеостанций для автоматизированной съемки в лекционных и семинарских аудиториях. Продукт: видеостанция на базе OrangePi 5+ — компактный, защищённый, стабильный программно-аппаратный комплекс на базе OBS, обеспечивающий локальную и удалённую коммутацию, запись и трансляцию с PTZ-камер и микрофонов.
Цель продуктаСоздание стандартизированного, масштабируемого решения для автоматизации видеосъёмки в 10 помещениях МИЭМ: стабильная работа без локального обслуживания, защита от вмешательства пользователей, поддержка удалённого управления и локального мониторинга.
Целевая аудиторияСлужба трансляций МИЭМ, преподаватели, организаторы онлайн-событий, AV-инженеры, интеграторы умных аудиторий.
Технологии (рекомендуемые)OrangePi 5+ (ARM), Armbian/Ubuntu, OBS Studio (через libobs или headless), Docker, Python, REST API, WebSocket, HDMI Extender (HDBaseT), PoE-коммутатор (опционально), GPIO, сенсорный экран (опционально), UPS (опционально), Prometheus/Grafana (мониторинг), NTP, SSH, Ansible, 3D-печать/механический корпус, кабель-каналы, IP-камеры (ONVIF), IP-микрофоны.

Видеостанция -- программно-аппаратный комплекс на базе OrangePi 5+ для обеспечения локальной работы видеозалов. Включает коробку с одноплатником и прочими необходимыми элементами, PTZ камеры и микрофон в помещении. В полной версии в коробке может помещаться коммутатор PoE для подключения камер.

В МИЭМ есть 10 помещений (2 лекционные, 7 семинарских комнат, 1 зал на -1 этаже), где могут быть установлены такие комплексы. Они уже оснащены камерами и микрофонами, дело за "ящиком" с компьютером.

Есть ранний прототип. Программная часть -- единая платформа на основе OBS.

Специфика проекта: в базовой версии это необслуживаемая (локально) установка. Работает либо автоматически по расписанию, либо через удаленное подключение: мультиэкран передаётся на рабочее место режиссера, команды с пульта/джойстика передаются от режиссера в OBS и камеры.

Устройство должно работать надежно без обслуживания, нужно исключить перегрев и другие факторы, влияющие на стабильность работы устройства (видеостанции).

Установка должна исключать возможность воздействия пользователей на коммутацию. В имеющейся версии это решается помещением начинки в металлический запираемый корпус и подведением вплотную к нему кабель-каналов -- так выдернуть провод будет проблематично.

5-5 Переносная телестудия

В этом проекте критически важна обкатка на практике. Никакие лабораторные эксперименты не подтверждают пригодность устройства к работе на площадке. Поэтому здесь "удаленная разработка" не принесет пользы, этот проект -- про внедрение, понимание процесса, для которого создано устройство, исправление проблем, опять проверка на практике, сбор обратной связи от целевых пользователей и так далее. ПТС не имеет права на ошибку -- съемки невозможно "перепровести".

Т5-5

Переносная телестудия (ПТС) -- это "чемодан" с одноплатным компьютером, коммутатором PoE, пультом MIDI и монитором, в комплект также входит джойстик Pelco/RS485. Все это уже собрано, работает и даже бывало на съемках.

В этом проекте почти вся работа -- программная, по доведению UX устройства до ума. Основная часть программной начинки уже готова, это единая платформа на основе OBS, она применяется также в Видеостанции, Операторской камере, в АСБ (аппаратной комнате телестудии).

ПТС предназначена для быстрого развертывания на месте съемки: камеры включаются прямо в неё, она образует сеть, является рабочим местом режиссера и оператора. Если на съемке есть и режиссер, и оператор, то два таких чемодана могут работать в паре с разделением ролей, сеть формирует тогда один из них.

Задача этого проекта -- довести программную часть до автоматизма при запуске, проработать сценарии работы с этим устройством в разных его режимах (режиссер, оператор, инженер, ассистент режиссера). Продумать и реализовать сценарии и инструменты настройки ПТС и взаимодействия между собой.

5-6 Модуль RTSP-SDI

Устройство в корпусе 2U с двумя одноплатными компьютерами Jetson Nano, четырьмя конвертерами HDMI-SDI и блоками питания. Питание устройства -- 220 В.Устройство будет конфигурироваться через web-интерфейс. Для сконфигурированного устройства дополнительные действия после включения не требуются.

Т5-6

Мы работаем с IP-камерами, они на выходе отдают RTSP поток. Но при работе с телевизионным производством эти потоки бесполезны -- там работают с сигналами (SDI). Чтобы использовать потоки от IP камер, не имеющих выхода SDI/HDMI, сделали декодер потока на базе NVidia Jetson Nano. То есть, программная часть готова, платформа в работе уже была проверена на настоящих съемках.

Задача этого проекта -- "упаковать" это изделие в корпус. Jetson помещается в 2х-юнитовый корпус, при этом, в корпус поместится два таких одноплатника, каждый из которых может декодировать по два потока.

5-7 DIY Streamdeck

  • Устройство в настольном корпусе.
  • Прототип устройства в стоечном исполнении
  • Комплект ПО для работы с устройством
  • Установка в аппаратной комнате Медиацентра МИЭМ в качестве пульта выбора комнат, камер или каналов записи рекордера (конкретные задачи выбираются ближе к этапу внедрения).

Т5-7

Помимо привычных клавиатур, существуют пульты с управляемой подсветкой кнопок (MIDI) и пульты с выводом изображений на кнопки. Первые такие пульты делались с использованием миниатюрных OLED дисплеев, получилось дорого, сложно в программной поддержке, развития такая конструкция не получила.

Позднее появился пульт Elgato Streamdeck, где тот же эффект достигался значительно проще: прозрачные кнопки просто помещаются поверх IPS экрана. Появились аналогичные устройства других производителей.

Задача этого проекта освоить технологию изготовления такого пульта на основе сенсорного сенсорного экрана, чтобы воспроизводить такие пульты в нужном размере и форм-факторе. Тип сенсора (резистивный или ёмкостной) предстоит выбрать.

Использование сенсорного экрана позволяет использовать штатное ПО от Streamdeck, поэтому в данном проекте основная роль у инженера-конструктора: нужно придумать способ изготовления и крепления кнопок, которые бы создавали нажатие на сенсорном экране.

Вложения